AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

r1-reasoning-rag: neue Ideen für RAG auf der Grundlage von rekursiven Schlussfolgerungen aus gesammelten Informationen

Reasoning und rekursive Abfrage mit Deepseek-r1, Tavily und LangGraph

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-R1undTavily im Gesang antworten LangGraphdas 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:agentundllmundprompts

 

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_QUESTIONVorlage 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

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " r1-reasoning-rag: neue Ideen für RAG auf der Grundlage von rekursiven Schlussfolgerungen aus gesammelten Informationen
de_DEDeutsch