AI Endpoints - Développer un chatbot en Python avec LangChain
Apprenez à développer un chatbot en Python en utilisant LangChain et AI Endpoints
AI Endpoints est couvert par les Conditions particulières OVHcloud Public Cloud (voir l’Annexe 10 – « Conditions spécifiques – AI Endpoints »).
Introduction
LangChain est l'un des frameworks les plus populaires pour créer des applications pilotées par des LLM, comme les assistants virtuels et les chatbots. Il fournit des abstractions structurées et des outils permettant d'orchestrer facilement les prompts, la mémoire, les chaînes et les agents.
Dans ce tutoriel, nous allons utiliser LangChain (édition Python) avec AI Endpoints d'OVHcloud pour créer un chatbot en ligne de commande, en commençant par un simple mode bloquant, puis en activant le streaming pour un retour en temps réel.
Objectif
Ce tutoriel montre comment :
- Créer un chatbot à l'aide de LangChain et FastAPI
- Se connecter à AI Endpoints d'OVHcloud pour accéder aux LLM
- Activer le streaming pour améliorer l'expérience utilisateur
- Exécuter le chatbot depuis la ligne de commande
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
- Python 3.8 ou une version ultérieure
- 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.
En pratique
Configurer l'environnement
Afin d'utiliser facilement les API AI Endpoints, créez un fichier .env pour stocker les variables d'environnement :
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.
Créez ensuite un fichier requirements.txt avec les bibliothèques suivantes :
Lancez ensuite l'installation de ces dépendances :
Créer un chatbot en mode bloquant
Créez un nouveau fichier nommé chat-bot.py et collez-y le code suivant :
Vous pouvez tester votre nouvel assistant avec la commande suivante :
Ce qui vous donnera une sortie similaire à :
Activer le mode streaming
Maintenant que vous avez un chatbot, pourquoi ne pas ajouter la fonctionnalité de streaming ? Le streaming donne à votre chatbot la capacité d'afficher les informations dès qu'elles sont prêtes, sans attendre que le message entier soit traité côté serveur.
Pour cela, vous pouvez mettre à jour le script Python précédent comme suit :
Exécutez-le avec :
Vous devriez maintenant voir le chatbot saisir sa réponse en temps réel ! 💬✨
Conclusion
Avec seulement quelques lignes de code Python, vous disposez maintenant d'un chatbot fonctionnel connecté à de puissants LLM hébergés sur AI Endpoints d'OVHcloud. Vous l'avez également enrichi avec le streaming pour une expérience utilisateur en temps réel.
Aller plus loin
Vous pouvez ensuite créer et déployer une 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.