sougood
小众、高效的搜索引擎

构建拥有记忆的端到端实时语音助手:TEN Framework + memU 教程

实时语音模型让我们可以轻松构建能即时响应的语音助手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.gitcd ten-framework/ai_agents
  1. 准备环境变量文件
cp .env.example .env
  1. 填入必要的密钥

打开 .env 文件,填写以下信息(只保留你实际使用的 provider):

# Agora (required for audio streaming)AGORA_APP_ID=your_agora_app_id_hereAGORA_APP_CERTIFICATE=your_agora_certificate_here# Voice-to-Voice Model Provider (choose one)OPENAI_API_KEY=your_openai_api_key_here# ORAZURE_AI_FOUNDRY_API_KEY=your_azure_api_key_hereAZURE_AI_FOUNDRY_BASE_URI=your_azure_base_uri_here# ORGEMINI_API_KEY=your_gemini_api_key_here# ORGLM_API_KEY=your_glm_api_key_here# ORSTEPFUN_API_KEY=your_stepfun_api_key_here# Memu Memory ServiceMEMU_API_KEY=<MEMU_API_KEY>
  1. 启动容器

从项目根目录执行:

docker compose up -d
  1. 进入容器,执行编译后启动服务器(建议关掉vpn)

5.1 进入 dev container

docker exec -it ten_agent_dev bash

5.2 设置 tman Registry

mkdir -p ~/.tman && echo '{  "registry": {   "default": {    "index": "https://registry-ten.rtcdeveloper.cn/api/ten-cloud-store/v1/packages"   }  }}' > ~/.tman/config.json

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/simpleexport UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

5.5 选择示例 Agent 并运行

task use AGENT=agents/examples/voice-assistant-companiontask run
  1. 打开 Web UI

当 Agent 成功运行后,在浏览器中访问:

http://localhost:3000

你将看到语音助手UI

  1. 确认 UI 是否正常显示

🎉如果配置无误,你应看到如下界面:

  1. 开始语音对话

点击 “Call” 即可开始与语音助手对话。

通话结束后,系统会将本次对话相关记忆存储在 memU。

  1. 测试记忆功能

尝试重新连接 Agent,并询问它之前的对话内容,例如:

  • “我之前跟你说我最喜欢的食物是什么?”
  • “你还记得我的名字吗?”

Agent 会检索 memU 中的记忆做出回答。

  1. 在 memU 后台查看记忆任务

你可以随时登录 memU 的 Dashboard 查看:

  • 已存储的记忆项
  • 记忆结构
  • 任务状态
  • 分类整理结果

你也可以尝试通过修改 prompt、系统设定和参数,来打造专属于你的 Agent

更多扩展学习与相关教程

TEN Framework

memU


@sougood 社交搜索 —— 寥寥输入、万千结果,10倍信息获取效率