AI Endpoints - Créer un chatbot de streaming avec LangChain4j et Quarkus
Découvrez comment créer un chatbot basé sur Java qui diffuse les réponses de AI Endpoints pour offrir une expérience de chat en temps réel
AI Endpoints est couvert par les Conditions particulières OVHcloud Public Cloud (voir l’Annexe 10 – « Conditions spécifiques – AI Endpoints »).
Introduction
Après avoir exploré comment utiliser AI Endpoints avec LangChain4j, il est temps de passer à l'étape supérieure et de créer un chatbot prenant en charge les réponses en streaming en temps réel.
Dans ce tutoriel, vous apprendrez à utiliser LangChain4j avec Quarkus pour créer un chatbot qui diffuse en streaming les réponses générées par un LLM à l'aide de AI Endpoints.
Objectif
Ce tutoriel montre comment :
- Configurer un projet Quarkus avec quarkus-langchain4j
- Utiliser AI Endpoints d'OVHcloud pour accéder aux modèles Mistral AI
- Diffuser les réponses du LLM en streaming via une API REST réactive
Définitions
- Réponse LLM en streaming : plutôt que d'attendre une réponse complète du modèle, le streaming permet à l'application de commencer à traiter les tokens de sortie au fur et à mesure de leur génération. Cela crée une expérience utilisateur plus fluide et plus rapide, particulièrement utile pour les chatbots.
- LangChain4j : framework basé sur Java, inspiré de LangChain, conçu pour simplifier l'intégration des LLM (Large Language Models) dans les applications. Il propose des abstractions et des annotations pour créer des agents intelligents et des chatbots. Notez que LangChain4j n'est pas officiellement maintenu par l'équipe de LangChain, malgré la ressemblance des noms.
- Quarkus : framework Java natif Kubernetes conçu pour optimiser les applications Java pour les containers et le cloud. Dans ce tutoriel, nous utiliserons l'extension quarkus-langchain4j.
- AI Endpoints : 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 AI Endpoints d'OVHcloud. Pour créer un token API, suivez les instructions du guide AI Endpoints - Premiers pas.
- Le CLI Quarkus installé
En pratique
Créer un projet Quarkus
Générez votre projet Quarkus à l'aide de la CLI avec l'extension LangChain4j Mistral AI :
Création du service IA
Codons notre service pour créer un chatbot, à l'aide d'une annotation :
Ajoutez maintenant les prompts système et utilisateur à votre service :
💡 Pour plus de détails sur @SystemMessage et @UserMessage, reportez-vous à la documentation de l'extension Quarkus LangChain4j.
Configurer l'accès à AI Endpoints
Adaptez et ajoutez la configuration suivante à votre fichier application.properties, afin d'activer l'accès à AI Endpoints :
Veillez à remplacer la valeur du token (OVH_AI_ENDPOINTS_ACCESS_TOKEN) par la vôtre. Si vous n'en avez pas encore, suivez les instructions du guide AI Endpoints - Premiers pas.
Vous devrez également remplacer deux autres variables d'environnement, liées au modèle que vous souhaitez utiliser. Vous trouverez ces valeurs spécifiques au modèle dans l'onglet documentation de chaque modèle. Par exemple, si vous souhaitez ajouter le modèle Mistral-7B-Instruct-v0.3, les variables d'environnement attendues seront :
OVH_AI_ENDPOINTS_MODEL_NAME: Mistral-7B-Instruct-v0.3OVH_AI_ENDPOINTS_URL: https://oai.endpoints.kepler.ai.cloud.ovh.net/v1
Créer une API REST pour interagir avec le chatbot
Commencez par installer l'extension Quarkus REST :
Créez ensuite un endpoint REST :
Exécuter et tester
Il est maintenant temps de tester l'API du chatbot IA !
Pour démarrer votre application et exécuter votre API, utilisez simplement le mode dev de Quarkus, en exécutant quarkus dev :
Utilisez ensuite cURL pour interagir avec votre API :
Vous verrez la réponse être diffusée directement depuis le modèle IA, token par token ! 🧠⚡
Conclusion
En quelques étapes seulement, vous avez créé votre propre chatbot IA en streaming grâce à LangChain4j, Quarkus et AI Endpoints d'OVHcloud.
Cette approche permet des interactions utilisateur en temps réel, parfaites pour une intégration dans des interfaces de chat ou des outils de support client.
Aller plus loin
N'hésitez pas à aller plus loin en créant un frontend web pour une expérience encore plus interactive ! 😄💬 Vous pouvez ensuite déployer cette application web dans le cloud, rendant votre interface accessible à tous. Pour cela, reportez-vous aux articles et tutoriels suivants :
- AI Deploy – Tutoriel – Créer et utiliser une image Docker personnalisée
- AI Deploy – Tutoriel – Déployer une application Gradio pour la reconnaissance de dessins
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.