LangChain sur Vertex AI (preview) vous permet d'exploiter la bibliothèque Open Source LangChain 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. Il vous permet de sélectionner le grand modèle de langage dont vous souhaitez vous servir, de définir des outils permettant d'accéder aux API externes, de structurer l'interface entre l'utilisateur et les composants du système dans un framework d'orchestration, et de déployer le framework dans un environnement d'exécution géré.
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 Vertex AI comprennent les quatre composants suivants :
Composant | Description |
---|---|
Modèle Gemini |
Lorsque l'utilisateur envoie une requête à son application personnalisée, le grand modèle de langage traite la requête 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 peut choisir de déléguer certaines tâches aux outils. Cela peut intrinsèquement impliquer un ou plusieurs appels de modèle à des modèles génériques ou affinés. Pour en savoir plus, consultez la page Versions et cycle de vie des modèles. |
Outils Appel de fonction Gemini |
Vous pouvez choisir de définir un ensemble d'outils qui communiquent avec des API externes (par exemple, des bases de données) et les fournir au modèle. Lors du traitement d'une requête, le modèle peut choisir de déléguer certaines tâches aux outils précédemment définis. Le déploiement via l'environnement d'exécution géré de Vertex AI est optimisé pour utiliser des outils basés sur l'appel de fonction Gemini, mais est compatible avec toutes les implémentations d'outils d'OSS LangChain. Pour en savoir plus sur les appels de fonctions Gemini, consultez la page Appel de fonction. |
Framework d'orchestration Agent |
LangChain sur Vertex AI vous permet d'exploiter le framework d'orchestration OSS LangChain dans Vertex AI. À l'aide de LangChain, vous choisissez le niveau déterministe de votre application. Si vous utilisez déjà LangChain, vous pouvez simplement déployer votre application sur Vertex AI à l'aide de votre code Open Source LangChain existant. Sinon, vous pouvez créer votre propre code d'application et le structurer dans un framework d'orchestration à l'aide des modèles LangChain de Vertex AI. Pour en savoir plus, consultez la page Développer une application. |
Environnement d'exécution géré Reasoning Engine |
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 tous ses composants sous-jacents.
Si vous travaillez à un niveau inférieur de la pile, vous finissez par essayer de gérer trop de tâches. Si vous travaillez à un niveau supérieur de la pile, vous finissez par perdre le contrôle des développeurs. Avec les composants de LangChain sur Vertex AI, 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.
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 :
Créer et déployer une application d'IA générative
Le workflow global permettant de créer des applications 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éveloppez une application LangChain déployable sur Reasoning Engine. |
3. Déployer l'application | Déployez une application sur Reasoning Engine. |
4. Utiliser l'application | Interrogez Reasoning Engine pour obtenir des contenus. |
5. Gérer l'application déployée | Gérez et supprimez les applications que vous avez déployées sur Reasoning Engine. |
Les étapes sont illustrées dans le schéma suivant :
Avantages
- Entièrement personnalisable : en utilisant les interfaces standardisées de LangChain, LangChain sur Vertex AI peut être adopté pour créer toutes sortes d'applications. La logique de votre application est facile à personnaliser et permet d'intégrer tout framework Open Source ou développé par l'entreprise, offrant ainsi un haut degré de flexibilité.
- Facilité d'utilisation : LangChain sur Vertex AI utilise les mêmes API simples et intuitives que LangChain OSS pour interagir avec les LLM et créer des applications. Cela facilite et accélère le déploiement avec les LLM Vertex AI, car l'environnement d'exécution Reasoning Engine permet le déploiement en un seul clic afin de générer une API conforme basée sur votre bibliothèque.
- Intégration aux écosystèmes Google Cloud et Vertex AI : Reasoning Engine pour LangChain sur Vertex AI utilise l'infrastructure et les conteneurs prédéfinis de Vertex AI pour accélérer le déploiement de votre application LLM. Le SDK s'intègre parfaitement aux services Google Cloud, tels que l'API Gemini, les appels de fonctions et les extensions, de manière fluide et sécurisée.
- 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, les failles des conteneurs, l'observabilité et les solutions horizontales. Il crée chaque moteur Reasoning Engine dans un conteneur distinct et accepte un certain nombre d'optimisations horizontales.
Cas d'utilisation
Vous pouvez utiliser LangChain sur Vertex AI pour les tâches suivantes :
- Extraire des entités à partir d'histoires en langage naturel : extrayez des listes de personnages, de relations, d'éléments et de lieux à partir d'une histoire.
Notebook sur le SDK Vertex AI pour Python : Extraction de données structurées à l'aide d'appels de fonctions - Interroger et comprendre les bases de données SQL à l'aide du langage naturel : demandez au modèle de convertir des questions telles que
What percentage of orders are returned?
en requêtes SQL et créez des fonctions qui envoient ces requêtes à 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 fonction dans Gemini - Aider les clients à interagir avec les entreprises : créez des fonctions qui se connectent à l'API d'une entreprise pour permettre au modèle de fournir des réponses précises à des requêtes telles que
Do you have the Pixel 8 Pro in stock?
ouIs there a store in Mountain View, CA that I can visit to try it out?
.
Notebook sur le SDK Vertex AI pour Python : Appel de fonction avec l'API Gemini Vertex AI et le SDK Python - Créer des applications d'IA générative en vous connectant à des API publiques, telles que les suivantes :
- Convertir des devises : créez une fonction qui se connecte à une application d'échange de devises pour permettre au modèle de fournir des réponses précises à des requêtes telles que
What's the exchange rate for euros to dollars today?
.
Atelier de programmation : Interagir avec les API à l'aide d'appels de fonctions dans Gemini - Obtenir la météo pour un lieu donné : créez une fonction qui se connecte à une API d'un service météorologique pour permettre au modèle de fournir des réponses précises à des requêtes telles que
What's the weather like in Paris?
.
Notebook sur le SDK Vertex AI pour Python : Appels de fonctions avec l'API Gemini Vertex AI et le SDK Python
Article de blog : Appel de fonction : framework natif pour associer Gemini à des systèmes externes, des données et des API - Convertir une adresse en coordonnées GPS : créez une fonction qui convertit des données de localisation structurées en coordonnées GPS. Demandez au modèle d'identifier l'adresse postale, la ville, l'état et le code postal dans des requêtes telles que
I want to get the lat/lon coordinates for the following address: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, US.
.
Notebook sur le SDK Vertex AI pour Python : Appels de fonctions avec l'API Gemini Vertex AI et le SDK Python
- Convertir des devises : créez une fonction qui se connecte à une application d'échange de devises pour permettre au modèle de fournir des réponses précises à des requêtes telles que
- Interpréter des commandes vocales : créez des fonctions correspondant aux tâches intégrées à un véhicule. Vous pouvez par exemple créer des fonctions qui allument la radio ou activent la climatisation. Envoyez 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éez des fonctions permettant de représenter les processus qui peuvent ê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 de demandes d'assistance : fournissez au modèle des demandes d'assistance, des journaux et des règles contextuelles. Demandez-lui de traiter toutes ces informations pour déterminer à qui la demande doit être attribuée. Appelez une fonction pour attribuer la demande à 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 académiques 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 dans ses réponses.