Referencia: Publicación mediana
BentoChain es un ?️? ¿Ejemplo de implementación de LangChain usando? BentoML inspirado en langchain-gradio-template. Este ejemplo demuestra cómo crear un chatbot de voz utilizando la API OpenAI, los modelos de voz de Transformers, Gradio y BentoML. El chatbot recibe información de un micrófono, que luego se convierte en texto mediante un modelo de reconocimiento de voz.
El chatbot responde a la entrada del usuario con texto, que se puede reproducir para el usuario mediante un modelo de texto a voz.
? Contenedoriza las aplicaciones LangChain como imágenes OCI estándar.
? Genera puntos finales OpenAPI y gRPC automáticamente.
☁️ Implementa modelos como microservicios que se ejecutan en el hardware más óptimo y escalan de forma independiente.
Instale las dependencias de Python.
poetry install
poetry shell
Descargue y guarde modelos de reconocimiento de voz y texto a voz.
python train.py
Inicie la aplicación localmente.
bentoml serve
Visite http://0.0.0.0:3000 para ver una página de OpenAPI Swagger y http://0.0.0.0:3000/chatbot para ver una interfaz de usuario de Gradio para el chatbot. Tenga en cuenta que es posible que la funcionalidad de entrada del micrófono no funcione en navegadores como Google Chrome porque el punto final no es HTTPS. Sin embargo, la entrada del micrófono volverá a funcionar después de implementarla en BentoCloud.
Cree la aplicación en un artefacto Bento distribuible.
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 ofrece varias opciones de implementación. La forma más sencilla de configurar un punto final listo para producción de su servicio de incrustación de texto es a través de BentoCloud, la plataforma en la nube sin servidor creada para BentoML por el equipo de BentoML.
Próximos pasos:
Regístrese para obtener una cuenta de BentoCloud aquí.
Obtenga un token API; consulte las instrucciones aquí.
Envíe su Bento a BentoCloud:
bentoml push voicegpt:vmjw2vucbodwkcvj
Implemente a través de la interfaz de usuario web, consulte Implementación en BentoCloud
Y envíelo a BentoCloud.