如何使用TEN-Framework,把你的Rokid集成最新最酷的多模态AI应用(二)
撰写:朱逸骁Eason_方披萨
在之前的文章中,我写了如何在Unity Editor中接入语音能力,并使用TEN Framework让我们的智慧生命体在Unity中进行了初次会话,那么作为一个智慧生命体,当然也要能看见啦!
所以这次来到了AI接入视觉部分,好在声网与TEN Framework,同样给我们提供了相关AI+AR服务。这次我将会一步到位,直接帮助大家直接导入到Rokid Studio当中,让大家带上眼镜就能和AI实时对话和环境理解,用最新的技术做最酷的应用!
跟完这篇文章,你将收获:
用最快流程成功接入TEN Framework AI视觉能力,并在Unity Editor中集成测试,并成功导入Rokid Studio(6dof)。
Agora SDK下载地址:
https://doc.shengwang.cn/doc/rtc/unity/resources
注:需要用的 Agora_Unity_RTC_SDK_v4.4.0_FULL.zip
一、技术接入原理讲解
1)AI可以加入Channel
TEN Framework可以创建一个Agent并加入Agora的指定的Channel Name,在对应配置graph后,还可以达到监听Channel 中对应UID的用户摄像头的效果,达到与AI交互的效果。
2)结合Agora SDK和Rokid UXR 2.0 SDK,创建用户加入Channel
通过 Agora Unity SDK 提供的案例场景,可以创建用户加入Channel并传输 Unity的指定画面,Rokid UXR SDK 也提供了UXR案例来传递出摄像头的画面。
3)流程原理图
二、配置TEN Framework
首先确认我们安装的TEN Framework 是否已经成功激活了Azure服务并且能互动,没安装好的小伙伴,可以继续看吴彦祖的视频来进行安装TEN Framework,一定要配置好三个Key。
第一篇传送门,有教你怎么装三个Key的环节。
如果已经配置成功的话,在3002右上角选择:
AI会对大家的摄像头进行即时反馈。
如果有问题,可以通过在.env中的LOG_STDOUT=false设置来让dev输出日志到/tmp/Ten_agent,以便查找问题所在。

三、通过自带案例导出APK到Rokid Studio
导入Rokid SDK后熟悉RokidUXR2.0 SDK的朋友肯定知道,自带的 UXR2.0 Sample的 uxr008-CameraPreview中的PreviewTex(RawImage),会实时渲染摄像机的画面。
所以我们只需要把这张RawImage作为指定画面,传递到Agora Channel就可以达到我们想要的效果。
大家可以参考声网案例中的JoinChannelVideo代码,来进行改写,记得要转成声网要求的视频传输格式。
我们根据这个来转写:
大家可以根据我的代码来进行参考,代码是一步步调试成功的,启动就可以加入频道了,Token可以在声网控制台生成,也可以自行通过证书验证,备注都写好了。
确认一下创建了Token、appid和Channel name就可以导出了。

四、启动和调试
在安装完成对应频道这个APK以后,在眼镜端可以看到黑白色的画面,如果成功创建好频道,可以让Unity Editor也连入对应频道中,打开声网SDK中的BasicVideoCallScene 监控频道內发生了什么事情。

如果Token、appid、和Channel name匹配可以在unityEditor中看到这个画面 ,因为相机就是黑白的,如果需要的话,也可以用Studio Pro的画面。

在log界面可以监控userid的账号,我们可以选择直接在终端启动一个Agent服务,让AI调用起来,正式发布的话,可以把Agent布置在云端,启动眼镜后,让用户在自动启动Start,我们在这里就做一下终端的测试。
curl -X POST http://localhost:8080/start \
-H "Content-Type: application/json" \
--data-raw '{
"request_id": "53092bde-6966-44b0-bdad-b83a8e17900c",
"channel_name": "填入你的频道名",
"user_uid": 填入刚刚在unity中监控的id,
"graph_name": "camera.va.openai.azure",
"properties": {
"agora_rtc": {
"agora_asr_language": "zh-CN"
},
"openai_chatgpt": {
"model": "gpt-4o",
"checking_vision_text_items": "[\"让我看看你的摄像头...\",\"让我看一下...\",\"我看一下,请稍候...\"]"
},
"azure_tts": {
"azure_synthesis_voice_name": "zh-CN-YunxiNeural"
}
}
}'
完成后,就可以在眼镜中自由地对话了。
如链接中视频的效果:
这样就在Rokid Studio中集成TEN Framework、并导出相关应用,如果要导入自己的应用派生集成相关方法即可~