Cet article explore le chiffon agentique, une technique puissante qui améliore les modèles de gros langues (LLM) en combinant les capacités de prise de décision de l'IA agentique avec l'adaptabilité de la génération auprès de la récupération (RAG). Contrairement aux modèles traditionnels limités par leurs données de formation, l'agence RAG permet aux LLMS d'accéder et de raisonner indépendamment avec des informations provenant de diverses sources. Ce guide pratique se concentre sur la construction d'un pipeline de chiffon pratique à l'aide de Langchain.
Construire un pipeline de chiffon agentique avec Langchain
Les étapes suivantes détaillent la création d'un pipeline de chiffon, illustré par le diagramme d'architecture ci-dessous:
Requête utilisateur: Le processus commence par la question d'un utilisateur, en initiant le pipeline.
Route de requête: Le système détermine s'il peut répondre à la requête en utilisant les connaissances existantes. Une réponse positive donne une réponse immédiate; Sinon, la requête procède à la recherche de données.
Retrievale de données: Le pipeline accède à deux sources potentielles:
Bâtiment de contexte: Les données récupérées (à partir du PDF ou du Web) sont compilées dans un contexte cohérent, en assemblant des informations pertinentes.
Génération de réponses: Ce contexte compilé est alimenté à un modèle de langue large (LLM) pour générer une réponse précise et informative.
Configuration de l'environnement
Avant de commencer, assurez-vous que vous avez ce qui suit:
Installez les packages Python nécessaires:
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
Enregistrer en toute sécurité les clés d'API dans un fichier .env
(exemple):
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
Le code utilise diverses bibliothèques pour: Interaction du système d'exploitation (os
), chargement de variables d'environnement (dotenv
), gestion de la base de données vectorielle (FAISS
), PDF Traitement (PyPDFLoader
), Crassage de texte (RecursiveCharacterTextSplitter
), Génération d'embeding (HuggingFaceEmbeddings
), LLM Interaction (ChatGroq
, LLM
),, recherche Web (SerperDevTool
, et agent,, et agent orchestration (ScrapeWebsiteTool
, Agent
, Task
). Crew
LLM Initialisation et prise de décision
Deux LLM sont initialisés: (en utilisant llm
) pour les tâches générales et llama-3.3-70b-specdec
(en utilisant crew_llm
) pour le grattage Web. Une fonction gemini/gemini-1.5-flash
agit comme un routeur, déterminant si une réponse locale est suffisante en fonction du contexte fourni. check_local_knowledge()
Base de données de grattage Web et de données vectorielle
Un agent de grattage Web, construit à l'aide de la bibliothèque, récupère et résume le contenu Web pertinent. La fonction crewai
crée une base de données vectorielle FAISS à partir du PDF, permettant des recherches de similitude efficaces. setup_vector_db()
récupère les 5 meilleurs morceaux les plus pertinents de la base de données. get_local_content()
Génération de réponses et fonction principale
La fonction utilise le LLM pour créer la réponse finale basée sur le contexte rassemblé. La fonction generate_final_answer()
orchestre l'ensemble du processus, la gestion du routage des requêtes, la récupération de contexte et la génération de réponses. Un exemple de requête ("Qu'est-ce que le chiffon agentique?") Démontre la capacité du système à intégrer des informations locales et Web pour une réponse complète. La sortie présente la capacité du système à fournir une explication détaillée du chiffon agentique, même lorsque les informations ne sont pas directement présentes dans le PDF local. main()
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!