在LangSmith中追蹤語音代理
LangSmith現已支援對基於Pipecat、LiveKit、OpenAI Realtime和Gemini Live構建的語音代理進行追蹤。可以捕獲音訊、STT和TTS延遲、中斷、工具呼叫等資訊,並整合到一個追蹤中。
今天,我們宣佈在LangSmith中推出Python整合,用於追蹤四種流行的語音代理框架:Pipecat、LiveKit、OpenAI Realtime和Google ADK的Gemini Live。
語音代理正變得越來越實用,市場也在快速增長。這種增長得益於整個技術棧的進步:語音活動檢測模型更加精確,減少了中斷和尷尬的互動;語音模型聽起來更富情感和自然;而LLM現在足夠快速和智慧,能夠進行即時對話。
語音代理也需要可觀測性。構建語音代理在很多方面與構建基於聊天的代理相似:語音代理呼叫模型、使用工具、維護狀態、檢索上下文並做出決策。在生產環境中擴充套件語音代理時,你需要了解語音管道中任何時刻發生的情況,以及能夠與隊友共享追蹤、評估代理行為、除錯錯誤並隨時間改進代理——就像你對基於文本的代理所做的那樣。
話雖如此,語音追蹤和觀察有一些獨特的要求。透過此次釋出,我們宣佈了原生支援捕獲和追蹤語音互動,包括錄製對話音訊、追蹤語音到文本和文本到語音的推理、突出顯示中斷等。
現在,你的文本和語音代理可以共存於一個地方,使用你已經設定的相同審查和協作工作流程。
語音代理架構主要有兩種:“三明治”架構和語音到語音架構。在“三明治”架構中,代理由三個不同的推理元件鏈式組成:語音到文本(STT)、基於文本的代理和文本到語音(TTS)。每個輪次都流經這三個元件:使用者的音訊被轉錄,轉錄內容作為傳統基於文本代理的輸入,代理的輸出被合成為語音供使用者收聽。良好的“三明治”語音代理可觀測性需要能夠捕獲每個步驟的洞察:每個推理請求的後設資料、輸入和輸出,跨STT、LLM和TTS的延遲分解以確定輪次延遲的來源,語音活動檢測事件等。
相比之下,在語音到語音架構中,代理使用多模態模型構建,該模型原生處理音訊輸入並輸出音訊。使用這種架構,你的語音代理應用程式由透過雙向WebSocket流式傳輸的事件組成:你將代表使用者音訊的音訊事件傳送給模型,模型返回工具呼叫、中斷檢測事件、轉錄、音訊輸出等。對於語音到語音,你需要捕獲和檢查在網路上傳送和接收的事件,因為這些對於重建語音代理互動的真相和除錯應用程式至關重要。
使用LangSmith,你可以追蹤這兩種架構,並獲得生產對話的完全可觀測性。
透過我們新的追蹤整合,LangSmith捕獲每個生產追蹤中的關鍵執行。每個追蹤整合只需幾行程式碼即可設定,並讓你完全瞭解語音互動過程中發生的情況,包括:完整的對話音訊覆蓋在追蹤上;語音到語音模型事件,包含輸入、輸出和其他後設資料;語音到文本推理追蹤,包含延遲和其他後設資料;文本到語音推理追蹤,包含延遲和其他後設資料;使用者和代理的高階別輪次;語音活動檢測事件;中斷和重疊語音;模型輸入和輸出;工具呼叫、引數、結果和錯誤;語音管道每個階段的時序。
我們捕獲的每個事件和工作單元都出現在一個單一的追蹤樹中,這讓你可以追蹤互動如何從音訊到代理動作再到口頭響應。
現在就開始吧:為你的框架設定追蹤:Pipecat整合文件、LiveKit整合文件、OpenAI Realtime整合文件、Gemini Live與Google ADK整合文件。或者探索一個可工作的示例:https://github.com/langchain-ai/voice-demo