In diesem Artikel wird Agentic Rag untersucht, einen leistungsstarken Ansatz, der die Entscheidungsfindung der Agenten-KI mit Rags Anpassungsfähigkeit für dynamische Informationsabruf und Generation kombiniert. Im Gegensatz zu herkömmlichen Modellen, die durch Schulungsdaten begrenzt sind, greifen Agentic Rag unabhängig voneinander auf und begründet mit Informationen aus verschiedenen Quellen. Dieser praktische Leitfaden konzentriert sich auf den Aufbau einer Langchain-basierten Lappenpipeline.
Agentes RAG-Projekt: Eine Schritt-für-Schritt-Anleitung
Das Projekt baut eine Lag -Pipeline nach dieser Architektur:
Benutzerabfrage: Der Prozess beginnt mit der Frage eines Benutzers.
Abfragerouting: Das System bestimmt, ob es mithilfe vorhandener Kenntnisse beantworten kann. Wenn ja, reagiert es direkt; Andernfalls fährt es zum Abrufen von Daten fort.
Datenabnahme: Die Pipeline greift auf zwei potenzielle Quellen zu:
Kontextgebäude: Abgerufene Daten werden in einen kohärenten Kontext zusammengestellt.
Antwortgenerierung: Dieser Kontext wird einem großen Sprachmodell (LLM) übertragen, um eine kurze und genaue Antwort zu generieren.
Einrichten der Umgebung
Voraussetzungen:
Installation:
Installieren Sie die erforderlichen Python -Pakete:
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
API -Schlüsselverwaltung: API -Schlüssel sicher in einer .env
-Datei (Beispiel unten):
import os from dotenv import load_dotenv # ... other imports ... load_dotenv() GROQ_API_KEY = os.getenv("GROQ_API_KEY") SERPER_API_KEY = os.getenv("SERPER_API_KEY") GEMINI = os.getenv("GEMINI")
Codeübersicht:
FAISS
Der Code verwendet mehrere Langchain -Komponenten: PyPDFLoader
Für die Vektordatenbank, RecursiveCharacterTextSplitter
für die PDF -Verarbeitung, HuggingFaceEmbeddings
für Text -Chunking, ChatGroq
für die Einbettung der Erzeugung, LLM
und SerperDevTool
für LLMs, crewai
für die Websuche und
Zwei LLMs werden initialisiert: llm
(Lama-3.3-70b-Specdec) für allgemeine Aufgaben und crew_llm
(Gemini/Gemini-1,5-Flash) für das Web-Scraping. A check_local_knowledge()
Funktionsrouten Abfragen basierend auf der Verfügbarkeit der lokalen Kontext. Ein Web -Scraping -Agent, der mit crewai
erstellt wurde, ruft und fasst Webinhalte zusammen. Eine Vektordatenbank wird von der PDF mit FAISS erstellt. Schließlich kombiniert generate_final_answer()
Kontext und Abfrage, um die endgültige Antwort zu erzeugen.
Beispiel Verwendung und Ausgabe:
Die Funktion main()
zeigt das Abfragen des Systems. Zum Beispiel die Abfrage "Was ist Agentic Rag?" Löst das Abkratzen von Websachen aus, was zu einer umfassenden Erklärung des Agentenlagers, seiner Komponenten, Vorteile und Einschränkungen führt. Die Ausgabe zeigt die Fähigkeit des Systems, aus verschiedenen Quellen dynamisch auf Informationen zuzugreifen und Informationen zu synthetisieren. Die detaillierte Ausgabe ist hier für die Kürze weggelassen, ist jedoch im ursprünglichen Eingang verfügbar.
Das obige ist der detaillierte Inhalt vonAsfafasfasfasfasf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!