r1-reasoning-rag : nouvelles idées de RAG basées sur le raisonnement récursif à partir d'informations collectées

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

J'ai récemment découvert un projet open source qui fournit une excellente RAG L'idée qu'il DeepSeek-R1 La capacité de raisonnement de la combinaison de Agentic Workflow Appliqué à la recherche RAG

Adresse du projet
https://github.com/deansaco/r1-reasoning-rag.git

Le projet est mis en œuvre par le biais d'une combinaison de DeepSeek-R1,Tavily répondre en chantant LangGraphqui met en œuvre un mécanisme dynamique de recherche d'informations et de réponse basé sur l'intelligence artificielle, qui utilise la technologie deepseek (utilisé comme expression nominale) r1 Raisonnement pour extraire, écarter et synthétiser de manière proactive les informations de la base de connaissances afin de répondre complètement à une question complexe.

 

Ancien et nouveau RAG

La RAG (Retrieval Augmented Generation) traditionnelle est un peu rigide. En général, après le traitement de la recherche, certains contenus sont trouvés par le biais d'une recherche de similarité, puis réorganisés en fonction du degré de correspondance, et les éléments d'information qui semblent fiables sont transmis à un grand modèle de langage (LLM) afin de générer la réponse. Mais cela dépend particulièrement de la qualité du modèle de réorganisation, et si le modèle n'est pas solide, il est facile de manquer des informations importantes ou de transmettre des éléments erronés au LLM, et la réponse qui en résulte ne sera pas fiable.

présent . LangGraph L'équipe a apporté une amélioration importante à ce processus, en utilisant l'outil DeepSeek-R1 La puissante capacité de raisonnement de l'IA a transformé l'ancienne méthode de filtrage immobile en un processus plus flexible et dynamique qui peut être ajusté en fonction de la situation. Ils appellent cela la "recherche par agent", qui permet à l'IA non seulement de trouver activement les informations manquantes, mais aussi d'optimiser continuellement sa propre stratégie dans le processus de recherche d'informations, formant ainsi une sorte d'effet d'optimisation cyclique, de sorte que le contenu transmis au mécanisme d'apprentissage tout au long de la vie sera plus précis.

Cette amélioration applique en fait les concepts de raisonnement étendu sur le temps de test du modèle à la recherche RAG, ce qui améliore considérablement la précision et l'efficacité de la recherche. Cette nouvelle approche vaut vraiment la peine d'être étudiée par les personnes qui travaillent sur les techniques de recherche de RAG !

 

Technologie de base et faits marquants

DeepSeek-R1 Raisonnement

mis à jour DeepSeek-R1 est un modèle d'inférence puissant

  • Analyse approfondie du contenu de l'information
  • Évaluation du contenu existant
  • Identifier le contenu manquant par le biais de plusieurs cycles de raisonnement afin d'améliorer la précision des résultats de la recherche.

 

Recherche instantanée d'informations Tavily

Tavily Fournir une recherche d'informations instantanée, ce qui peut permettre au grand modèle de passer les informations les plus récentes, élargissant ainsi le champ des connaissances du modèle.

  • La recherche dynamique permet d'éliminer les informations manquantes plutôt que de s'appuyer uniquement sur des données statiques.

 

LangGraph Récupération récursive (RR)

à travers Agentic AI pour permettre au grand modèle de former un apprentissage en boucle fermée après plusieurs cycles de recherche et d'inférence, avec le processus général suivant :

  • La première étape consiste à rechercher des informations sur le problème
  • La deuxième étape consiste à analyser si les informations sont suffisantes pour répondre à la question.
  • Étape 3 En cas d'informations insuffisantes, effectuer des recherches complémentaires
  • Étape 4 Filtrer les contenus non pertinents et ne conserver que les informations valables

tels 递归式 Mécanisme de récupération pour garantir que le grand modèle puisse optimiser en permanence les résultats de la requête, en rendant les informations filtrées plus complètes et plus précises.

 

analyse du code source

D'après le code source, il s'agit de trois fichiers simples :agent,llm,prompts

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

 

Agent

L'idée centrale de cette section est que create_workflow cette fonction

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路 Il définit ceci workflow Le nœud du add_conditional_edges Une partie de la définition est le bord conditionnel, et l'idée même du traitement est la logique récursive du graphe vu au début

Si vous ne connaissez pas LangGraph Si c'est le cas, vous pouvez consulter les informations.
LangGraph La construction est une structure de données graphique avec des nœuds et des arêtes, et ses arêtes peuvent être conditionnelles.

 

Après chaque recherche, le grand modèle filtre les informations inutiles (Filter Out Irrelevant Information), retient les informations utiles (Retain Useful Information) et recherche les informations manquantes (Identify Missing Information). Le processus est répété jusqu'à ce que la réponse souhaitée soit trouvée.

invites

Deux indices principaux sont définis ici.VALIDATE_RETRIEVAL Il est utilisé pour vérifier que les informations extraites peuvent répondre à la question donnée. Le modèle comporte deux variables d'entrée : retrieved_context et question. Son objectif principal est de générer une réponse formatée JSON qui détermine si les informations contiennent ou non des informations permettant de répondre à la question sur la base des blocs de texte fournis. r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

ANSWER_QUESTIONCe modèle est utilisé pour demander à un agent de répondre à une question sur la base d'un bloc de texte fourni. Le modèle comporte également deux variables d'entrée : retrieved_context et question. Son objectif principal est de fournir une réponse directe et concise sur la base des informations contextuelles fournies.

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

llm

Ici, il est simple de définir l'utilisation de r1 modélisation

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

Il est possible de passer à des modèles fournis par d'autres vendeurs, par exemple openrouter gratuit r1 modélisation

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

 

effet du test

J'ai écrit ici un script séparé qui n'utilise pas celui du projet et qui pose des questions sur l'élément 《哪吒2》中哪吒的师傅的师傅是谁

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

Il appellera d'abord la recherche pour trouver les informations, puis il commencera à valider l'information.

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

Ensuite, il commencera à analyser et obtiendra 哪吒的师父是太乙真人 Ces informations sont valables, mais nous avons également trouvé des informations manquantes L'identité ou le nom spécifique du maître de Taiyi (c'est-à-dire le maître de Nezha)

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

Il recherche ensuite les informations manquantes et continue d'analyser et de vérifier les informations qui lui parviennent à l'issue de la recherche

r1-reasoning-rag:根据收集信息递归推理的 RAG 新思路

Il a signalé une erreur plus tard parce que le réseau était en panne de mon côté, mais comme vous pouvez le voir dans l'image ci-dessus, il aurait dû être en mesure de trouver cet élément d'information clé

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...