Créer des applications LLM à l'aide de LangChain

Cette page explique comment créer des applications basées sur un LLM à l'aide de LangChain. Les présentations de cette page renvoient vers des guides de procédure dans GitHub.

Qu'est-ce que LangChain ?

LangChain est un framework d'orchestration LLM qui aide les développeurs à créer des applications d'IA générative ou des workflows de génération augmentée de récupération (RAG). Il fournit la structure, les outils et les composants permettant de simplifier les workflows LLM complexes.

Pour en savoir plus sur LangChain, consultez la page Google LangChain. Pour en savoir plus sur le framework LangChain, consultez la documentation de LangChain.

Composants LangChain pour Memorystore pour Redis

Memorystore pour Redis propose les interfaces LangChain suivantes:

Découvrez comment utiliser LangChain avec le guide de démarrage rapide de LangChain pour Memorystore pour Redis.

Vector Store pour Memorystore pour Redis

Vector Store récupère et stocke les documents et les métadonnées d'une base de données vectorielle. Vector Store permet à une application d'effectuer des recherches sémantiques qui interprètent la signification d'une requête utilisateur. Ce type de recherche est appelé recherche vectorielle, et permet de trouver des sujets correspondant à la requête sur le plan conceptuel. Au moment de la requête, le datastore récupère les vecteurs de représentation vectorielle continue les plus semblables à la représentation vectorielle continue de la requête de recherche. Dans LangChain, un magasin de données vectorielles se charge de stocker les données intégrées et d'effectuer la recherche vectorielle à votre place.

Pour utiliser le magasin de données vectorielles dans Memorystore pour Redis, utilisez la classe RedisVectorStore.

Pour en savoir plus, consultez la documentation du produit concernant les magasins LangChain Vector.

Guide de procédure pour les magasins vectoriels

Le guide de Memorystore pour Redis pour le magasin de données vectorielles vous explique comment effectuer les opérations suivantes:

  • Installer le package d'intégration et LangChain
  • Initialiser un index vectoriel
  • Préparer les documents pour le datastore vectoriel
  • Ajouter des documents au magasin vectoriel
  • Effectuer une recherche de similarité (KNN)
  • Effectuer une recherche de similarité basée sur une plage
  • Effectuer une recherche en pertinence marginale maximale (ROR)
  • Utiliser le magasin de vecteurs en tant que retriever
  • Supprimer des documents du store de données vectorielles
  • Supprimer un index vectoriel

Chargeur de documents pour Memorystore pour Redis

Le chargeur de documents enregistre, charge et supprime des objets Document LangChain. Par exemple, vous pouvez charger des données à traiter dans des représentations vectorielles continues, et les stocker dans un stockage vectoriel ou les utiliser comme outil pour fournir un contexte spécifique aux chaînes.

Pour charger des documents à partir du chargeur de documents dans Memorystore pour Redis, utilisez la classe MemorystoreDocumentLoader. Utilisez la classe MemorystoreDocumentSaver pour enregistrer et supprimer des documents.

Pour en savoir plus, consultez la rubrique Chargeurs de documents LangChain.

Guide de procédure du chargeur de documents

Le guide de Memorystore pour Redis pour le chargeur de document vous explique comment effectuer les opérations suivantes:

  • Installer le package d'intégration et LangChain
  • Charger des documents à partir d'une table
  • Ajouter un filtre au chargeur
  • Personnaliser la connexion et l'authentification
  • Personnaliser la construction de documents en spécifiant les métadonnées et le contenu client
  • Utiliser et personnaliser un MemorystoreDocumentSaver pour stocker et supprimer des documents

Historique des messages de chat pour Memorystore pour Redis

Les applications de questions-réponses nécessitent un historique des éléments dits dans la conversation pour fournir du contexte à l'application afin de pouvoir répondre aux autres questions de l'utilisateur. La classe ChatMessageHistory de LangChain permet à l'application d'enregistrer des messages dans une base de données et de les récupérer si nécessaire pour formuler des réponses supplémentaires. Un message peut être une question, une réponse, une déclaration, un message d'accueil ou tout autre texte envoyé par l'utilisateur ou l'application au cours d'une conversation. ChatMessageHistory stocke chaque message et les enchaîne pour chaque conversation.

Memorystore pour Redis étend cette classe avec MemorystoreChatMessageHistory.

Guide de procédure concernant l'historique des messages de chat

Le guide Memorystore pour Redis concernant l'historique des messages de chat vous explique comment:

  • Installer LangChain et s'authentifier auprès de Google Cloud
  • Initialisez la classe MemorystoreChatMessageHistory pour ajouter et supprimer des messages.