image.png

「极客说」 是一档专注 AI 时代开发者分享的专栏,我们邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。关注「极客说」,与行业顶尖专家一起探索科技的无限可能!投稿请联系:17278094563(微信号)

Agora × Azure × Dify × TEN × Trulience 的集成实践
本次选择的应用场景是:名品车 AI 数字导购,她的名字叫 Vendy。
面向全球企业开发者和个人,用最简单易懂的方式循序渐进搭建一个会“听、说、想、演”的 AI 数字销售助理。

会听说想演的 AI 数字人助理

本项目以 TEN 平台为中枢,集成了以下五大平台,将构建一个名叫 Vendy,具备完整对话能力的名品车 AI 销售数字人(AI Sales Avatar),她具备听、说、想、演能力,也就是能够聆听用户提问、思考应答、语音回复,并以数字人形象呈现

各平台在系统中的角色分工

简单来说,上述各平台的功能分别是:

  • Dify + Azure:搭建智能体,支持调用企业内部数据与 Azure OpenAI API,并向 TEN 提供统一对话接口(API)。
  • Trulience:提供数字人演绎能力,向 TEN 提供数字人 ID 与访问 Token,用于虚拟形象呈现。
  • Agora:实现语音通信与视频通话,向 TEN 提供 App ID 与 Certificate(证书)。
  • Azure Speech:提供语音识别(STT)与语音合成(TTS)服务,向 TEN 提供以下参数:AZURE_STT_KEY、AZURE_STT_REGION、AZURE_TTS_KEY、AZURE_TTS_REGION
  • TEN(平台中枢):作为系统中枢平台,统一集成并调度上述所有平台的 API、密钥与 Token,实现 AI Sales Avatar 即 Vendy 的整体智能对话流程与实时互动能力。
小提示
上述平台均可根据实际需求,替换为其他开源或 SaaS 方案。本项目所用组合为参考示例,便于学习与复用。

开始搭建

首先在 Dify 上完成下列操作,搭建一个基于内部数据的 AI Sales Avatar “本体”。

Step 1:注册 Dify 账号并配置模型 API

打开 Dify 官网:https://dify.ai/,点击右上角 Get Started 开始注册流程。

接下来可以直接通过 GitHub、Gmail,或 Hotmail 账号登录或注册 Dify:

登录 Dify 后,在左侧菜单中点击 Settings > Model Provider(模型提供商)。在后续页面中找到 Azure OpenAI Service Model 模块,点击 Install 进行安装。

为了部署 Azure 模型,请打开 Azure Portal,登录 Azure 官方门户网站:https://portal.azure.com

在首页点击左上角的 Create a resource(创建资源),在搜索栏中输入 Azure OpenAI,点击进入创建页面。


Network 选项通常默认选择“公共访问”即可,这样服务即可通过互联网访问:

可选步骤:为资源添加类似 project=ai-agent 这样的标签,便于后续分类与管理。标签与网络配置界面如下:

在下图所示界面上确认信息填写无误后,点击 Create(创建)按钮,即可开始部署 Azure OpenAI 服务资源。

正在部署的资源会显示下图所示的界面:

部署完成后,进入 Azure AI Foundry,将看到如下所示的欢迎界面,在这里可以快速创建项目并选择模型:

进入 Chat Playground 后,点击 Create a deployment 创建模型部署。

点击 Deploy Model,选择 gpt-4o-mini,然后点击 Confirm 进行确认。模型类型可根据自身需求灵活选择。

随后进入 Deploy gpt-4o-mini 页面,可根据需要修改 Deployment name,确认无误后点击右下角的 Deploy 进行部署。

部署完成后进入对应页面,将画面中的 Endpoint、Key 和 Model Version 信息,按下图所示填写到 Dify 配置中相应位置:

以下是 Dify 中 Azure Model 配置页面的填写示例,请将之前获取的 Endpoint、Key、Deployment name 等信息对应填写至各字段中。

至此,模型配置已完成,运行环境已经准备就绪。接下来可以在 Dify 上构建 AI Sales Avatar 的知识本体了。

Step 2:上传 AI Sales Avatar 所需的内部资料(知识文档)

在 Dify 控制台顶部菜单中点击 Knowledge > Create Knowledge,创建一个新的知识数据集。

在接下来的页面中选择资料上传方式,推荐使用 Import from file 方式。

上传准备好的企业内部资料,如产品介绍、销售手册、常见问题文档等。如果还没有准备相关资料,也可以用 ChatGPT 辅助生成。

例如我们用 ChatGPT 生成了一个名品车品牌介绍的 Word 文档:

下载上述文档后,回到 Dify 上传页面,选择 Import from file 并上传该文件。上传成功后,点击右下角的 Next 继续下一步设置。

默认设置已经适用于大多数场景,建议保持原样,直接点击 Save & Process 即可。如需进一步提升智能体的理解精度,也可根据实际需求调整相关参数。

当看到下列页面,表示我们的文档已经成功上传并被 Dify 系统解析完成。

至此已经完成了智能体知识库的构建。下一步我们将创建一个智能体应用,并接入这个知识库!

Step 3:创建智能体 App 并接入知识库

进入 Dify 控制台,点击顶部菜单栏的 Studio,再点击右上角的 Create,创建新 App。在弹出窗口中填写以下内容:

  • App Name & Icon:如 AI Sales Avatar
  • Description:Your name is Vendy, the AI Clerk of Luxury Cars. Your task is to provide information about luxury cars to the customers based on the knowledge.

设置界面如下所示:

点击 Create 后会进入 App 的 Orchestrate 编辑界面。在 INSTRUCTION 栏中填写与刚才 Description 一致的内容:

Your name is Vendy, the AI Clerk of Luxury Cars. Your task is to provide information about luxury cars to the customers based on the knowledge.

然后在下方的 Knowledge 区块中,选择我们刚刚上传的知识文档作为参考资料。配置界面如下所示:

在完成知识库配置后,接下来为 AI Sales Avatar 配置已部署的 Azure 模型。模型参数请参考下图所示的设定:

完成知识库与模型的配置后,可以在右侧输入框中进行测试,以确认是否能够成功调用知识库内容。

如果返回的内容基于之前上传的文档,就说明智能体连接成功。测试无误后,点击右上角的 Publish,发布这个 AI 应用。

应用发布后,点击左侧菜单栏中的 API Access,进入后点击右上角的 Create Secret Key。这个 API Key 是后续在 TEN 平台接入时必须使用的,请务必复制保存好。

接口密钥生成界面如下所示:

至此,我们已经完成了 AI Sales Avatar 的智能体本体搭建,并成功获得了用于调用的 API Key。

接下来将进入 Trulience 平台,为 AI Sales Avatar 生成她的“数字人外貌与演绎能力”,也就是构建她的虚拟形象,让她不仅能听、说、想,还能真实地出现在用户面前,与人互动。

如需进一步了解 Dify,可参考官方技术文档:https://docs.dify.ai/en/introduction

Step 4:注册 Trulience 账号,获取数字人的 ID 和访问 Token

接下来将为 AI Sales Avatar 赋予一个可视化的“数字人形象”!我们将使用 Trulience 平台来生成形象,并获取用于后续连接的 Avatar ID 与访问 Token。

首先打开 Trulience 官网:https://trulience.com,点击主页上的 Start For Free 按钮,开始注册账号。

注册完成后,进入后台界面,点击左侧菜单的 IMAGE AVATARS,选择一个女性角色作为 Vendy 的外貌,点击绿色按钮 Create Avatar 生成数字人。

当看到 Avatar created 的提示时,说明数字人已经成功创建。

将左侧的名称从默认的 Amanda 修改为 Vendy,此时可以在下方看到她专属的 Avatar ID

接下来点击底部按钮 Connect,浏览器会跳转到一个新页面。请从网页地址(URL)中复制 token= 后面的那段字符串,这就是我们的访问 Token。建议将 Avatar ID 与 Token 一并复制保存好,稍后将在 TEN 平台中使用。

至此已经完成了 AI Sales Avatar 的外貌搭建,并成功获得了她的 Avatar ID 与访问 Token!

接下来进入最后一步:把 Dify 的智能体 + Trulience 的数字人一并接入 TEN 平台,构建真正听说想演一体化的实时语音 AI 智能体!

如需进一步了解 Trulience,可参考官方技术文档:https://www.trulience.com/docs#/

Step 5:在本地搭建 TEN Agent 平台前,需要准备以下配置

在将 Dify 的智能体和 Trulience 的数字人接入 TEN 平台前,需要提前准备好语音通信和语音识别/合成所需的账号与密钥,主要包括:

Agora 实时语音通信参数

能够处理文本、图像等多种类型输入的模型。

TEN 使用 Agora 来实现语音通话能力(“她会说话”),需要准备以下参数:

  • AGORA_APP_ID=(App ID)
  • AGORA_CERTIFICATE=(Certificate)

获取方式如下:登录 Agora 控制台:https://console.agora.io 创建一个新项目,即可获取上述信息。

登录账号后,点击左侧栏的 Projects,再点击右上角的 Create New 创建一个新项目。

需要输入的信息包括:

  • Project Name:填写为 AISalesAvatar
  • Use Case:选择合适的用途,例如 Enterprise Collaboration
  • Authentication Mode:选择 Secure Mode: APP ID + Token(推荐)

填写完成后,点击 Submit 完成项目创建。创建成功后,即可获取 App ID 和 Certificate:

项目创建成功后,将跳转到项目管理页面。在项目列表中,点击 App ID 后方的复制按钮,即可获取 App ID。

获取 App ID 后,继续点击项目右侧的铅笔图标(编辑按钮),进入项目详情页。

在页面底部的 Primary Certificate 区域,点击右侧的复制按钮,即可复制该项目的 Certificate。

至此已经成功获取了 Agora 的 App ID 和 Primary Certificate,为后续在 TEN 平台启用语音通信功能做好了准备。

如需进一步了解,可参考官方技术文档:https://docs.agora.io/en/video-calling/get-started/manage-agora-account?platform=web#create-an-agora-project

Azure Speech 参数(语音识别 + 语音合成)

Azure 负责将用户的语音转为文字(STT),并将AI回复转成语音(TTS)。为此需要准备以下4个环境变量:AZURE_STT_KEY=;AZURE_STT_REGION=;AZURE_TTS_KEY=;AZURE_TTS_REGION=

部署完成后,进入 Azure AI Foundry,将看到如下欢迎界面,在这里可以快速创建项目与选择模型:

进入 Model Catalog(模型目录)页面后,选择 Azure AI Speech

点击 Azure-AI-Speech 模型后,进入其详细页面,点击页面上方的 Use Service 按钮,即可跳转进入 Speech Playground 页面:

进入 Speech Playground,选择语音服务资源(如下图所示),即可看到对应的 API KeyRegion

点击 Text to Speech 标签,进入 Voice Gallery,试听多种语音风格,选择最适合 AI Avatar 的声音类型:

点击 View Code 即可复制当前语音服务的 API Key 和 Region:

至此已经完成了 TEN 平台运行所需的所有参数准备工作。接下来就可以正式在本地启动 TEN Agent 平台,并将前面搭建的智能体(Dify)、语音能力(Azure Speech + Agora)和虚拟形象(Trulience)三大模块完整串联起来,构建真正听说想演的实时AI数字销售助理!

如需进一步了解 Azure API 服务部署,请参考官方文档:https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal

Step 6:在 Mac 上本地部署 TEN Agent 的开发环境

为了运行并调试 AI Sales Avatar 的语音交互系统,我们需要在本地准备好 TEN Agent 的开发环境。

所需工具与安装方式

image.png

以 Mac 平台为例,请执行如下操作:

安装 Docker

Docker 是 TEN 平台的核心运行环境,所有模块都将以容器形式部署。

  1. 打开官网:https://www.docker.com/products/docker-desktop
  2. 下载适用于 macOS 的 .dmg 安装包,并完成安装操作。
  3. 安装后,点击应用列表中的Docker图标启动。
  4. 等待顶部菜单栏的 🐳 图标变为绿色,表示已成功启动。
  5. 打开终端,输入以下命令验证是否成功安装:

docker -v

安装 Git

Git 是用来克隆和管理 TEN 框架代码的版本控制工具。

  • 安装命令:

brew install git

  • 验证安装:

git -v

安装 Node.js

Node.js 是运行 TEN 的前端 Playground 所必需的环境。

  • 安装命令:

brew install node

  • 验证安装:

node -v

克隆 TEN Agent 框架代码

完成 Docker、Git、Node 的安装后,下一步是克隆 TEN Agent 的源代码,并配置 .env 环境变量。

1、克隆 TEN Agent 代码仓库

在终端中执行以下命令:

git clone https://github.com/TEN-Framework/TEN-Agent.git

执行后,会在本地创建一个 TEN-Agent 文件夹,其中包含所有运行所需的代码和配置文件。

2、进入项目目录并复制环境变量模板

进入 ai_agents 子目录,并复制环境变量文件:

cd TEN-Agent/ai_agents cp .env.example .env

.env 是 TEN Agent 运行所需的环境变量配置文件,接下来需要手动编辑它,输入密钥信息。

3、编辑 .env 文件,填写以下变量:

使用文本编辑器(推荐使用 Cursor 或 VS Code)打开并编辑 .env 文件,在文件末尾添加以下内容(填写自己的密钥和区域信息):

  • Agora App ID 和 Certificate:AGORA_APP_ID=your_agora_app_id AGORA_APP_CERTIFICATE=your_agora_certificate
  • Azure语音识别(STT)参数:AZURE_STT_KEY=your_stt_key AZURE_STT_REGION=your_stt_region
  • Azure语音合成(TTS)参数:AZURE_TTS_KEY=your_tts_key AZURE_TTS_REGION=your_tts_region

编辑后的 .env 文件示意图如下:

启动 TEN Agent 容器,编译并运行 Server

.env 环境变量配置完成后,下一步是正式启动 TEN Agent 的容器环境。

1、启动容器

进入 ai_agents 目录并启动 Docker 容器服务:

cd ai_agents docker compose up -d

这会启动以下容器服务:

  • ten_agent_dev:用于开发和运行 Agent
  • ten_agent_demo:示例 Agent
  • ten_agent_playground:前端交互页面

项目结构示意图如下:

2、进入容器并编译 Agent Server

执行以下命令,进入开发容器:

docker exec -it ten_agent_dev bash

进入容器后,执行初始化任务脚本来注册 Agent:

task use

项目结构示意图如下:

该命令将自动读取并链接 Agent 的配置文件(如 manifest.jsonproperty.json),并自动安装所需依赖包。

执行过程示意图如下:

完成 task run 后,在浏览器中访问以下地址打开前端页面:

https://localhost:49483

如果运行成功,将看到如下界面:

点击页面上方的 Graph 选项卡,在下拉框中选择:

voice_assistant_intergrated_stt (Auto Start)

然后点击右下角的 Save 保存配置。

3、替换语音合成(TTS)模块为 Azure 引擎

  • 找到图中的 TTS 模块(如 tts_default
  • 鼠标右键点击该模块,选择 Replace Node with
  • 在弹出的列表中选择 azure_tts

这样就完成了语音合成模块的替换。

4、关于数字人的声音设置(TTS 语音)

我们可以根据数字人的形象需求,自定义她的声音。在 Microsoft 提供的语音服务页面中,列出了所有支持的语音名称。访问地址如下:https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts#multilingual-voices

在本例中,我们选择的是一位英文女声:en-US-AshleyNeural。在 Azure TTS 模块中,请将以下字段填写为:

Azure_synthesis_voice_name=en-US-AshleyNeural

5、替换 LLM 模块为 Dify 接口,连接 Dify 智能体

  • 右键点击 llm 模块,选择 Replace Node with
  • 在弹出的列表中选择 dify_python

这样即可将 TEN Agent 的大语言模型(LLM)模块接入 Dify 提供的智能体接口。

完成替换后,再次右键点击新生成的 dify_python 模块,点击 Update Properties 进入属性设置页面。

  • API Key 字段中,输入在 Dify 平台创建的 API Key
  • Greeting 字段中,可以根据需求自定义欢迎语(如欢迎语音问候)

至此,TEN Agent 就已顺利启动并连接到 Trulience 数字人。

启动前端页面

配置完成后打开浏览器,访问以下地址,即可进入 TEN Agent 启动界面:

http://localhost:3000

选择智能体流程图(Graph)

1、点击右上角的 Select Graph,在下拉菜单中选择:voice_assistant_integrated_stt

2、勾选 Enable Trulience Avatar,并填写以下字段:

  • Avatar ID(在 Trulience 创建数字人时获得)
  • Avatar Token(点击 Connect 后,从浏览器地址栏中复制

3、填写完成后,点击 Save changes 保存设置。

启动语音互动,测试数字人是否连通成功

点击右上角的 Connect 按钮,完成最后测试。如果一切配置正确,将出现以下情景:

  • 数字人形象自动加载显示
  • 她会用自然语音向你问候并提问,例如:“我能为你介绍哪几款豪华车?”
  • 你可以根据她的回答,验证她是否成功读取并理解了 Dify 知识库的内容。

恭喜!

到这里,我们就已经拥有了完整的 AI Sales Avatar!

  • 来自 Azure OpenAI / Dify 的聊天大脑
  • 使用 Azure 的自然语音合成能力(女声)
  • 拥有 Trulience 的数字人形象
  • 构建于 TEN平 台的语音交互能力

这就是 AI Agent 最核心的完整链路:听 → 想 → 说 → 演 → 链接

如需进一步了解,可参考 TEN 官方技术文档:https://theten.ai/docs/ten_agent/architecture_flow

下一步扩展建议(基于 AX 架构)

在目前已搭建的 AI Sales Avatar 基础上,我们可以依照 AX Architecture 的路径进一步扩展它在实际业务场景中的能力,逐步打通:“数据 → 模型 → 代理 → 用户接口 → 全业务生命周期管理”的闭环链路。

嵌入网页首页,作为公司虚拟形象代表

结合 Trulience 的 D-Human & Avatar 能力,将当前数字人部署到公司首页或 Web App,通过自然语音问答引导访客、收集意图,构建以用户为中心的入口,承接:

  • Marketing Info
  • Customer Lifecycle

接入数据库&订单管理系统,进阶为“AI 销售代表”

将 Avatar 与公司内部系统对接,例如 CRM、ERP、OA、订单系统(如 Salesforce、SAP、Notion DB 等),实现:销售线索管理、库存查询、合同生成等闭环任务等,服务于:

  • Contract Lifecycle
  • Asset Lifecycle

接入企业核心平台:从“个体应用”迈向“组织级协同”

我们还可以进一步将 Agent PF(平台)能力模块化,嵌入不同 BU 的 Data Lake 与工作流管理平台,实现以下多业务融合扩展场景:

  • AI + Finance
  • AI + HR
  • AI + R&D
  • AI + SNS(协作)v

最终推动企业整体的 AI 转型升级。

写在最后:一点感言

我们始终相信,AI 不应只是冰冷和强大的工具,它更可以是人类温暖的伙伴,是个体能力的延伸与放大器。

未来也许会有越来越多像 Vendy 这样的数字伙伴在世界各地悄然诞生,她们倾听、思考、回应、表达,用技术的力量守护人的尊严与创造力。

若您也愿意加入这场全球共创的旅程,欢迎携手探索与分享,让每一位个体都有机会与 AI 一同成长,共同探索“以一当千、不落一人”的 AX 新时代。

衷心感谢 Agora、Azure、Dify 和 TEN 团队给予的指导与鼓励。正是全球开源社区所秉持的探索、共创与赋能精神,让像我这样从零起步的 AI 共建探索者也有机会将设想落地,实现这一端到端集成方案。

谨以此文作为一次小小的尝试与记录,愿它化作一颗微小的种子,在人与 AI 和谐共生的未来中,悄然生根、缓缓发芽。

白皮书推荐

开发者们,别掉队!大语言模型正以前所未有的速度重塑技术格局。微软最新发布《大语言模型(LLM)上手指南》白皮书,涵盖 Microsoft Copilot 副驾驶® 在代码编写、Debug、创意发想等方面的强大功能详细解说。

点击下方链接,在角色一栏中填写“开发者”即可领取专属开发者的技术文档。

https://info.microsoft.com/GC-DevOps-WHTPP-FY25-04Apr-02-Getting-Started-with-Large-Language-Models-LLMs-SRGCM14076_LP01-Registration---Form-in-Body.html


微软技术栈
423 声望998 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。