項目簡介
pipecat
?是用于構建語音(和多模態)對話代理的框架。諸如私人教練、會議助理、兒童講故事玩具、客戶支持機器人、攝入流程和尖刻的社交伙伴。
看看一些示例應用:
??
語音代理入門
您可以開始在本地計算機上運行 Pipecat,然后在準備就緒后將代理進程移動到云中。您還可以添加📞電話號碼、🖼?圖像輸出、📺視頻輸入、使用不同的 LLMs,等等。
1 # install the module
2 pip install pipecat-ai
4 # set up an .env file with API keys
5 cp dot-env.template .env
默認情況下,為了最小化依賴關系,只有基本的框架功能可用。某些第三方 AI 服務需要額外的依賴項,您可以使用這些依賴項進行安裝:
您的項目可能需要也可能不需要這些,因此它們作為可選要求提供。下面是一個列表:
-
AI services:?anthropic,?azure,?fal,?moondream,?openai,?playht,?silero,?whisper
-
Transports:?local,?websocket,?daily
代碼示例
-
基礎 — 相互構建的小片段,一次引入一個或兩個概念
-
示例應用程序 — 可用作開發起點的完整應用程序
本地運行的簡單語音代理
這是一個非常基本的 Pipecat 機器人,當用戶加入實時會話時,它會向他們打招呼。我們將使用 Daily 進行實時媒體傳輸,并使用 ElevenLabs 進行文本轉語音。
?
運行它:
?
Daily 提供預構建的?WebRTC?用戶界面。在應用程序運行時,您可以訪問?https://<yourdomain>.daily.co/<room_url>
?并聽機器人打招呼!
用于生產的 WebRTC
WebSocket?非常適合服務器到服務器的通信或初始開發。但對于生產用途,您需要客戶端-服務器音頻才能使用專為實時媒體傳輸而設計的協議。(有關 WebSockets 和 WebRTC 之間區別的解釋,請參閱這篇文章。
快速啟動和運行WebRTC的一種方法是注冊一個Daily開發者帳戶。Daily 為您提供用于音頻(和視頻)路由的 SDK 和全球基礎設施。每個帳戶每月可免費獲得 10,000 分鐘的音頻/視頻/轉錄時間。
在此處注冊并在開發者儀表板中創建房間。
什么是VAD?
語音活動檢測 — 對于了解用戶何時完成與機器人的通話非常重要。如果您不使用按壓通話,并希望 Pipecat 檢測用戶何時完成通話,VAD 是自然感覺對話的重要組成部分。
Pipecast 在使用 WebRTC 傳輸層時默認使用 WebRTC VAD。或者,您可以使用Silero VAD來提高精度,但代價是CPU使用率更高。
?
?首次使用 Silero 運行機器人時,啟動可能需要一段時間,同時在后臺下載和緩存模型。您可以在控制臺中查看此操作的進度。
黑客攻擊框架本身
請注意,在按照以下說明操作之前,您可能需要設置虛擬環境。例如,您可能需要從存儲庫的根目錄運行以下命令:????
?在此存儲庫的根目錄下,運行以下命令:
?這將生成包。若要在本地使用包(例如運行示例文件),請運行
運行測試
從根目錄中,運行:
項目鏈接
?