參考:中帖
BentoChain 是一個? LangChain部署範例使用? BentoML 的靈感來自 langchain-gradio-template。此範例示範如何使用 OpenAI API、Transformers 語音模型、Gradio 和 BentoML 建立語音聊天機器人。聊天機器人從麥克風獲取輸入,然後使用語音識別模型將其轉換為文字。
聊天機器人以文字回應使用者的輸入,可以使用文字轉語音模型向使用者播放該文字。
?將 LangChain 應用容器化為標準 OCI 鏡像。
?自動產生 OpenAPI 和 gRPC 端點。
☁️ 將模型部署為在最優化的硬體上運行並獨立擴展的微服務。
安裝 Python 依賴項。
poetry install
poetry shell
下載並儲存語音辨識和文字轉語音模型。
python train.py
在本地啟動應用程式。
bentoml serve
請造訪 http://0.0.0.0:3000 以取得 OpenAPI Swagger 頁面,造訪 http://0.0.0.0:3000/chatbot 以取得聊天機器人的 Gradio UI。請注意,麥克風輸入功能可能無法在 Google Chrome 等瀏覽器上執行,因為端點不是 HTTPS。但是,麥克風輸入在部署到 BentoCloud 後將發揮作用。
將應用程式建置為可分發的 Bento 工件。
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 提供了許多部署選項。設定文字嵌入服務的生產就緒端點最簡單的方法是透過 BentoCloud,這是由 BentoML 團隊為 BentoML 建構的無伺服器雲端平台。
後續步驟:
在此處註冊 BentoCloud 帳戶。
取得 API 令牌,請參閱此處的說明。
將您的 Bento 推送到 BentoCloud:
bentoml push voicegpt:vmjw2vucbodwkcvj
透過 Web UI 部署,請參閱在 BentoCloud 上部署
並推送到 BentoCloud。