Référence : Post moyen
BentoChain est un ?️? Exemple de déploiement LangChain utilisant ? BentoML inspiré de langchain-gradio-template. Cet exemple montre comment créer un chatbot vocal à l'aide de l'API OpenAI, des modèles vocaux Transformers, de Gradio et de BentoML. Le chatbot reçoit les données d'un microphone, qui sont ensuite converties en texte à l'aide d'un modèle de reconnaissance vocale.
Le chatbot répond aux entrées de l'utilisateur avec du texte, qui peut être lu à l'utilisateur à l'aide d'un modèle de synthèse vocale.
? Conteneurise les applications LangChain sous forme d'images OCI standard.
? Génère automatiquement les points de terminaison OpenAPI et gRPC.
☁️ Déploie des modèles sous forme de microservices fonctionnant sur le matériel le plus optimal et évoluant de manière indépendante.
Installez les dépendances Python.
poetry install
poetry shell
Téléchargez et enregistrez des modèles de reconnaissance vocale et de synthèse vocale.
python train.py
Démarrez l'application localement.
bentoml serve
Visitez http://0.0.0.0:3000 pour une page OpenAPI Swagger et http://0.0.0.0:3000/chatbot pour une interface utilisateur Gradio pour le chatbot. Notez que la fonctionnalité d'entrée du microphone peut ne pas fonctionner sur des navigateurs comme Google Chrome, car le point de terminaison n'est pas HTTPS. Cependant, l'entrée microphone deviendra fonctionnelle après le déploiement sur BentoCloud.
Créez une application dans un artefact Bento distribuable.
bentoml build
Building BentoML service " voicegpt:vmjw2vucbodwkcvj " from build context " /Users/ssheng/github/BentoChain " .
Packing model " speecht5_tts_processor:7pjfnkucbgjzycvj "
Packing model " speecht5_tts_vocoder:7suthpucbgjzycvj "
Packing model " whisper_processor:7s6wbnecbgjzycvj "
Packing model " whisper_model:7td75iucbgjzycvj "
Packing model " speecht5_tts_model:7pkfc3ecbgjzycvj "
██████╗░███████╗███╗░░██╗████████╗░█████╗░███╗░░░███╗██╗░░░░░
██╔══██╗██╔════╝████╗░██║╚══██╔══╝██╔══██╗████╗░████║██║░░░░░
██████╦╝█████╗░░██╔██╗██║░░░██║░░░██║░░██║██╔████╔██║██║░░░░░
██╔══██╗██╔══╝░░██║╚████║░░░██║░░░██║░░██║██║╚██╔╝██║██║░░░░░
██████╦╝███████╗██║░╚███║░░░██║░░░╚█████╔╝██║░╚═╝░██║███████╗
╚═════╝░╚══════╝╚═╝░░╚══╝░░░╚═╝░░░░╚════╝░╚═╝░░░░░╚═╝╚══════╝
Successfully built Bento(tag= " voicegpt:vmjw2vucbodwkcvj " ).
Possible next steps:
* Containerize your Bento with ` bentoml containerize ` :
$ bentoml containerize voicegpt:vmjw2vucbodwkcvj
* Push to BentoCloud with ` bentoml push ` :
$ bentoml push voicegpt:vmjw2vucbodwkcvj
BentoML propose un certain nombre d'options de déploiement. Le moyen le plus simple de configurer un point de terminaison prêt pour la production de votre service d'intégration de texte consiste à utiliser BentoCloud, la plate-forme cloud sans serveur conçue pour BentoML, par l'équipe BentoML.
Prochaines étapes :
Créez un compte BentoCloud ici.
Obtenez un jeton API, consultez les instructions ici.
Transférez votre Bento vers BentoCloud :
bentoml push voicegpt:vmjw2vucbodwkcvj
Déployer via l'interface utilisateur Web, voir Déploiement sur BentoCloud
Et poussez vers BentoCloud.