In diesem Artikel wird Agentic Rag untersucht, eine leistungsstarke Technik, die Großsprachmodelle (LLMs) verbessert, indem die Entscheidungsfunktionen der Agenten-KI mit der Anpassungsfähigkeit der Abrufgeneration (RAG) kombiniert werden. Im Gegensatz zu herkömmlichen Modellen, die durch ihre Trainingsdaten begrenzt sind, ermöglicht Agentic Rag LLMs, mit Informationen aus verschiedenen Quellen unabhängig zugreifen und zu begründen. Dieser praktische Leitfaden konzentriert sich auf den Bau einer praktischen Lappenpipeline mit Langchain.
Erstellen einer agierenden Lappenpipeline mit Langchain
Die folgenden Schritte beschreiben die Erstellung einer Lappenpipeline, die durch das Architekturdiagramm unten dargestellt wird:
Benutzerabfrage: Der Prozess beginnt mit der Frage eines Benutzers, initiiert die Pipeline.
Abfragerouting: Das System bestimmt, ob es die Abfrage mit vorhandenem Wissen beantworten kann. Eine positive Antwort ergibt eine sofortige Antwort; Andernfalls fährt die Abfrage zum Abrufen von Daten fort.
Datenabnahme: Die Pipeline greift auf zwei potenzielle Quellen zu:
Kontextgebäude:
Abgerufene Daten (aus dem PDF oder Web) werden in einen kohärenten Kontext zusammengestellt, wobei relevante Informationen zusammengestellt werden.Antwortgenerierung:
Dieser kompilierte Kontext wird einem großen Sprachmodell (LLM) zugeführt, um eine präzise und informative Antwort zu generieren.Einrichten der Umgebung
Stellen Sie vor dem Start sicher, dass Sie Folgendes haben:
Installieren Sie die erforderlichen Python -Pakete:
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
.env
API -Schlüssel sicher in einer
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
The code utilizes various libraries for: operating system interaction (os
), environment variable loading (dotenv
), vector database management (FAISS
), PDF processing (PyPDFLoader
), text splitting (RecursiveCharacterTextSplitter
), embedding generation (HuggingFaceEmbeddings
), LLM interaction (ChatGroq
, LLM
), web searching (SerperDevTool
, ScrapeWebsiteTool
), and agent Orchestrierung (Agent
, Task
, Crew
).
LLM-Initialisierung und Entscheidungsfindung
Zwei LLMs werden initialisiert: llm
(mit llama-3.3-70b-specdec
) für allgemeine Aufgaben und crew_llm
(mit gemini/gemini-1.5-flash
) für Web -Scraping. Eine check_local_knowledge()
-Funktion fungiert als Router und stellt fest, ob eine lokale Antwort auf der Grundlage des bereitgestellten Kontexts ausreicht.
Web Scraping Agent und Vector -Datenbank
Ein Web -Scraping -Agent, das mit der crewai
Bibliothek erstellt wurde, ruft und fasst relevante Webinhalte zusammen. Die setup_vector_db()
-Funktion erstellt eine FAISS -Vektor -Datenbank aus der PDF, die eine effiziente Ähnlichkeitssuche ermöglicht. get_local_content()
ruft die 5 relevantesten Brocken aus der Datenbank ab.
Antwortgenerierung und Hauptfunktion
Die Funktion generate_final_answer()
verwendet das LLM, um die endgültige Antwort basierend auf dem gesammelten Kontext zu erstellen. Die main()
-Funktion organisiert den gesamten Prozess, bearbeitet das Routing von Abfragen, den Kontextabruf und die Antwortgenerierung. Eine Beispielabfrage ("Was ist Agentic Rag?") Zeigt die Fähigkeit des Systems, lokale und webbasierte Informationen für eine umfassende Antwort zu integrieren. Die Ausgabe zeigt die Fähigkeit des Systems, eine detaillierte Erklärung des Agentenlags zu liefern, auch wenn die Informationen im lokalen PDF nicht direkt vorhanden sind.
Diese überarbeitete Antwort liefert eine prägnantere und organisierte Erklärung der Agentenlag -Pipeline, wobei sich die wichtigsten Schritte und Funktionen konzentriert. Es verdeutlicht auch den Zweck und die Verwendung jedes Codesegments und der einzelnen Code -Bibliothek.
Das obige ist der detaillierte Inhalt vonGabeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!