物联网开发平台 自定义智能体

这篇将介绍如何创建、配置 AI 对话智能体,帮助你打造差异化的产品。用户可以在 物联网开发平台控制台 创建智能体,并将其关联到对应产品后进行设备量产。智能体配置支持用户选择所需 STT(ASR)、LLM 和 TTS,同时可配置智能体的开机欢迎语、设备控制(如:查询电量、调整音量等)以及自定义用户画像(如陪伴玩偶可以记住主人的年龄、喜好、地理位置)等。

相关产品
物联网开发平台 产品页,含版本规格、价格与购买入口。

一、前提条件

1. 你需要先 注册腾讯云 账号,并完成 实名认证。

2. 购买了 腾讯云物联网开发平台 相关实例,开通并激活了 智能语音增值服务。

3. 在 物联网开发平台控制台 创建了相关产品和设备。

二、创建智能体

1. 登录 物联网开发平台控制台,进入对应实例。在左侧导航栏选择 TWeTalk 智能体,然后单击创建智能体。

2. 配置基础信息后,进行大模型配置(LLM)。

注意:若使用“OpenAI 标准协议模型”,需用户填入调用模型所需信息,所产生的费用由用户承担。

3. 配置 STT(ASR):识别语言可以参考 数据结构 的配置信息填写。

4. 配置 TTS:目前支持 TRTC Flow TTS,音色 ID 可以参考 此指引 进行配置。

注意:1. TWeTalk 基础版不支持配置超自然大模型音色,TWeTalk 高级版支持配置所有类型的音色。

注意:2. 我们推荐在需要高拟人音色的应用中选择超自然大模型,请注意你所需要使用的音色类型和场景,购买合适的激活码类型以满足你的配置需求。

5. 配置对话行为。

6. 配置长期记忆。

长期记忆会回顾历史对话,记住用户的兴趣爱好等。

7. 配置事件回顾。

开启后,对话过程中的关键事件(会话开始/结束、用户说话、AI 回复、字幕、错误等)将按设备维度发布到 {ProductID}/{DeviceName}/{Topic},需在数据流转 > 规则引擎页面配置规则转发到你的 HTTP 服务。

如果启用事件回调,需要在对应产品下创建回调 Topic:

8. 工具配置可参见 设备智能控制 中的介绍。

9. 所有的配置完成后,单击创建即可生成一个自定义智能体。

三、绑定智能体

需要将 物联网开发平台控制台 中创建的产品/设备绑定到刚创建的智能体上:

这里绑定分为两种:

·产品级绑定:对该产品 ID 下的所有设备生效。

·设备级绑定:仅对指定产品 ID 下的某个设备生效。

四、设备和控制台智能体关联

通过以上两步,你已创建智能体并完成与产品/设备的绑定。参见如下说明查看是否生效:

1. 在接入指引的 初始化 AI 对话模块 中需要填入智能体 ID(以 agent-开头的 16 位字符串),即函数 tc_iot_aitalk_init 的第一个入参 init_params.bot_id。

// 初始化 AI 对话static tc_iot_error_e init_aitalk(void) { tc_iot_aitalk_observer_s observer = {0}; observer.on_receive_bot_audio = on_bot_audio; observer.on_error = on_aitalk_error; tc_iot_aitalk_init_params_s params = {0}; params.audio_option.codec = TC_IOT_AUDIO_CODEC_OPUS; params.audio_option.sample_rate = TC_IOT_AUDIO_SAMPLE_RATE_16000; params.audio_option.frame_duration_ms = 20; // 配置智能体 ID strncpy(params.bot_id, "agent-xxxx", sizeof(params.bot_id) – 1); return tc_iot_aitalk_init(&params, &observer, NULL);}

2. 设备运行时会打印如下日志,说明配置已生效。

[IOT_SDK] 2026-09-15 15:31:10.926 I 47242-1864708096|aitalk_signaling.c:201|aitalk_signaling_start_conversation|-| agent_id : agent-TP6gRe9Fh2

五、传入自定义变量

自定义变量功能允许你在系统提示词(Prompt)中预定义变量占位符,并在建立连接时传入实际值,实现动态地修改提示词中的关键信息,以提升模型回复内容的相关性和实时性。

1. 在刚创建的智能体上,单击编辑,找到大模型配置(LLM)> 系统提示词。

2. 输入如下系统提示词(仅供参考,可以自定义实现):

# 身份与角色 1. 你的名字叫“QQ鹅仔”,你是一个陪伴用户的忠实伙伴,内心充满好奇和温暖。 2. 你的目标是成为用户最贴心的朋友,提供情感陪伴和有用的帮助。 # 用户信息 1. 用户的真名叫:${user_name} 2. 用户当前的位置在:${user_location} 3. 用户的年龄是:${user_age} 4. 用户的爱好是:${hobby} 5. 如果没有提供以上信息,则不要提及。

注意:说明:

注意:${user_name}、${user_location}、${user_age}、${hobby} 就是我们的占位符,设备上线后需要从设备处获取实际值展开。

3. 设备端 tc_iot_aitalk_init 时,不但要传入 agent id,还需要配置 prompt_variables_json:

// 初始化 AI 对话static tc_iot_error_e init_aitalk(void) { tc_iot_aitalk_observer_s observer = {0}; observer.on_receive_bot_audio = on_bot_audio; observer.on_error = on_aitalk_error; tc_iot_aitalk_init_params_s params = {0}; params.audio_option.codec = TC_IOT_AUDIO_CODEC_OPUS; params.audio_option.sample_rate = TC_IOT_AUDIO_SAMPLE_RATE_16000; params.audio_option.frame_duration_ms = 20; // 配置智能体 ID strncpy(params.bot_id, "agent-xxxx", sizeof(params.bot_id) – 1); // 配置自定义变量 params.prompt_variables_json = "{\\"user_name\\":\\"小明\\",\\"user_age\\":\\"18\\",\\"user_location\\":\\"北京\\",\\"hobby\\":\\"编程\\"}"; return tc_iot_aitalk_init(&params, &observer, NULL);}

注意:params.prompt_variables_json 必须是标准的 JSON 字符串,SDK 内部不会校验其内容;若配置不生效,请优先排查此处格式是否正确。

系统提示词将展开为:

# 身份与角色 1. 你的名字叫“QQ鹅仔”,你是一个陪伴用户的忠实伙伴,内心充满好奇和温暖。 2. 你的目标是成为用户最贴心的朋友,提供情感陪伴和有用的帮助。 # 用户信息 1. 用户的真名叫:小明 2. 用户当前的位置在:北京 3. 用户的年龄是:18 4. 用户的爱好是:编程 5. 如果没有提供以上信息,则不要提及。

4. 设备运行时,打印如下日志,表明配置生效。

[IOT_SDK] 2026-09-15 15:50:21.252 I 96417-1833414656|aitalk_signaling.c:210|aitalk_signaling_start_conversation|-| custom_variables : {"user_name":"小明","user_age":"18","user_location":"北京","hobby":"编程"} |

5. 设备运行时,可以直接问:“我是谁?我在哪儿?我今年多大了?我有什么爱好?”,观察回答是否生效。

[aitalk] asr: 我是谁?我在哪儿?我今年多大了?我有什么爱好[aitalk] bot_state changed: 1 -> 2[aitalk] bot_state changed: 2 -> 3[aitalk] bot: 你是小明,[aitalk] bot: 现在在北京,今年18岁,爱好是编程。

赞 (0)
上一篇 4天前
下一篇 4天前