Créer des applications basées sur un LLM avec LangChain

Cette page explique comment créer des applications basées sur un grand modèle de langage (LLM) à l'aide de LangChain. Les présentations de cette page renvoient à des guides de procédure sur 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 par récupération (RAG). Il fournit la structure, les outils et les composants nécessaires pour simplifier les workflows LLM complexes.

Pour plus d'informations sur LangChain, consultez la page Google LangChain. Pour en savoir plus sur le framework LangChain, consultez la documentation produit LangChain.

Composants LangChain pour Memorystore for Redis Cluster

Memorystore for Redis Cluster propose les interfaces LangChain suivantes :

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

Magasin de vecteurs pour Memorystore for Redis Cluster

Le magasin de vecteurs récupère et stocke les documents et les métadonnées d'une base de données vectorielle. Le magasin de vecteurs 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. Elle permet de trouver des sujets correspondant à la requête du point de vue conceptuel. Au moment de la requête, le magasin de vecteurs récupère les vecteurs d'embedding qui ressemblent le plus à l'embedding de la requête de recherche. En LangChain, un magasin de vecteurs se charge de stocker les données intégrées et d'effectuer la recherche vectorielle pour vous.

Pour travailler avec le magasin de vecteurs dans Memorystore for Redis Cluster, utilisez la classe RedisVectorStore.

Pour en savoir plus, consultez la LangChain LangChain.

Guide de procédure pour le magasin de vecteurs

Le guide Memorystore for Redis Cluster pour le magasin de vecteurs vous explique comment effectuer les opérations suivantes :

  • Installer le package d'intégration et LangChain
  • Initialiser un index vectoriel
  • Préparer des documents pour le magasin de vecteurs
  • Ajouter des documents au magasin de vecteurs
  • Effectuer une recherche de similarité (KNN)
  • Effectuer une recherche de similarité basée sur une plage
  • Effectuer une recherche de pertinence marginale maximale (MMR)
  • Utiliser le magasin de vecteurs comme récupérateur
  • Supprimer des documents du magasin de vecteurs
  • Supprimer un index vectoriel

Chargeur de documents pour Memorystore for Redis Cluster

Le chargeur de documents enregistre, charge et supprime les objets Document LangChain. Par exemple, vous pouvez charger des données à traiter dans des embeddings et les stocker dans un magasin de vecteurs 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 for Redis Cluster, utilisez la classe MemorystoreDocumentLoader. Pour enregistrer et supprimer des documents, utilisez la classe MemorystoreDocumentSaver.

Pour en savoir plus, consultez la section Chargeurs de documents.

Guide de procédure du chargeur de documents

Le guide Memorystore for Redis Cluster pour le chargeur de documents 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 de documents
  • Personnaliser la connexion et l'authentification
  • Personnaliser la construction de documents en spécifiant le contenu et les métadonnées du client
  • Utiliser et personnaliser la classe MemorystoreDocumentSaver pour stocker et supprimer des documents

Historique des messages de chat pour Memorystore for Redis Cluster

Les applications de questions-réponses nécessitent un historique des éléments mentionnés dans la conversation pour fournir un contexte à l'application afin de répondre aux questions supplémentaires 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 d'autres réponses. Un message peut être une question, une réponse, une déclaration, un message d'accueil ou tout autre élément de texte que l'utilisateur ou l'application fournit pendant la conversation. ChatMessageHistory stocke chaque message et enchaîne les messages pour chaque conversation.

Memorystore for Redis Cluster étend cette classe avec MemorystoreChatMessageHistory.

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

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

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