能接電話的AI語言導師
一個基於Telnyx API的開源專案,讓使用者透過電話與AI進行外語對話練習。系統利用語音識別、AI推理和文本轉語音技術,實現即時互動。
一個名為“AI Language Learning Phone Tutor”的開源專案近日在開發者社群引起關注。該專案利用Telnyx通訊平臺,讓使用者透過普通電話與AI進行外語對話練習。使用者只需撥打一個號碼,系統便會自動接聽並開始互動。該專案基於Python開發,使用Telnyx的AI推理API(/v2/ai/chat/completions)進行對話處理,同時利用呼叫控制Webhook管理通話生命週期。
當來電被應答時,AI會播放歡迎語音,然後收集使用者的語音或按鍵輸入。收集到的輸入被髮送給AI推理引擎,後者生成回覆並透過文本轉語音(TTS)播放。整個過程形成一個迴圈,直到使用者結束通話。該專案支援多種事件處理,包括call.answered、call.gather.ended、call.hangup、call.initiated、call.speak.ended以及message.received。系統架構清晰:來電首先進入應答和問候模組,隨後收集DTMF輸入,然後呼叫AI推理引擎進行翻譯或對話,最後以JSON響應返回。
專案提供了詳細的配置指南。開發者需要複製.env.example檔案並填寫環境變數,包括TELNYX_API_KEY(Telnyx API v2金鑰)、AI_MODEL(AI推理模型名稱,如moonshotai/Kimi-K2.6)、TUTOR_NUMBER(教程號碼)和PORT(HTTP伺服器埠)。部署步驟簡單:克隆GitHub倉庫,安裝依賴,執行Python指令碼即可啟動本地伺服器。如果需要公網訪問,可以使用ngrok隧道暴露本地埠,並在Telnyx Portal中配置Webhook URL。
該專案還提供了REST API介面,如GET /sessions用於檢視當前會話(返回會話ID、狀態、持續時間和輪次),GET /health用於健康檢查(返回狀態、執行時間、活躍會話數和版本)。Webhook端點POST /webhooks/voice接收Telnyx呼叫控制事件,並給出了事件示例。故障排除部分列出了常見問題:401 Unauthorized(API金鑰無效或缺失)、Webhook未收到(本地伺服器不可公開訪問)、422 Unprocessable Entity(請求欄位缺失或格式錯誤)。
此外,專案還列出了相關示例,如AI After Hours Emergency Triage、AI Assistant Knowledge Base等,以及資源連結(呼叫控制指南、AI推理指南、Telnyx開發者文件)。Telnyx平臺本身是一個AI通訊基礎設施,提供語音、訊息、SIP、AI和物聯網服務,執行在私有全球網路上。這個專案展示瞭如何將AI對話能力整合到傳統的電話系統中,為語言學習提供了一種新穎的實踐方式。