TEN框架是一个开源的软件平台,专注于帮助开发者构建实时、多模态、低延迟的语音AI智能体。它支持多种编程语言,包括C、C++、Go、Python、JavaScript和TypeScript。开发者可以通过TEN框架快速创建具有语音、视觉和文本交互能力的智能体。框架提供模块化的扩展系统,能够无缝集成外部平台,如Dify和Coze。它还支持在云端和边缘设备上部署,适合多种应用场景。TEN框架通过Apache 2.0许可证发布,鼓励开源协作,开发者可以自由参与代码贡献、文档改进或功能开发。官方文档和博客提供了详细的指导,适合初学者和专业开发者使用。
功能列表
- 支持实时语音交互:实现全双工对话,支持实时语音识别和文本转语音。
- 多模态支持:结合语音、视觉和文本处理,构建综合AI智能体。
- 模块化扩展系统:提供可复用的扩展,轻松集成外部工具如天气查询、网页搜索等。
- 跨平台运行:支持Windows、Mac、Linux及移动设备,兼容边缘设备如ESP32。
- 工作流构建工具:通过TMAN Designer提供低代码/无代码界面,简化智能体开发。
- 集成主流大模型:支持Llama 4、Google Gemini、DeepSeek R1等,提供实时交互能力。
- 实时图像生成:通过StoryTeller扩展,支持生成与故事相关的图像,增强交互体验。
- 开源协作支持:提供GitHub Issues和Projects,方便开发者贡献代码或反馈问题。
使用帮助
安装流程
TEN框架的安装过程因目标平台和开发需求而异。以下是基于官方文档的通用安装步骤,适用于大多数用户:
- 环境准备
- 确保系统安装了必要的开发工具。例如,C/C++开发需要安装编译器(如GCC),Python开发需要Python 3.8+环境。
- 安装Git以克隆TEN框架代码库。运行以下命令克隆仓库:
git clone https://github.com/TEN-framework/ten-framework.git
- 进入项目目录:
cd ten-framework
- 安装依赖
- TEN框架依赖多个第三方库,具体依赖列表在各包的
LICENSE
文件中。运行以下命令安装基本依赖:pip install -r requirements.txt
- 对于C/C++组件,TEN框架使用基于Google GN的构建系统。需要安装GN工具,具体步骤参考
ten_gn
子模块的README.md
:git submodule update --init --recursive cd core/ten_gn ./configure
- TEN框架依赖多个第三方库,具体依赖列表在各包的
- 配置外部服务
- TEN框架支持与外部API集成,如Deepgram(语音识别)、Elevenlabs(文本转语音)和OpenAI(大模型)。用户需注册这些服务并获取API密钥。
- 在项目根目录创建配置文件(例如
config.json
),填入API密钥:{ "agora_app_id": "<your_agora_app_id>", "openai_api_key": "<your_openai_api_key>", "deepgram_api_key": "<your_deepgram_api_key>", "elevenlabs_api_key": "<your_elevenlabs_api_key>" }
- 这些密钥可通过各平台免费试用获取,具体参考TEN Portal的文档。
- 运行Playground
- TEN提供了一个Playground示例,用于快速体验框架功能。运行以下命令启动:
python playground.py
- Playground支持与TEN Agent交互,展示实时语音对话和图像生成功能。
- TEN提供了一个Playground示例,用于快速体验框架功能。运行以下命令启动:
功能操作流程
实时语音交互
TEN框架通过TEN Agent实现实时语音交互。用户可以通过以下步骤体验:
- 启动TEN Agent后,选择DeepSeek R1或Google Gemini作为语言模型。
- 使用麦克风输入语音,系统会实时将语音转换为文本,并通过大模型生成回答。
- 回答会通过Elevenlabs的文本转语音功能以语音形式输出。
- 示例操作:说“讲一个关于森林的冒险故事”,TEN Agent会生成故事并通过StoryTeller扩展生成相关图像。
工作流构建(TMAN Designer)
TMAN Designer是一个低代码工具,适合快速构建AI智能体:
- 访问TMAN Designer的Web界面(需本地运行或访问官方提供的在线版本)。
- 在界面中拖放模块,创建语音交互流程。例如,添加“语音输入”模块连接到“OpenAI处理”模块,再连接到“语音输出”模块。
- 保存工作流后,点击“运行”按钮,测试智能体的交互效果。
- TMAN Designer支持暗/亮主题切换,内置编辑器和日志查看器,方便调试。
扩展集成
TEN框架的模块化设计允许开发者添加自定义扩展。例如,集成天气查询功能:
- 下载Weather Check扩展,安装到TEN框架的
extensions
目录。 - 在工作流中添加Weather Check模块,配置API密钥(例如OpenWeatherMap)。
- 测试流程:输入“今天北京天气如何”,系统会返回实时天气信息。
硬件支持(ESP32)
TEN Agent支持在ESP32-S3 Korvo V3开发板上运行:
- 克隆
TEN-Agent/esp32-client
分支。 - 使用ESP-IDF工具链编译并刷写固件,具体参考
esp32-client/README.md
。 - 配置Wi-Fi和API密钥后,ESP32设备即可运行TEN Agent,支持实时语音交互。
注意事项
- 确保网络连接稳定,因为部分功能依赖云端API。
- 定期检查GitHub上的更新,运行
git pull
获取最新版本。 - 如果遇到问题,可在GitHub Issues提交反馈,或加入TEN社区的Discord讨论(链接在TEN Portal)。
应用场景
- 教育辅助工具
TEN Agent可用于创建交互式学习助手。学生通过语音提问,智能体实时回答并生成相关图像。例如,学生询问“什么是火山”,TEN Agent会讲解火山形成原理,并生成火山喷发的图像,提升学习兴趣。 - 智能客服系统
企业可利用TEN框架构建实时语音客服,支持多语言交互。客服智能体能处理常见问题,如订单查询或技术支持,并通过Web Search扩展查找最新信息。 - 物联网设备控制
在智能家居场景中,TEN Agent运行在ESP32设备上,用户可通过语音控制家电。例如,说“打开客厅灯”,智能体会解析指令并发送控制信号。 - 儿童故事生成
家长可使用StoryTeller扩展,让TEN Agent为孩子生成个性化故事,并实时生成插图,增强沉浸式体验。
QA
- TEN框架是否免费?
TEN框架是完全开源的,基于Apache 2.0许可证发布。用户可免费下载和使用,但部分功能需要第三方API密钥,可能涉及费用。 - 需要编程经验才能使用TEN框架吗?
不一定。TMAN Designer提供低代码界面,适合无编程经验的用户。开发者可通过代码自定义功能,支持多种编程语言。 - TEN Agent支持哪些大模型?
目前支持Llama 4、Google Gemini、DeepSeek R1和OpenAI的模型,未来会扩展更多模型支持。 - 如何在边缘设备上部署TEN Agent?
可在ESP32等设备上运行TEN Agent,需安装ESP-IDF工具链并配置固件。具体步骤参考TEN-Agent/esp32-client
文档。