Ich habe vor kurzem ein Open-Source-Projekt entdeckt, das eine großartige RAG Die Idee, dass es DeepSeek-R1
Die Argumentationsfähigkeit der Kombination von Agentic Workflow
Angewandt auf die RAG-Suche
Adresse des Projekts
https://github.com/deansaco/r1-reasoning-rag.git
Das Projekt wird durch eine Kombination folgender Maßnahmen durchgeführt DeepSeek-R1
undTavily
im Gesang antworten LangGraph
das einen KI-gesteuerten dynamischen Mechanismus für die Suche nach Informationen und die Beantwortung von Fragen implementiert, der sich auf deepseek
(in Form eines Nominalausdrucks) r1
Reasoning zum proaktiven Abrufen, Verwerfen und Synthetisieren von Informationen aus der Wissensbasis, um eine komplexe Frage vollständig zu beantworten
Alte vs. Neue RAG
Herkömmliche RAG (Retrieval Augmented Generation) ist ein wenig starr. Nachdem die Suche verarbeitet wurde, wird normalerweise ein Teil des Inhalts durch eine Ähnlichkeitssuche gefunden und dann nach dem Grad der Übereinstimmung neu geordnet, und die Informationen, die zuverlässig erscheinen, werden an ein großes Sprachmodell (LLM) gegeben, um die Antwort zu generieren. Dies hängt jedoch besonders von der Qualität des Umordnungsmodells ab, und wenn das Modell nicht stark ist, können leicht wichtige Informationen übersehen oder die falschen Informationen an das LLM weitergegeben werden, und die resultierende Antwort wird nicht zuverlässig sein.
vorhanden. LangGraph
Das Team hat das Verfahren erheblich verbessert, indem es die DeepSeek-R1
Die leistungsstarke Denkfähigkeit der KI hat die frühere unbewegliche Filtermethode in einen flexibleren und dynamischen Prozess verwandelt, der je nach Situation angepasst werden kann. Sie nennen dies "Agent Retrieval", das es der KI ermöglicht, nicht nur aktiv fehlende Informationen zu finden, sondern auch ihre eigene Strategie bei der Suche nach Informationen kontinuierlich zu optimieren, wodurch eine Art zyklischer Optimierungseffekt entsteht, so dass die an den LLM übergebenen Inhalte genauer werden.
Diese Verbesserung wendet die Konzepte des erweiterten Testzeit-Schlussfolgerns innerhalb des Modells auf den RAG-Abruf an und verbessert die Genauigkeit und Effizienz des Abrufs erheblich. Dieser neue Ansatz ist auf jeden Fall einen Blick wert für alle, die an RAG-Retrievaltechniken arbeiten!
Kerntechnologie und Highlights
DeepSeek-R1 Begründungen
aktualisiert DeepSeek-R1
ist ein leistungsfähiges Inferenzmodell
- Tiefgreifende Analyse von Informationsinhalten
- Bewertung der vorhandenen Inhalte
- Identifizierung fehlender Inhalte durch mehrere Runden von Schlussfolgerungen zur Verbesserung der Genauigkeit der Suchergebnisse
Tavily Sofortige Informationssuche
Tavily
Bieten sofortige Informationssuche, die das große Modell in der Vergangenheit die neuesten Informationen, die Erweiterung des Umfangs der Kenntnisse des Modells machen kann.
- Dynamischer Abruf, um fehlende Informationen zu ergänzen, statt sich nur auf statische Daten zu verlassen.
LangGraph Rekursiver Abruf (RR)
über Agentic AI
Mechanismus, der es dem großen Modell ermöglicht, nach mehreren Abruf- und Schlussfolgerungsrunden eine geschlossene Lernschleife zu bilden, mit dem folgenden allgemeinen Prozess:
- Der erste Schritt ist die Suche nach Informationen über das Problem
- Der zweite Schritt besteht darin, zu analysieren, ob die Informationen ausreichen, um die Frage zu beantworten.
- Schritt 3 Wenn die Informationen unzureichend sind, stellen Sie weitere Nachforschungen an.
- Schritt 4 Filtern Sie irrelevante Inhalte und behalten Sie nur gültige Informationen
wie 递归式
Retrieval-Mechanismus, um sicherzustellen, dass das große Modell die Abfrageergebnisse kontinuierlich optimieren kann, so dass die gefilterten Informationen vollständiger und genauer werden.
Quellcode-Analyse
Aus dem Quellcode geht hervor, dass es sich um drei einfache Dateien handelt:agent
undllm
undprompts
Agent
Der Kerngedanke dieses Abschnitts ist, dass create_workflow
diese Funktion
Sie definiert dies
workflow
Der Knoten der add_conditional_edges
Ein Teil der Definition ist die bedingte Kante, und die ganze Idee der Verarbeitung ist die rekursive Logik des Graphen vom Anfang
Wenn Sie nicht vertraut sind LangGraph
Wenn Sie das tun, können Sie sich die Informationen ansehen.
LangGraph
Das Konstrukt ist eine Graphen-Datenstruktur mit Knoten und Kanten, und seine Kanten können bedingt sein.
Nach jedem Abruf wird sie durch das große Modell gescreent, wobei unbrauchbare Informationen herausgefiltert werden (Filter Out Irrelevant Information), nützliche Informationen beibehalten werden (Retain Useful Information) und für die fehlenden Informationen (Identify Missing Information) ist es wieder Der Prozess wird so lange wiederholt, bis die gewünschte Antwort gefunden ist.
Aufforderungen
Es gibt zwei Hauptmerkmale, die hier definiert sind.VALIDATE_RETRIEVAL
Sie wird verwendet, um zu überprüfen, ob die abgerufenen Informationen die gestellte Frage beantworten können. Die Vorlage hat zwei Eingabevariablen: retrieved_context und question. Ihr Hauptzweck besteht darin, eine JSON-formatierte Antwort zu generieren, die anhand der angegebenen Textblöcke feststellt, ob sie Informationen enthält, die die Frage beantworten können.
ANSWER_QUESTION
Vorlage zur Beantwortung von Fragen: Wird verwendet, um einen Agenten zur Beantwortung von Fragen anzuweisen, eine Frage auf der Grundlage eines vorgegebenen Textblocks zu beantworten. Die Vorlage hat auch zwei Eingabevariablen: retrieved_context und question. Ihr Hauptzweck besteht darin, eine direkte und präzise Antwort auf der Grundlage der gegebenen Kontextinformationen zu geben.
llm
Hier ist es einfach, die Verwendung von r1
Modellierung
Es ist möglich, auf Modelle anderer Anbieter umzusteigen, zum Beispiel openrouter
kostenlos r1
Modellierung
Testwirkung
Ich habe hier ein separates Skript geschrieben, das nicht das Skript im Projekt verwendet und nach dem 《哪吒2》中哪吒的师傅的师傅是谁
Zuerst wird die Suche aufgerufen, um die Informationen zu suchen, und dann wird mit der Validierung der
Dann beginnt es mit der Analyse und erhält 哪吒的师父是太乙真人
Diese Informationen sind zutreffend, aber es wurden auch fehlende Informationen gefunden Die spezifische Identität oder der Name von Taiyis Meister (d. h. Nezhas Meister)
Anschließend wird nach den fehlenden Informationen gesucht, und die aus der Suche hervorgehenden Informationen werden analysiert und überprüft.
Später meldete es einen Fehler, weil das Netzwerk bei mir ausgefallen war, aber wie Sie auf dem Bild oben sehen können, hätte es diese wichtige Information finden können