AI Endpoints - Utiliser les appels de fonctions avec LangChain4J
Apprenez à utiliser les appels de fonctions avec Java, LangChain4j et OVHcloud AI Endpoints
AI Endpoints est couvert par les Conditions particulières OVHcloud Public Cloud (voir l’Annexe 10 – « Conditions spécifiques – AI Endpoints »).
Objectif
Stable Diffusion est un modèle d’intelligence artificielle puissant permettant de générer des images à partir de descriptions textuelles. Vous pouvez l’utiliser grâce à AI Endpoints en appelant simplement l’endpoint avec un prompt. Cependant, créer un bon prompt pour Stable Diffusion peut s’avérer difficile.
Le Function Calling permet au système d’IA d’effectuer des tâches plus complexes et dynamiques, et de tirer parti de connaissances et de services externes pour générer des réponses plus précises et informatives. Dans le contexte de la génération d’images, le function calling peut être utilisé pour améliorer la qualité des prompts en les optimisant grâce à un outil externe basé sur un LLM.
Dans ce tutoriel, nous allons vous montrer comment optimiser vos prompts à l’aide du Function Calling et d’OVHcloud AI Endpoints.
Pour cela, nous allons utiliser LangChain4j, un framework basé sur Java inspiré de LangChain, conçu pour simplifier l’intégration des LLM (Large Language Models) dans les applications. Notez que LangChain4j n’est pas officiellement maintenu par l’équipe de LangChain, malgré la ressemblance des noms.
Associé aux AI Endpoints d’OVHcloud, qui proposent à la fois des modèles LLM et des modèles d’embedding, il devient facile de créer des assistants avancés et prêts pour la production.
Définition
- Function Calling : le function calling désigne la capacité d’un modèle de langage ou d’un système d’IA à demander, invoquer et exécuter des fonctions ou des tâches prédéfinies, telles que le traitement de données, des calculs ou des appels à des API externes, en réponse à une entrée utilisateur ou à un prompt.
- LangChain4j : un framework basé sur Java inspiré de LangChain, conçu pour simplifier l’intégration des LLM (Large Language Models) dans les applications. Notez que LangChain4j n’est pas officiellement maintenu par l’équipe de LangChain, malgré la ressemblance des noms.
- AI Endpoints : une plateforme serverless d’OVHcloud offrant un accès simplifié à une variété de modèles d’IA reconnus mondialement, dont Mistral, LLaMA, et bien d’autres. Cette plateforme est conçue pour être simple, sécurisée et intuitive, avec la confidentialité des données comme priorité absolue.
Prérequis
- Un projet Public Cloud dans votre compte OVHcloud.
- Un token d’accès pour OVHcloud AI Endpoints. Pour créer un token API, suivez les instructions du guide AI Endpoints - Premiers pas.
- Cet exemple de code utilise JBang, un outil basé sur Java permettant de créer et d’exécuter des programmes Java sous forme de scripts. Pour plus d’informations sur JBang, consultez la documentation JBang.
En pratique
Pour créer notre application, nous allons utiliser LangChain4J afin de simplifier l’intégration des modèles d’IA et le mécanisme de function calling.
Création de l’outil
Pour utiliser le mécanisme de function calling, nous devons définir un outil.
Dans notre exemple, l’objectif de l’outil est d’appeler l’API Stable Diffusion pour générer une image.
⚠️ Ce n’est pas le modèle lui-même qui appelle l’outil, mais le client qui invoque le modèle. ⚠️
⚠️ L’un des points essentiels pour aider le LLM à choisir le bon outil à utiliser est de fournir une description claire et complète. ⚠️
Une fois l’outil prêt, indiquons au modèle qu’il peut l’utiliser !
Optimiser le modèle avec un outil
Commençons par créer un chatbot simple.
Il n’est pas obligatoire de créer un message système aussi détaillé, mais cela aide le modèle à choisir l’outil au bon moment.
Ensuite, nous assemblons toutes les pièces :
ℹ️ Nous utilisons une boucle afin de pouvoir demander au modèle d’optimiser les paramètres de génération d’image en fonction de la réponse précédente. ℹ️ Et voilà !
Il est temps de tester notre optimiseur Stable Diffusion.
ℹ️ Comme vous pouvez le voir, le modèle a traduit le prompt 😊
Voici le résultat du prompt :

Conclusion
Dans cet article, nous avons vu comment utiliser le Function Calling avec OVHcloud AI Endpoints et LangChain4J.
Aller plus loin
Vous trouverez l’exemple de code complet dans le dépôt GitHub.
Parcourez la documentation AI Endpoints complète pour mieux comprendre les concepts principaux et démarrer.
Pour découvrir comment créer des applications complètes et performantes avec AI Endpoints, explorez nos guides AI Endpoints dédiés.
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Votre avis nous intéresse !
N’hésitez pas à nous faire part de vos questions, retours et suggestions concernant AI Endpoints et ses fonctionnalités :
- Dans le canal #ai-endpoints du serveur Discord OVHcloud, où vous pouvez échanger avec la communauté et les équipes OVHcloud.