Cette page explique comment créer des applications basées sur un LLM en utilisant LangChain. Les présentations de cette page sont liées aux 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 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 de LangChain.
Composants LangChain pour Spanner
Spanner propose les interfaces LangChain suivantes:
Découvrez comment utiliser ces composants dans une application à l'aide du guide de démarrage rapide de LangChain pour Spanner.
Magasin de données vectorielles pour Spanner
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 les données vectorielles dans Spanner, utilisez la classe SpannerVectorStore
.
Pour en savoir plus, consultez la documentation du produit LangChain Vector Stores.
Guide de procédure pour les magasins vectoriels
Le guide Spanner sur le magasin de données vectorielles vous explique comment effectuer les opérations suivantes:
- Installer le package d'intégration et LangChain
- Initialiser une table pour le magasin de données vectorielles
- Configurer un service d'intégration à l'aide de
VertexAIEmbeddings
- Initialiser
SpannerVectorStore
- Ajouter et supprimer des documents
- Rechercher des documents similaires
- Créer un datastore personnalisé pour vous connecter à une base de données Spanner préexistante comportant une table avec des représentations vectorielles continues de vecteurs
Chargeur de documents pour Spanner
Le chargeur de documents enregistre, charge et supprime un objet 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 de Spanner, utilisez la classe SpannerLoader
.
Utilisez la classe SpannerDocumentSaver
pour enregistrer et supprimer des documents.
Pour en savoir plus, consultez la page Chargeurs de documents LangChain.
Guide de procédure du chargeur de documents
Le guide Spanner pour Google Document Loader 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
- Personnalisez la construction de documents en spécifiant les métadonnées et le contenu client.
- Utiliser et personnaliser un
SpannerDocumentSaver
pour stocker et supprimer des documents
Historique des messages de chat pour Spanner
Les applications de questions-réponses nécessitent un historique des éléments dits dans la conversation pour fournir le contexte de l'application afin de 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 d'autres réponses. Un message peut être une question, une réponse, une instruction, un message d'accueil ou tout autre texte émis par l'utilisateur ou l'application au cours d'une conversation.
ChatMessageHistory
stocke chaque message et enchaîne les messages pour chaque conversation.
Spanner étend cette classe avec SpannerChatMessageHistory
.
Guide de procédure pour l'historique des messages de chat
Le guide Spanner sur l'historique des messages de chat vous explique comment effectuer les opérations suivantes:
- Installer LangChain et s'authentifier auprès de Google Cloud.
- Initialiser une table.
- Initialiser la classe
SpannerChatMessageHistory
pour ajouter et supprimer des messages. - Utiliser un client pour personnaliser la connexion et l'authentification
- Supprimer la session
SpannerChatMessageHistory