in

Intégrer Neo4j dans l’écosystème LangChain | par Tomaz Bratanic | Avr, 2023

[ad_1]
DÉVELOPPER UN AGENT LANGCHAIN POUR INTERAGIR AVEC LA BASE DE DONNÉES NEO4J

Dans un contexte où la précision des chatbots tels que ChatGPT peut être améliorée en leur fournissant des informations externes, la tendance actuelle est de transformer les modèles de grande envergure en agents capables d’interagir avec leur environnement à travers divers appels API ou autres intégrations. Bien que cette amélioration des modèles de langage soit relativement nouvelle, il existe une bibliothèque appelée LangChain qui permet de leur donner accès à divers outils et sources de données externes pour améliorer leurs réponses et leur permettre de manipuler leur environnement.

Bien qu’il n’y ait pas encore beaucoup de bibliothèques open-source pour améliorer les LLMs, LangChain est la bibliothèque la plus utilisée pour construire des applications autour de ChatGPT. Cependant, pour améliorer la précision de ces agents améliorés, il est crucial de leur donner accès à des sources de données externes et des outils pouvant aider à répondre à des questions qui ne figurent pas dans les ensembles de données publics. C’est précisément l’un des objectifs du projet de LangChain d’Ibis Prevedello qui utilise la recherche de graphe pour fournir un contexte externe supplémentaire capable d’améliorer les LLM. Le projet d’Ibis utilise la bibliothèque NetworkX pour stocker les informations du graphe.

Dans le cadre de cet article, l’auteur a utilisé Neo4j, une base de données en graphe, pour implémenter un agent LangChain qui peut interagir avec Neo4j dans trois modes différents : la génération de requêtes Cypher pour interroger la base de données, la recherche de mots-clés pertinents et la recherche de similarités de vecteurs associées.

Pour mettre en place cet environnement, l’auteur commence par configurer l’environnement Neo4j en utilisant le jeu de données recommandé fournissant une base de données de films. Ensuite, il faut cloner le référentiel de langchain2neo4j et créer un fichier .env contenant les informations de connexion à Neo4j et OpenAI. Enfin, il faut créer un index de recherche de texte intégral dans Neo4j et importer les données d’ancrage de titre de film.

Le flux des données de l’agent LangChain commence par la réception de l’entrée de l’utilisateur. L’agent envoie alors une demande à un modèle LLM qui inclut la question de l’utilisateur ainsi que les instructions de l’agent. En réponse, le LLM transmet des instructions supplémentaires à l’agent, qui peut utiliser divers outils pour recueillir des informations supplémentaires auprès de sources de données externes. Ces outils ne se limitent pas aux opérations de lecture seule, mais peuvent également mettre à jour une base de données. Après que l’outil a fourni un contexte supplémentaire, le LLM reçoit une autre demande qui inclut les nouvelles informations. Le LLM peut alors fournir une réponse finale à l’utilisateur ou décider qu’il doit effectuer d’autres actions grâce à ses outils disponibles.

Pour implémenter cet agent LangChain, il faut définir le modèle LLM à utiliser et ajouter un composant de mémoire conversationnelle. La bibliothèque LangChain prend en charge différents types d’agents, tels que les agents de conversation et les agents de recommandation. De plus, les agents LangChain utilisent les LLM pour leur raisonnement, il est donc nécessaire de spécifier le modèle LLM à utiliser, qui dans ce cas est ChatOpenAI. Pour créer un agent LangChain de type Conversation Agent (pour modèles de conversation), il faut ensuite ajouter des instructions de prompts, qui incluent des informations sur l’assistant et les outils utiles pour répondre à la question. Enfin, il faut définir les entrées de l’outil, qui décrivent à l’agent la manière dont le format de la question doit être entré pour chaque outil.

L’auteur a utilisé trois outils pour interagir avec Neo4j, dont l’outil de recherche Cypher qui permet de générer des requêtes pour interroger la base de données, l’outil de recherche par mot-clé pour trouver des entités pertinentes et l’outil de recherche de similarité de vecteurs. En utilisant ces outils, l’agent LangChain peut fournir des réponses plus précises et plus nuancées aux utilisateurs en utilisant les données externes disponibles.

[ad_2]

What do you think?

Written by Barbara

Leave a Reply

Your email address will not be published. Required fields are marked *

Jardin des habitudes pour mobile – Créez des habitudes que vous ne abandonnerez pas

Les autorités mettent en garde contre le défi TikTok du chewing-gum épicé qui rend les enfants malades.