Maison > Périphériques technologiques > IA > Assistant de recherche basé sur le chiffon utilisant O3-Mini et Crewai

Assistant de recherche basé sur le chiffon utilisant O3-Mini et Crewai

Joseph Gordon-Levitt
Libérer: 2025-03-05 10:12:15
original
450 Les gens l'ont consulté

Le dernier modèle d'Openai, O3-Mini, révolutionne les tâches de codage avec ses capacités avancées de raisonnement, de résolution de problèmes et de génération de code. Il gère efficacement les requêtes complexes et intègre des données structurées, établissant une nouvelle norme dans les applications d'IA. Cet article explore l'utilisation d'O3-Mini et de Crewai pour construire un agent d'assistant de recherche de génération (RAG) (RAG) de récupération qui récupère les informations de plusieurs PDF et traite les requêtes utilisateur intelligemment. Nous utiliserons CrewdoClingsource, Serperdevtool et O3-MinI d'Openai pour améliorer l'automatisation dans les flux de travail de recherche.

Table des matières

  • Construire l'agent de chiffon avec O3-MinI et Crewai
    • Prérequis
    • Étape 1: Installez les bibliothèques requises
    • Étape 2: Importer les modules nécessaires
    • Étape 3: API Set Steple
    • STAPE 4: STAPED> 5: Définissez le modèle AI
    • Étape 6: Configurer l'outil de recherche Web
    • Étape 7: Définir le modèle d'intégration pour la recherche de documents
    • Étape 8: Créer les agents AI
    • Étape 9: Définir les tasks pour les agents
    • Étape 10: Assemblez l'équipe Assistant
    • Conclusion
  • Questions fréquemment posées
  • Construire l'agent de chiffon avec O3-Mini et Crewai
Avec la publication écrasante de recherches, un assistant automatisé à base de chiffon peut aider les chercheurs à trouver rapidement des informations pertinentes sans parcourir manuellement des centaines d'articles. L'agent que nous allons construire traitera les PDF pour extraire les informations clés et répondra aux requêtes en fonction du contenu des documents. Si les informations requises ne sont pas trouvées dans les PDF, il effectuera automatiquement une recherche Web pour fournir des informations pertinentes. Cette configuration peut être étendue pour des tâches plus avancées, telles que le résumé de plusieurs articles, la détection des résultats contradictoires ou la génération de rapports structurés.

Dans ce guide pratique, nous construirons un agent de recherche qui passera par des articles sur Deepseek-R1 et O3-MinI, pour répondre aux requêtes que nous demandons sur ces modèles. Pour construire cet agent d'assistant de recherche, nous allons d'abord passer par les conditions préalables et installer l'environnement. Nous importerons ensuite les modules nécessaires, définirons les clés de l'API et chargerons les documents de recherche. Ensuite, nous allons définir le modèle d'IA et y intégrer l'outil de recherche Web. Enfin, nous allons créer des agents de l'AI, définir leurs tâches et assembler l'équipage. Une fois prêt, nous dirigerons l'agent d'assistant de recherche pour savoir si O3-MinI est meilleur et plus sûr que Deepseek-R1.

Prérequis

Avant de plonger dans la mise en œuvre, passons brièvement ce dont nous avons besoin pour commencer. Avoir la bonne configuration assure un processus de développement en douceur et évite les interruptions inutiles.

Alors, assurez-vous que vous avez:

  • un environnement python fonctionnel (3,8 ou plus)
  • Clés API pour OpenAI et serper (API Google Scholar)

Avec ceux-ci en place, nous sommes prêts à commencer à construire!

Étape 1: Installer les bibliothèques requises

Tout d'abord, nous devons installer les bibliothèques nécessaires. Ces bibliothèques fournissent les bases du traitement des documents, de l'orchestration d'agent AI et des fonctionnalités de recherche sur le Web.

!pip install crewai
!pip install 'crewai[tools]'
!pip install docling
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ces bibliothèques jouent un rôle crucial dans la construction d'un assistant de recherche efficace sur l'IA.

  • Crewai fournit un cadre robuste pour la conception et la gestion des agents de l'IA, permettant la définition de rôles spécialisés et permettant une automatisation de recherche efficace. Il facilite également la délégation des tâches, garantissant une collaboration fluide entre les agents de l'IA.
  • De plus, Crewai [Outils] installe des outils essentiels qui améliorent les capacités des agents d'IA, leur permettant d'interagir avec les API, d'effectuer des recherches Web et de traiter les données de manière transparente.
  • Doculing se spécialise dans l'extraction des connaissances structurées des documents de recherche, ce qui le rend idéal pour le traitement des PDF, des articles académiques et des fichiers textuels. Dans ce projet, il est utilisé pour extraire les résultats clés des articles de recherche ArXIV.

Étape 2: Importer les modules nécessaires

import os
from crewai import LLM, Agent, Crew, Task
from crewai_tools import SerperDevTool
from crewai.knowledge.source.crew_docling_source import CrewDoclingSource
Copier après la connexion
Copier après la connexion
Copier après la connexion

En cela,

  • Le module OS gère en toute sécurité les variables environnementales comme les clés d'API pour l'intégration en douceur.
  • LLM alimente le raisonnement AI et la génération de réponse.
  • L'agent définit des rôles spécialisés pour gérer efficacement les tâches.
  • Crew gère plusieurs agents, assurant une collaboration transparente.
  • La tâche attribue et suit les responsabilités spécifiques.
  • Serperdevtool permet les recherches de Google Scholar, améliorant la récupération de référence externe.
  • CrewDoclingSource intègre des documents de recherche, permettant une extraction et une analyse structurées de connaissances.

Étape 3: Définissez les touches API

os.environ['OPENAI_API_KEY'] = 'your_openai_api_key'
os.environ['SERPER_API_KEY'] = 'your_serper_api_key'
Copier après la connexion
Copier après la connexion
Copier après la connexion

comment obtenir des clés d'API?

  1. Clé API OpenAI: Inscrivez-vous à Openai et obtenez une clé API.
  2. Clé API Serper: Inscrivez-vous sur serper.dev pour obtenir une clé API.

Ces clés d'API permettent d'accéder aux modèles d'IA et aux capacités de recherche Web.

Étape 4: Documents de recherche de chargement

Dans cette étape, nous chargerons les articles de recherche d'ARXIV, permettant à notre modèle d'IA de leur en tirer des informations. Les articles sélectionnés couvrent les sujets clés:

  1. https://arxiv.org/pdf/2501.12948: explore les capacités de raisonnement incitatifs dans les LLM par l'apprentissage du renforcement (Deepseek-R1).
  2. https://arxiv.org/pdf/2501.18438: Compare la sécurité de O3-MinI et Deepseek-R1.
  3. https://arxiv.org/pdf/2401.02954: discute des modèles de langage de source ouverte à l'échelle avec une perspective à long terme.
content_source = CrewDoclingSource(
    file_paths=[
        "https://arxiv.org/pdf/2501.12948",
        "https://arxiv.org/pdf/2501.18438",
        "https://arxiv.org/pdf/2401.02954"
    ],
)
Copier après la connexion
Copier après la connexion

Étape 5: Définissez le modèle AI

Maintenant, nous allons définir le modèle AI.

!pip install crewai
!pip install 'crewai[tools]'
!pip install docling
Copier après la connexion
Copier après la connexion
Copier après la connexion
  • O3-MinI: un puissant modèle d'IA pour le raisonnement.
  • température = 0: assure des sorties déterministes (même réponse pour la même requête).

Étape 6: Configurer l'outil de recherche Web

Pour améliorer les capacités de recherche, nous intégrons un outil de recherche Web qui récupère les documents académiques pertinents lorsque les informations requises ne sont pas trouvées dans les documents fournis.

import os
from crewai import LLM, Agent, Crew, Task
from crewai_tools import SerperDevTool
from crewai.knowledge.source.crew_docling_source import CrewDoclingSource
Copier après la connexion
Copier après la connexion
Copier après la connexion
  1. search_url = ”https://google.serper.dev/scholar”

Cela spécifie le point de terminaison de l'API de recherche Google Scholar.

    n_results = 2
Ce paramètre limite le nombre de résultats de recherche renvoyés par l'outil, garantissant que seules les informations les plus pertinentes sont récupérées. Dans ce cas, il est sur le point de réapprendre les deux principaux articles de recherche de Google Scholar, en hiérarchisant les sources académiques de haute qualité. En réduisant le nombre de résultats, l'assistant maintient les réponses concises et efficaces, évitant la surcharge d'informations inutile tout en maintenant la précision.

Étape 7: Définissez le modèle d'intégration pour la recherche de documents

Pour récupérer efficacement les informations pertinentes à partir de documents, nous utilisons un modèle d'intégration qui convertit le texte en représentations numériques pour la recherche basée sur la similitude.

os.environ['OPENAI_API_KEY'] = 'your_openai_api_key'
os.environ['SERPER_API_KEY'] = 'your_serper_api_key'
Copier après la connexion
Copier après la connexion
Copier après la connexion
L'intégration dans Crewai est utilisé pour convertir le texte en représentations numériques (intégres), permettant une récupération de documents efficace et une recherche sémantique. Dans ce cas, le modèle d'incorporation est fourni par OpenAI, en particulier à l'aide de «Text-Embedding-ADA-002», un modèle bien optimisé pour générer des incorporations de haute qualité. La clé API est récupérée des variables d'environnement pour authentifier les demandes.

Crewai prend en charge plusieurs fournisseurs d'intégration, y compris OpenAI et Gemini (modèles d'IA de Google), permettant la flexibilité de choisir le meilleur modèle en fonction de la précision, des performances et des considérations de coûts.

Étape 8: Créez les agents AI

Maintenant, nous allons créer les deux agents d'IA requis pour notre tâche de recherche: l'agent de recherche de documents et l'agent de recherche Web.

L'agent de recherche de documents est chargé de récupérer les réponses des documents de recherche et des documents fournis. Il agit comme un expert dans l'analyse du contenu technique et l'extraction d'informations pertinentes. Si les informations requises ne sont pas trouvées, elle peut déléguer la requête à l'agent de recherche Web pour une exploration plus approfondie. Le paramètre perte_delegation = true permet ce processus de délégation.

!pip install crewai
!pip install 'crewai[tools]'
!pip install docling
Copier après la connexion
Copier après la connexion
Copier après la connexion

L'agent de recherche Web, en revanche, est conçu pour rechercher des informations manquantes en ligne à l'aide de Google Scholar. Il n'approche que lorsque l'agent de recherche de documents ne trouve pas de réponse dans les documents disponibles. Contrairement à l'agent de recherche de documents, il ne peut pas déléguer davantage les tâches (allow_delegation = false). Il utilise Serper (Google Scholar API) comme outil pour récupérer les articles académiques pertinents et assurer des réponses précises.

import os
from crewai import LLM, Agent, Crew, Task
from crewai_tools import SerperDevTool
from crewai.knowledge.source.crew_docling_source import CrewDoclingSource
Copier après la connexion
Copier après la connexion
Copier après la connexion

Étape 9: Définissez les tâches des agents

Maintenant, nous allons créer les deux tâches pour les agents.

La première tâche implique de répondre à une question donnée en utilisant des documents de recherche et des documents disponibles.

Tâche 1: Extraire les informations des documents

os.environ['OPENAI_API_KEY'] = 'your_openai_api_key'
os.environ['SERPER_API_KEY'] = 'your_serper_api_key'
Copier après la connexion
Copier après la connexion
Copier après la connexion

La tâche suivante entre en jeu lorsque la recherche basée sur le document ne donne pas de réponse.

Tâche 2: Effectuez la recherche Web si nécessaire

content_source = CrewDoclingSource(
    file_paths=[
        "https://arxiv.org/pdf/2501.12948",
        "https://arxiv.org/pdf/2501.18438",
        "https://arxiv.org/pdf/2401.02954"
    ],
)
Copier après la connexion
Copier après la connexion

Étape 10: assembler l'équipage

L'équipage de Crewai gère les agents à effectuer efficacement les tâches en coordonnant l'agent de recherche de documents et l'agent de recherche Web. Il recherche d'abord dans les documents téléchargés et délégue à la recherche Web si nécessaire.

  • Knowledge_sources = [content_source] fournit des documents pertinents,
  • Embedder = Embedder permet la recherche sémantique, et
  • Verbose = True Logs Actions pour un meilleur suivi, assurant un flux de travail fluide.
llm = LLM(model="o3-mini", temperature=0)
Copier après la connexion

Étape 11: Exécutez l'assistant de recherche

La requête initiale est dirigée vers le document pour vérifier si l'agent du chercheur peut fournir une réponse. La question posée est «O3-Mini vs Deepseek-R1: Lequel est plus sûr?»

Exemple de requête 1:

serper_tool = SerperDevTool(
    search_url="https://google.serper.dev/scholar",
    n_results=2  # Fetch top 2 results
)
Copier après la connexion

Réponse :

Assistant de recherche basé sur le chiffon utilisant O3-Mini et Crewai

Ici, nous pouvons voir que la réponse finale est générée par le chercheur de documents, car il a trouvé avec succès les informations requises dans les documents fournis.

Exemple de requête 2:

Ici, la question "laquelle est le mieux, O3 Mini ou Deepseek R1?" n'est pas disponible dans le document. Le système vérifiera si l'agent de recherche de documents peut trouver une réponse; Sinon, il déléguera la tâche à l'agent de recherche Web

embedder = {
    "provider": "openai",
    "config": {
        "model": "text-embedding-ada-002",
        "api_key": os.environ['OPENAI_API_KEY']
    }
}
Copier après la connexion

Réponse :

Assistant de recherche basé sur le chiffon utilisant O3-Mini et Crewai

À partir de la sortie, nous observons que la réponse a été générée à l'aide de l'agent du chercheur Web car les informations requises n'ont pas été trouvées par l'agent du chercheur de documents. De plus, il comprend les sources à partir desquelles la réponse a finalement été récupérée.

Conclusion

Dans ce projet, nous avons réussi à construire un assistant de recherche alimenté par l'IA qui récupère et analyse efficacement les informations des articles de recherche et du Web. En utilisant Crewai pour la coordination des agents, la docitation du traitement des documents et le serper pour la recherche universitaire, nous avons créé un système capable de répondre à des requêtes complexes avec des idées structurées.

L'assistant recherche d'abord dans les documents et délégue de manière transparente à la recherche Web si nécessaire, garantissant des réponses précises. Cette approche améliore l'efficacité de la recherche en automatisant la récupération et l'analyse des informations. De plus, en intégrant l'assistant de recherche O3-Mini avec CrewdoclingSource de Crewai et Serperdevtool, nous avons encore amélioré les capacités d'analyse des documents du système. Avec une personnalisation supplémentaire, ce cadre peut être étendu pour prendre en charge davantage de sources de données, de raisonnement avancé et d'amélioration des workflows de recherche.

Vous pouvez explorer des projets incroyables mettant en vedette Openai O3-MinI dans notre cours gratuit - démarrer avec O3-MinI!

Les questions fréquemment posées

Q1. Qu'est-ce que Crewai?

a. Crewai est un cadre qui vous permet de créer et de gérer des agents d'IA avec des rôles et des tâches spécifiques. Il permet à la collaboration entre plusieurs agents d'IA d'automatiser les workflows complexes.

Q2. Comment Crewai gère-t-il plusieurs agents?

a. Crewai utilise une approche structurée où chaque agent a un rôle défini et peut déléguer des tâches si nécessaire. Un objet d'équipage orchestre ces agents pour effectuer efficacement les tâches.

Q3. Qu'est-ce que Crewdoclingsource?

a. CrewDoclingSource est un outil de traitement des documents dans Crewai qui extrait les connaissances structurées des articles de recherche, des PDF et des documents textuels.

Q4. Qu'est-ce que l'api serper?

a. L'API Serper est un outil qui permet aux applications d'IA d'effectuer des requêtes de recherche Google, y compris les recherches sur Google Scholar pour les articles académiques.

Q5. L'API Serper est-elle libre à utiliser?

a. L'API Serper propose des plans gratuits et payants, avec des limitations sur le nombre de demandes de recherche dans le niveau gratuit.

Q6. Quelle est la différence entre l'API Serper et la recherche Google traditionnelle?

a. Contrairement à la recherche sur Google standard, l'API Serper fournit un accès structuré aux résultats de la recherche, permettant aux agents d'IA d'extraire efficacement les articles de recherche pertinents.

Q7. CrewDoclingSource peut-il gérer plusieurs formats de fichiers?

a. Oui, il prend en charge les formats de documents de recherche communs, y compris les PDF et les fichiers textuels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal