写点什么

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

  • 2025-12-05
    浙江
  • 本文字数:1680 字

    阅读完需:约 6 分钟


实时语音模型让我们可以轻松构建能即时响应的语音助手 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_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>
复制代码


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



memU





阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么



用户头像

还未添加个人签名 2021-02-05 加入

RTE 开发者社区聚焦实时互动与对话式 AI,提供技术分享、创新项目、活动直播与播客;服务 Voice Agent、Real-Time AI 的开发者与创业者。

评论

发布
暂无评论
构建拥有记忆的端到端实时语音助手:TEN Framework + memU 教程丨社区来稿_RTE开发者社区_InfoQ写作社区