LangChain sur Vertex AI

LangChain sur Vertex AI (preview) vous permet d'exploiter la bibliothèque Open Source LangChain​LINK pour créer des applications d'IA générative personnalisées et utiliser Vertex AI pour les modèles, les outils et le déploiement. Avec LangChain sur Vertex AI, vous pouvez effectuer les opérations suivantes :

  • Sélectionner le grand modèle de langage (LLM) avec lequel vous souhaitez travailler
  • Définir des outils pour accéder aux API externes
  • Structurer l'interface entre l'utilisateur et les composants du système dans un framework d'orchestration
  • Déployez le framework dans un environnement d'exécution géré

Avantages

  • Personnalisable : en utilisant les interfaces standardisées de LangChain, LangChain sur Vertex AI peut être adopté pour créer différentes sortes d'applications. Vous pouvez personnaliser la logique de votre application et intégrer n'importe quel framework, offrant ainsi un haut degré de flexibilité.
  • Simplification du déploiement : LangChain sur Vertex AI utilise les mêmes API que LangChain pour interagir avec les LLM et créer des applications. LangChain sur Vertex AI simplifie et accélère le déploiement avec les LLM Vertex AI, car l'environnement d'exécution de Reasoning Engine permet le déploiement en un seul clic pour générer une API conforme basée sur votre bibliothèque.
  • Intégration aux écosystèmes Vertex AI : Reasoning Engine pour LangChain sur Vertex AI utilise l'infrastructure de Vertex AI et des conteneurs prédéfinis pour vous aider à déployer votre application LLM. Vous pouvez utiliser l'API Vertex AI pour intégrer des modèles Gemini, des appels de fonction et des extensions.
  • Sécurité, confidentialité et évolutivité : vous pouvez utiliser un seul appel de SDK au lieu de gérer vous-même le processus de développement. L'environnement d'exécution géré Reasoning Engine vous libère de certaines tâches telles que le développement du serveur d'application, la création de conteneurs et la configuration de l'authentification, d'IAM et du scaling. Vertex AI gère l'autoscaling, l'expansion régionale et les failles des conteneurs.

Cas d'utilisation

Vous pouvez utiliser LangChain sur Vertex AI pour les tâches suivantes :

Cas d'utilisation Exemple de description Exemple de lien
Extraire des entités à partir d'articles en langage naturel Extrayez des listes de personnages, de relations, d'éléments et de lieux à partir d'une histoire. Notebook SDK Vertex AI pour Python – Extraction de données structurées à l'aide d'appels de fonction
Interroger et comprendre des bases de données SQL à l'aide du langage naturel Demandez au modèle de convertir des questions telles que "Quel pourcentage de commandes est renvoyé ?" en requêtes SQL et créez des fonctions qui les envoient à BigQuery. Article de blog : Créer une application d'exploration de données BigQuery basée sur l'IA à l'aide de l'appel de fonctions dans Gemini
Aider les clients à interagir avec les établissements Créez des fonctions qui se connectent à l'API d'une entreprise, ce qui permet au modèle de fournir des réponses précises à des requêtes telles que "Avez-vous le Pixel 8 Pro en stock ?" ou "Y a-t-il un magasin à Mountain View, CA dans lequel je peux me rendre pour l'essayer ?" Notebook SDK Vertex AI pour Python – Appels de fonctions avec l'API Vertex AI Gemini et le SDK Python
Créer des applications d'IA générative en vous connectant à des API publiques Convertissez des devises entre différentes devises.

Crée une fonction qui se connecte à une application de change de devises pour permettre au modèle de fournir des réponses précises à des requêtes telles que "Quel est le taux de change de l'euro en dollars aujourd'hui ?"
Atelier de programmation : Interagir avec les API à l'aide d'appels de fonctions dans Gemini
Obtenir la météo d'un lieu donné

Crée une fonction qui se connecte à l'API d'un service météorologique, ce qui permet au modèle de fournir des réponses précises à des requêtes telles que "Quel temps fait-il à Paris ?"
Notebook SDK Vertex AI pour Python : Appel de fonctions avec l'API Vertex AI Gemini et le SDK Python

Article de blog : Appel de fonction : un framework pour connecter Gemini vers les systèmes, données et API externes
Convertissez une adresse en coordonnées de latitude et de longitude.

Créez une fonction qui convertit des données de localisation structurées en coordonnées de latitude et de longitude. Demandez au modèle d'identifier l'adresse postale, la ville, l'État et le code postal dans des requêtes telles que "Je souhaite obtenir les coordonnées de latitude/longitude pour l'adresse suivante: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, États-Unis".
Notebook SDK Vertex AI pour Python – Appels de fonctions avec l'API Vertex AI Gemini et le SDK Python
Interpréter des commandes vocales Créez des fonctions correspondant aux tâches effectuées dans le véhicule. Vous pouvez par exemple créer des fonctions qui allument la radio ou activent la climatisation. Envoie au modèle les fichiers audio des commandes vocales de l'utilisateur, et demandez-lui de convertir l'audio en texte et d'identifier la fonction que l'utilisateur souhaite appeler.  
Automatiser les workflows en fonction de déclencheurs d'environnement Créer des fonctions pour représenter les processus pouvant être automatisés. Fournissez au modèle des données provenant de capteurs environnementaux et demandez-lui de les analyser et de les traiter pour déterminer si un ou plusieurs workflows doivent être activés. Par exemple, un modèle peut traiter des données de température dans un entrepôt et choisir d'activer une fonction d'arrosage.  
Automatiser l'attribution des demandes d'assistance Fournissez au modèle des demandes d'assistance, des journaux et des règles contextuelles. Demandez au modèle de traiter toutes ces informations pour déterminer à qui la demande doit être attribuée. Appelez une fonction pour attribuer le ticket à la personne suggérée par le modèle.  
Récupérer des informations à partir d'une base de connaissances Créez des fonctions permettant de récupérer des articles universitaires sur un sujet donné et de les résumer. Autorisez le modèle à répondre à des questions sur des sujets académiques et à fournir des citations pour ses réponses.  

Composants du système

La création et le déploiement d'une application d'IA générative personnalisée à l'aide d'OSS LangChain et de l'IA générative Vertex se composent de quatre composants :

ComposantDescription
LLM

Lorsque vous envoyez une requête à votre application personnalisée, le LLM la traite et fournit une réponse.

Vous pouvez choisir de définir un ensemble d'outils qui communiquent avec des API externes et les fournir au modèle. Lors du traitement d'une requête, le modèle délègue certaines tâches aux outils. Cela implique un ou plusieurs appels de modèle à des modèles de base ou affinés.

Pour en savoir plus, consultez la page Versions et cycle de vie des modèles.

Outil

Vous pouvez choisir de définir un ensemble d'outils qui communique avec des API externes (par exemple, une base de données) et de les fournir au modèle. Lors du traitement d'une requête, le modèle peut déléguer certaines tâches aux outils.

Le déploiement via l'environnement d'exécution géré de l'IA Vertex est optimisé pour utiliser des outils basés sur l'appel de fonction Gemini, mais est compatible avec l'outil/l'appel de fonction LangChain. Pour en savoir plus sur les appels de fonctions Gemini, consultez la page Appel de fonction.

Framework d'orchestration

LangChain sur Vertex AI vous permet d'exploiter le framework d'orchestration LangChain dans Vertex AI. Utilisez LangChain pour déterminer le niveau de déterminisme de votre application.

Si vous utilisez déjà LangChain, vous pouvez utiliser votre code LangChain existant pour déployer votre application sur l'IA Vertex. Sinon, vous pouvez créer votre propre code d'application et le structurer dans un framework d'orchestration qui exploite les modèles LangChain de l'IA Vertex.

Pour en savoir plus, consultez la page Développer une application.

Environnement d'exécution géré LangChain sur Vertex AI vous permet de déployer votre application dans un environnement d'exécution géré Reasoning Engine. Cet environnement d'exécution est un service Vertex AI qui présente tous les avantages de l'intégration à Vertex AI : sécurité, confidentialité, observabilité et évolutivité. Vous pouvez mettre votre application en production et la faire évoluer à l'aide d'un simple appel d'API, vous permettant ainsi de transformer rapidement des prototypes testés localement en déploiements adaptés aux entreprises. Pour en savoir plus, consultez Déployer une application.

Il existe de nombreuses façons de créer des prototypes et des applications d'IA générative personnalisées qui exploitent les fonctionnalités d'agents en superposant des outils, des fonctions personnalisées et des modèles tels que Gemini. Au moment de passer votre application en production, vous devez déterminer comment déployer et gérer votre agent et ses composants sous-jacents.

Avec les composants de LangChain sur l'IA Vertex, l'objectif est de vous aider à vous concentrer et à personnaliser les aspects de la fonctionnalité d'agent qui vous intéressent le plus, tels que les fonctions personnalisées, le comportement de l'agent et les paramètres du modèle, tandis que Google s'occupe du déploiement, du scaling, de l'empaquetage, des versions, etc. Si vous intervenez à un niveau inférieur de la pile, vous devrez peut-être gérer plus que vous ne souhaitez. Si vous intervenez à un niveau supérieur de la pile, vous n'aurez peut-être pas autant de contrôle des développeurs que ce que vous espériez.

Flux système lors de l'exécution

Lorsque l'utilisateur envoie une requête, l'agent défini la présente sous forme de requête au LLM. Le LLM traite la requête et détermine s'il souhaite utiliser l'un des outils.

Si le LLM choisit d'utiliser un outil, il génère un FunctionCall avec le nom et les paramètres avec lesquels l'outil doit être appelé. L'agent appelle l'outil avec FunctionCall et renvoie les résultats de l'outil au LLM. Si le LLM choisit de ne pas utiliser d'outil, il génère du contenu qui sera transmis par l'agent à l'utilisateur.

Le schéma suivant illustre le flux système lors de l'exécution :

Flux système lors de l'exécution 

Créer et déployer une application d'IA générative

Le workflow pour créer une application d'IA générative est le suivant :

Étapes Description
1. Configurer l'environnement Configurez votre projet Google et installez la dernière version du SDK Vertex AI pour Python.
2. Développer une application Développer une application LangChain pouvant être déployée sur Reasoning Engine.
3. Déployer l'application Déployez l'application sur Reasoning Engine.
4. Utiliser l'application Moteur de raisonnement de requête pour une réponse.
5. Gérer l'application déployée Gérez et supprimez les applications que vous avez déployées sur Reasoning Engine.
6. (Facultatif) Personnaliser un modèle d'application Personnalisez un modèle pour les nouvelles applications.

Les étapes sont illustrées dans le schéma suivant :

Créer et déployer une application d'IA générative 

Étape suivante