Referenz: Mittlerer Beitrag
BentoChain ist ein ?️? LangChain-Bereitstellungsbeispiel mit ? BentoML inspiriert von der Langchain-Gradio-Vorlage. Dieses Beispiel zeigt, wie Sie einen Sprach-Chatbot mit der OpenAI-API, Transformers-Sprachmodellen, Gradio und BentoML erstellen. Der Chatbot nimmt Eingaben von einem Mikrofon entgegen, die dann mithilfe eines Spracherkennungsmodells in Text umgewandelt werden.
Der Chatbot antwortet auf die Eingaben des Benutzers mit Text, der dem Benutzer mithilfe eines Text-to-Speech-Modells vorgespielt werden kann.
? Containerisiert LangChain-Anwendungen als Standard-OCI-Images.
? Generiert automatisch OpenAPI- und gRPC-Endpunkte.
☁️ Stellt Modelle als Microservices bereit, die auf der optimalsten Hardware ausgeführt werden und unabhängig skaliert werden.
Installieren Sie Python-Abhängigkeiten.
poetry install
poetry shell
Laden Sie Spracherkennungs- und Text-to-Speech-Modelle herunter und speichern Sie sie.
python train.py
Starten Sie die Anwendung lokal.
bentoml serve
Besuchen Sie http://0.0.0.0:3000 für eine OpenAPI Swagger-Seite und http://0.0.0.0:3000/chatbot für eine Gradio-Benutzeroberfläche für den Chatbot. Beachten Sie, dass die Mikrofoneingabefunktion in Browsern wie Google Chrome möglicherweise nicht funktioniert, da der Endpunkt nicht HTTPS ist. Der Mikrofoneingang wird jedoch nach der Bereitstellung in BentoCloud funktionsfähig.
Erstellen Sie eine Anwendung in einem verteilbaren Bento-Artefakt.
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 bietet eine Reihe von Bereitstellungsoptionen. Der einfachste Weg, einen produktionsbereiten Endpunkt Ihres Texteinbettungsdienstes einzurichten, ist BentoCloud, die vom BentoML-Team für BentoML entwickelte serverlose Cloud-Plattform.
Nächste Schritte:
Melden Sie sich hier für ein BentoCloud-Konto an.
Holen Sie sich ein API-Token, Anweisungen finden Sie hier.
Übertragen Sie Ihr Bento auf BentoCloud:
bentoml push voicegpt:vmjw2vucbodwkcvj
Bereitstellung über die Web-Benutzeroberfläche, siehe Bereitstellung auf BentoCloud
Und und pushen Sie zu BentoCloud.