TEN framework
扫码查看

用于创建实时对话式AI代理的开源框架

TEN framework

综合介绍

TEN是一个开源的生态系统,专为开发者设计,用于创建、定制和部署能够进行实时语音、视觉和虚拟形象互动的人工智能代理。这个框架的核心在于实现低延迟、全双工的对话体验,让AI代理能够像人一样自然地交流。它不仅仅是一个软件框架,还包含了一系列工具,比如TMAN Designer,这是一个图形化界面,用户可以通过拖拽节点的方式,无需编写大量代码就能构建和设计自己的AI代理工作流。TEN还支持与多种大型语言模型(LLM)和第三方服务(如语音识别、语音合成)集成,并能够在硬件设备上运行,为实现各种场景下的智能交互提供了基础。整个项目是开源的,鼓励社区成员共同参与开发和改进。

功能列表

  • 实时语音交互:支持低延迟的全双工语音对话,允许用户与AI代理进行自然、连续的交流。
  • 多模态能力:集成了语音、视觉和虚拟形象互动。支持实时视觉识别、屏幕共享内容分析以及实时生成图像。
  • 图形化工作流设计:提供名为“TMAN Designer”的低代码/无代码工具,用户可通过拖放组件的方式构建和配置AI代理的逻辑流程。
  • LLM平台集成:能够无缝集成多种大型语言模型平台,如Dify、Google Gemini,并兼容任何与OpenAI兼容的LLM。
  • 可扩展的插件系统:支持集成Agora、Deepgram、Elevenlabs等第三方服务,用于实现语音识别(ASR)、文本转语音(TTS)等功能。
  • 硬件集成:支持在嵌入式硬件(如Espressif ESP32开发板)上运行,实现AI代理在物理设备上的应用。
  • 虚拟形象驱动:能够与Trulience等虚拟形象平台集成,通过AI驱动虚拟形象,提供更具吸引力的互动体验。
  • 跨平台部署:支持使用Docker进行容器化部署,方便在本地或云服务器上托管AI代理服务。
  • 开源社区:项目基于Apache 2.0许可证开源,拥有活跃的社区,并提供详细的文档和贡献指南。

使用帮助

TEN framework提供了一套完整的工具链,让开发者可以从零开始构建一个功能强大的对话式AI代理。下面将详细介绍如何在本地环境中安装、配置并运行一个基础的TEN Agent。

第一步:准备环境和依赖

在开始之前,你需要准备好以下软件和API密钥,这些是运行TEN Agent所必需的。

1. 安装核心软件:

  • Docker 和 Docker Compose: TEN Agent使用Docker容器来管理其复杂的运行环境,这大大简化了部署流程。请确保你的系统上已经安装了最新版本的Docker和Docker Compose。
  • Node.js: 需要v18或更高版本的Node.js。
  • Git: 用于从GitHub克隆项目仓库。

2. 获取API密钥:TEN Agent需要集成多个第三方服务来实现其核心功能,你需要注册以下服务并获取免费的API密钥或许可:

  • Agora (声网): 用于提供实时音视频通信能力。你需要注册并获取App IDApp Certificate
  • OpenAI 或兼容的LLM: 用于驱动AI的对话逻辑。你需要获取一个API key
  • Deepgram: 用于语音转文本(ASR)。注册后可以获得免费额度。
  • Elevenlabs: 用于文本转语音(TTS)。注册后可以获得免费额度。

系统最低要求:

  • CPU: 至少2核
  • 内存: 至少4GB

第二步:克隆仓库并配置

  1. 克隆项目打开终端,使用git将TEN framework的官方仓库克隆到你的本地电脑:
    git clone https://github.com/TEN-framework/ten-framework.git
    cd ten-framework
    
  2. 配置环境变量进入ai_agents目录,这里是TEN Agent的主要工作区。项目提供了一个环境变量模板文件.env.example,你需要复制一份并重命名为.env
    cd ai_agents
    cp ./.env.example ./.env
    

    接下来,用文本编辑器打开.env文件,将你在第一步中获取的Agora App ID 和 App Certificate 填入相应的位置。其他API密钥将在后续步骤中通过图形界面配置。

    AGORA_APP_ID=YOUR_AGORA_APP_ID
    AGORA_APP_CERTIFICATE=YOUR_AGORA_APP_CERTIFICATE
    

第三步:构建并运行Agent

  1. 启动开发容器ai_agents目录下,运行以下命令来启动所有必需的开发容器。Docker会自动下载镜像并创建容器,这个过程可能需要几分钟。
    docker compose up -d
    

    -d参数表示在后台运行容器。

  2. 进入容器为了执行构建命令,你需要进入正在运行的ten_agent_dev容器的命令行环境。
    docker exec -it ten_agent_dev bash
    
  3. 构建Agent进入容器后,你可以开始构建AI代理。项目提供了一个任务脚本来简化这个过程。默认情况下,它会构建一个基础的语音助手。
    task use
    

    这个命令会执行预设的构建流程,编译代码并生成代理,过程大约需要5到8分钟。

  4. 启动Web服务器构建完成后,启动Web服务器以运行TMAN Designer和代理后端服务。
    task run
    

第四步:通过TMAN Designer定制和运行代理

  1. 访问TMAN Designer打开你的浏览器,访问 http://localhost:49483。你会看到一个图形化的工作流编辑器界面。
  2. 加载工作流图在画布上右键单击,从菜单中选择"Load Graph",然后选择一个示例图,例如"Voice Assistant"。画布上会加载出预设的节点和连接,这些节点代表了AI代理处理信息的流程。
  3. 配置插件API密钥在工作流图中,找到代表不同功能(如LLM、ASR、TTS)的节点。单击每个节点,在右侧的属性面板中,填入你在第一步中准备好的API密钥(如OpenAI, Deepgram, Elevenlabs的密钥)。
  4. 运行代理所有配置完成后,在画布上右键单击,然后选择"Run"。此时,你的AI代理就正式开始运行了。你可以通过麦克风与它进行实时语音对话,测试它的各项功能。

通过以上步骤,你就完成了一个基础对话AI代理的部署和运行。你可以继续在TMAN Designer中探索,通过添加、删除或重新连接节点来定制代理的行为,创造出满足特定需求的智能应用。

应用场景

  1. 智能客服与虚拟助理可以将TEN framework部署为网站或应用的智能客服,通过实时语音对话解答用户问题、处理用户请求。它能提供比传统文本机器人更自然、高效的交互体验。
  2. AI伴侣与数字人结合虚拟形象技术,可以创造出具有情感和个性的AI伴侣。用户可以与其进行开放式对话,用于情感支持、娱乐互动或语言学习等场景。
  3. 智能硬件设备由于TEN能够部署在ESP32等嵌入式硬件上,它可以作为智能音箱、智能家居中控或机器人等设备的“大脑”,让这些硬件具备强大的语音交互能力。
  4. 游戏与虚拟世界NPC在游戏或元宇宙应用中,使用TEN驱动非玩家角色(NPC)。这可以使NPC的行为和对话更加智能和不可预测,极大地增强了虚拟世界的沉浸感和真实感。

QA

  1. TEN framework是完全免费的吗?TEN framework本身是开源且免费的,你可以自由使用和修改。但是,它依赖的一些第三方服务,如OpenAI的LLM、Deepgram的语音识别和Elevenlabs的语音合成,这些服务在超出免费额度后可能会产生费用。
  2. 我需要具备很强的编程能力才能使用TEN吗?不一定。TEN提供了TMAN Designer,这是一个低代码/无代码的图形化工具。通过它,非程序员也可以通过拖拽和配置节点的方式来构建和定制AI代理。当然,如果你具备编程能力,则可以更深入地自定义框架的核心功能或开发新的功能模块。
  3. TEN支持哪些语言?TEN框架本身是语言无关的,但其对话能力很大程度上取决于所集成的语言模型(LLM)、语音识别(ASR)和文本转语音(TTS)服务。如果你选择的服务支持多种语言(例如,许多主流LLM和ASR/TTS服务都支持多语言),那么你构建的代理也就能支持这些语言。
  4. 我可以在自己的服务器上部署TEN Agent吗?可以。TEN Agent被设计为可以使用Docker进行容器化部署。官方文档中提供了详细的部署指南,你可以按照指南将定制好的代理部署到任何支持Docker的私有服务器或云平台上。
微信微博Email复制链接