LangChain sur Vertex AI

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 :

ComposantDescription
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 :

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 :

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

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? ou Is 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 :
  • 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.

Étapes suivantes