使用語音模式
語音模式在 AgentBuilder Desktop 中不可用。 要使用語音模式,請安裝 AgentBuilder OSS Python 套件。
您可以使用 AgentBuilder 的語音模式通過麥克風和揚聲器與您的FLOW進行口頭互動。
先決條件
語音模式需要以下項目:
-
具有 Chat Input、Language Model 和 Chat Output Components的FLOW。
如果您的FLOW有 Agent Components,請確保FLOW中的工具具有準確的名稱和描述,以幫助 agent 選擇要使用的工具。
此外,請注意語音模式會覆蓋 Agent Components的 Agent Instructions 欄位中輸入的指示。
-
OpenAI 帳戶和 OpenAI API 金鑰,因為 AgentBuilder 使用 OpenAI API 處理語音輸入和產生回應。
-
可選:ElevenLabs API 金鑰,以為 LLM 的回應啟用更多語音選項。
-
麥克風和揚聲器。
建議使用高品質麥克風和最小的背景噪音,以獲得最佳語音理解效果。
在 Playground 中測試語音模式
在 Playground 中,按一下 麥克風 以啟用語音模式,並通過麥克風和揚聲器與您的FLOW進行口頭互動。
以下步驟使用 Simple Agent 範本來演示如何啟用語音模式:
-
基於 Simple Agent 範本建立FLOW。
-
將您的 OpenAI API 金鑰 憑證新增到 Agent Components。
-
按一下 Playground。
-
按一下 麥克風 圖示以開啟 語音模式 對話框。
-
輸入您的 OpenAI API 金鑰,然後按一下 儲存。AgentBuilder 將金鑰儲存為 全域變數。
-
如果系統提示授予麥克風存取權限,您必須允許麥克風存取權限才能使用語音模式。 如果麥克風存取權限被封鎖,您將無法提供口頭輸入。
-
對於 音訊輸入,選取要與語音模式一起使用的輸入裝置。
-
可選:新增 ElevenLabs API 金鑰以為 LLM 的回應啟用更多語音。 AgentBuilder 將此金鑰儲存為全域變數。
-
對於 偏好語言,選取您想要用於與 LLM 對話的語言。 此選項會同時更改預期的輸入語言和回應語言。
-
對著您的麥克風說話以開始聊天。
如果配置正確,波形會記錄您的輸入,然後 agent 的邏輯和回應會以口頭方式描述,並在 Playground 中顯示。
使用 websockets 端點開發應用程式
AgentBuilder 為您的FLOW公開兩個與 OpenAI Realtime API 相容的 websocket 端點。 您可以針對這些端點建置應用程式,就像針對 OpenAI Realtime API websockets 建置一樣。
AgentBuilder API 的 websockets 端點需要 OpenAI API 金鑰 進行認證,並支援可選的 ElevenLabs 整合與 ElevenLabs API 金鑰。
此外,兩個端點都需要您在端點路徑中提供FLOW ID。
語音到語音音訊串流
/ws/flow_as_tool/$FLOW_ID 端點建立與 OpenAI Realtime 語音的連接,然後根據 OpenAI Realtime 模型 將指定的FLOW調用為工具。
這種方法適用於低延遲應用程式,但較不確定性,因為 OpenAI 語音到語音模型決定何時調用您的FLOW。
語音到文字音訊轉錄
/ws/flow_tts/$FLOW_ID 端點使用 OpenAI Realtime 語音轉錄 將音訊轉換為文字,然後直接為每個轉錄調用指定的FLOW。
這種方法更具確定性,但延遲較高。
這是 AgentBuilder Playground 中使用的模式。
Websockets 端點的會話 ID
兩個端點都接受可選的 /$SESSION_ID 路徑參數,為對話提供唯一 ID。
如果省略,AgentBuilder 使用FLOW ID 作為 session ID。
但是,請注意語音模式只在當前對話實例中維持上下文。 當您關閉 Playground 或結束聊天時,口頭聊天歷史記錄會被丟棄,並且不適用於未來的聊天會話。