實時語音模型讓我們可以輕鬆構建能即時響應的語音助手Agent。但如果想讓一個語音助手真的有“用”,僅僅能聽和説還不夠——它必須擁有記憶。
在本教程中,你將使用 TEN Framework + memU 構建一個具備實時語音能力與長期記憶的智能Agent,它可以記住和你發生的一切對話內容。
你將構建
基於本教程的實時語音 + 記憶 Pipeline,你可以將 Agent 擴展為:
- AI 夥伴 / 情感陪伴 Agent
- 語言學習或口語練習 Tutor
- 客服 / 銷售語音 Agent
- VTuber / 虛擬角色互動 Agent
- 外呼語音 Agent
... ...
完成本教程後,你將擁有一個支持跨會話記憶的端到端實時語音Agent,並可按需擴展至以上應用場景。
整體流程
本教程將指導你:
✔ 在本地運行 TEN Agent
✔ 集成 memU 實現可持續的長期記憶
整體處理流程如下:
User
│ (live audio)
▼
TEN Framework
├─ VAD / Turn Detection
├─ ASR (OpenAI Realtime)
├─ LLM Reasoning
├─ Memory Retrieval (memU → TEN)
├─ Memory Storage (TEN → memU)
└─ TTS (OpenAI Realtime)
▼
User
- TEN Framework 負責實時語音處理,包括音頻採集、輪次檢測、流式推理與響應播放等。
- memU 提供持久、跨會話的長期記憶,讓 Agent 能記住用户信息,而不是每次都從零開始。
二者結合,就能構建一個可立即投入應用的實時記憶語音 Agent。
操作步驟
本教程使用 Docker 來運行 TEN Agent 與 memU,確保本地環境一致。
請嚴格按照以下步驟操作,即可在幾分鐘內讓 Agent 跑起來。
1. 克隆代碼
git clone https://github.com/TEN-framework/ten-framework.git
cd ten-framework/ai\_agents
2. 準備環境變量文件
cp .env.example .env
3. 填入必要的密鑰
打開 .env 文件,填寫以下信息(只保留你實際使用的 provider):
# Agora (required for audio streaming)
AGORA_APP_ID=your_agora_app_id_here
AGORA_APP_CERTIFICATE=your_agora_certificate_here
# Voice-to-Voice Model Provider (choose one)
OPENAI_API_KEY=your_openai_api_key_here
# OR
AZURE_AI_FOUNDRY_API_KEY=your_azure_api_key_here
AZURE_AI_FOUNDRY_BASE_URI=your_azure_base_uri_here
# OR
GEMINI_API_KEY=your_gemini_api_key_here
# OR
GLM_API_KEY=your_glm_api_key_here
# OR
STEPFUN_API_KEY=your_stepfun_api_key_here
# Memu Memory Service
MEMU_API_KEY=<MEMU_API_KEY>
4. 啓動容器從項目根目錄執行:
從項目根目錄執行:
docker compose up -d
5. 進入容器,執行編譯後啓動服務器(建議關掉vpn)
5.1 進入 dev container
docker exec -it ten_agent_dev bash
5.2 設置 tman Registry
mkdir -p ~/.tman && echo '{ "registry": { "default": { "index":
5.3 設置 Go Proxy
export GOPROXY=https://goproxy.cn,direct
5.4 設置 Python/pip Proxy
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
export UV\_INDEX\_URL=https://pypi.tuna.tsinghua.edu.cn/simple
5.5 選擇示例 Agent 並運行
task use AGENT=agents/examples/voice-assistant-companion
task run
6. 打開 Web UI
當 Agent 成功運行後,在瀏覽器中訪問:
http://localhost:3000
你將看到語音助手UI
7. 確認 UI 是否正常顯示
🎉如果配置無誤,你應看到如下界面:
8. 開始語音對話
點擊 “Call” 即可開始與語音助手對話。
通話結束後,系統會將本次對話相關記憶存儲在 memU。
9. 測試記憶功能
嘗試重新連接 Agent,並詢問它之前的對話內容,例如:
- “我之前跟你説我最喜歡的食物是什麼?”
- “你還記得我的名字嗎?”
Agent 會檢索 memU 中的記憶做出回答。
10. 在 memU 後台查看記憶任務
你可以隨時登錄 memU 的 Dashboard 查看:
- 已存儲的記憶項
- 記憶結構
- 任務狀態
- 分類整理結果
你也可以嘗試通過修改 prompt、系統設定和參數,來打造專屬於你的 Agent
更多擴展學習與相關教程
TEN Framework
- GitHub: https://github.com/TEN-framework/ten-framework
- 文檔: https://theten.ai/docs
memU
- GitHub: https://github.com/NevaMind-AI/memU
- 雲上平台版本: https://app.memu.so/
- 文檔: https://memu.pro/docs
閲讀更多 Voice Agent 學習筆記:瞭解最懂 AI 語音的頭腦都在思考什麼