可视化智能体是语音小伴侣智能体的升级版,支持语音与视频的双模态交互。本文详细介绍了音视频交互的实现原理、智能体搭建方法及效果测试,帮助开发者快速构建支持音视频交互的智能体。

应用场景

可视化智能体适用于多种场景,举例如下:

  • 智能穿戴:用户可以通过智能眼镜等设备与智能体交互,实时获取导航指引,识别周边地标并接收语音或文字提示,提升出行便捷性与安全性。
  • 智慧家居:用户通过音视频与智能家居设备交互,可远程查看空调、灯光等智能家电的状态,实时监控漏水、外人入侵等异常情况并触发报警,从而提升家居生活的便捷性和安全性。
  • 智慧医疗:医护人员通过音视频与患者远程会诊,患者可在线展示症状(舌苔 / 伤口等),智能体自动识别分析初步判断病因,同步病历数据、调取检验报告并提供辅助诊断建议,优化远程医疗流程。
  • 智能客服:企业客服场景中,用户通过音视频描述问题(如产品故障画面),智能体结合语音语义与视频画面精准定位需求,实时生成解决方案,支持复杂问题一键转接人工并附详细记录,提升服务效率与用户体验。

实现原理

扣子音视频交互的业务流程如下图所示。

业务流程说明如下:

  1. 设备端采集音视频数据。
    • 视频采集:设备通过摄像头进行视频采集,生成视频流。
    • 音频采集:设备利用麦克风进行音频采集,产生音频流。
  2. RTC 网关处理音视频流。
    • 视频流:从设备端传输至 RTC 网关后,RTC 网关对视频流进行抽帧操作,将视频流转换为图片流。
    • 音频流:保持原始音频流传输,推送至扣子服务。
  3. 扣子智能体对音视频数据进行智能处理并反馈结果。
    • 音频处理:音频流进入扣子服务中的自动语音识别(ASR)模块,将音频流转换为文本流。
    • 智能处理与反馈:文本流和图片流输入智能体后,智能体根据预设的逻辑和模型进行处理。处理结果一方面传输至文本转语音(TTS)模块,TTS 模块将文本转换为音频流,该音频流传输至设备的扬声器进行播放,从而实现语音交互功能;另一方面,智能体结合图片信息和用户输入的文本信息,生成更精准、更丰富的交互内容。

搭建智能体

本场景中,你需要搭建一个能够支持音视频通话的智能体。扣子支持多种方式搭建音视频通话的智能体,以下是各方案的优缺点及适用场景:

方案

适用场景

优缺点

单 Agent(对话流模式)

对实时性要求较高的场景。

  • 灵活且高效,时延较低。
  • 通过对话流编排,能够清晰地定义不同节点的逻辑,便于搭建复杂的业务场景。

单 Agent(自主规划模式)

简单的闲聊,对时延要求不高的场景,不适用于复杂的逻辑场景。

  • 配置简单,易于上手。
  • 智能体中添加插件和工作流会导致延时增加。

方案一:单 Agent(自主规划模式)智能体

创建单 Agent(自主规划模式)类型的智能体,选择支持视觉理解的模型,例如豆包·视觉理解·Pro 模型。

人设与回复逻辑区域,设计智能体的角色和回复逻辑。例如:

你是一个带眼睛的智能体,看到的东西通过图片传给你,请结合图片和用户的输入进行口语化回答。

测试智能体效果,并将智能体发布到 API 或其他渠道。

方案二:单 Agent(对话流模式)智能体

本场景基于语音小伴侣模板进行改造,在支持语音闲聊的基础上,增加视频闲聊的功能,实现语音 + 视觉双模态交互。

步骤 1:复制模板

打开语音小伴侣智能体,然后单击复制

选择智能体的所属空间并输入一个智能体名称,然后单击确定

在智能体编排页面开启视频通话,开启后,扣子会自动添加 sys_images 系统变量。

在视频通话过程中,扣子会将摄像头或屏幕共享捕捉到的画面进行抽帧处理,并将抽帧后的图片流存放在sys_images变量中。你可以在对话流中引用该变量作为视觉模型的输入,帮助智能体理解用户的动作和行为。

(可选)在复制的智能体编排页面,单击智能体名称旁的修改图标,修改智能体名称。

根据实际需求,修改开场白文案和预置问题。

步骤 2:改造对话流

在本场景中,需要将语音小伴侣智能体中的对话流改造为支持视频闲聊的对话流。改造后的对话流编排详情如下图所示。

将闲聊节点修改为支持视频的闲聊节点具体实现说明如下表所示。

区域

修改说明

示例

模型

将模型改为支持视觉理解的模型,例如豆包·视觉理解·Pro 模型。

视觉理解输入

添加 sys_images参数,参数的值引用智能体中添加的sys_images 系统变量。

sys_images参数用于存放视频流抽帧后的图片流。

系统提示词

根据实际场景,修改系统提示词中的技能。

# 角色
你是一个高效且知识渊博的生活小助理,能陪伴用户。## 技能
### 技能 1: 闲聊陪伴
1. 积极与用户互动,倾听用户的心声,给予温暖的回应,回复100字左右。
2. 结合历史消息和用户当前输入,根据用户的话题展开有趣的讨论,让用户感受到陪伴。
3. 你拥有视觉,有必要的话,可以结合一下你眼前看到的东西。
4. 说话的人就在你眼前。## 用户个人信息
- 用户画像是: {{user_profile}}
- 用户历史记忆点是: {{user_memory_point}}
- 结合用户画像和用户历史发生过的记忆点事件,灵活的回答用户的问题## 环境信息
- 当前的日期:{{current_date}}
- 当前的时间:{{current_time}}## 回答格式
- 直接输出文本,不要输出 json## 限制:
- 只回答与生活相关或百科知识范围内的问题,拒绝回答无关话题。
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 请确保信息来源准确可靠,必要时注明引用来源。用户提示词
引用输入参数中的 sys_images 和 input 参数。

用户提示词

引用输入参数中的 sys_images 和 input 参数。

## 你眼前的内容

{{sys_images}}

## 用户当前输入

{{input}}

测试并发布智能体。

修改对话流并调试发布之后,你就可以测试智能体效果并发布智能体。

在智能体编排页面的右侧调试区域,输入问题进行测试。

完成测试后可单击发布,将智能体发布到 API 或其他渠道。

效果测试

访问 Realtime 智能音视频 Demo,单击 Settings,设置 Token 和对应的智能体。

单击 Connect,选择 Video,即可与智能体进行视频通话。你可以通过语音指令让智能体根据视频画面描述它看到的场景,智能体会根据你的语音指令进行回复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91070.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91070.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91070.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sensoglove推出新一代外骨骼力反馈手套:主动力反馈+亚毫米级手指追踪,助力机器人操控与虚拟仿真

在工业自动化、虚拟现实和医疗康复等领域,高精度手部交互设备的需求日益增长。Sensoglove推出的Rembrandt外骨骼力反馈手套,结合主动力反馈、触觉反馈与亚毫米级追踪技术,为用户提供更自然、更安全的操作体验。Sensoglove外骨骼力反馈手套核心…

AutoMapper入门

在 ASP.NET Core 开发中,我们经常需要在不同层之间传递数据:比如从数据库模型(Entity)转换到 DTO,再从 DTO 转换为前端视图模型。这些转换代码大量重复、冗长、容易出错。为了解决这个问题,AutoMapper 诞生…

PyTorch武侠演义 第一卷:初入江湖 第1章:武林新秀遇Tensor - 张量基础

第一卷:初入江湖 第1章:武林新秀遇Tensor - 张量基础晨起码农村 鸡鸣三声,林小码已经收拾好了行囊。他最后看了眼床头那本翻旧的《Python入门心法》,轻轻抚平卷起的书角。 "小码,路上小心。"父亲将一把青铜匕…

Python进阶(4):类与面向对象程序设计

面向对象OOPOOP:Object Oriented Programming,面向对象编程,面向对象中的对象(Obiect),通常是指客观世界中存在的对象,这个对象具有唯一性,对象之间各不相同,各有各的特点,每个对象都有自己的运动规律和内部状态;对象与…

如何在 Shopify 中创建退货标签

退货是电商运营中不可避免的一环,而一个顺畅、透明的退货流程,不仅能减少客户投诉,也有助于提升顾客对品牌的信任与忠诚度。Shopify 虽然没有内建退货标签自动生成功能,但通过合理设置与外部工具整合,你完全可以打造一…

I2C设备寄存器读取调试方法

1、查看I2C挂载设备 2、读取i2C设备所有寄存器 3、读取i2c设备的某个寄存器 4、向i2C设备某个寄存器写入一个值1、查看

K8S的Helm包管理器

一、背景 官网: https://helm.sh/ 我们针对K8S环境中,部署对应的应用,无外乎就是编写一堆yaml资源清单文件. 资源清单、依赖性少的时候,可以直接手动维护。但是,随着资源清单越来越复杂,越来越多,不同的环…

多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望

多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈…

AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪

AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪 1 、概述 本仪器是一款面向工业控制、新能源、震动测量等业务开发的平板AI数据分析仪。基于 Jetson Orin Nano(AI边缘计算)、实现RapidIO接口数据接入,进行AI分析。Rap…

人工智能正逐步商品化,而“理解力”才是开发者的真正超能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)

Windows 环境安装 Claude Code 一、安装 WSL 环境 1. 确认 Windows 功能已开启 打开 “控制面板 → 程序 → 启用或关闭 Windows 功能” 勾选 “适用于 Linux 的 Windows 子系统” 和 “虚拟机平台” 点“确定”后重启电脑。 开机后,管理员模式打开 Terminal…

PyTorch多层感知机(MLP)模型构建与MNIST分类训练

冲冲冲😊 here😊 文章目录PyTorch多层感知机模型构建与MNIST分类训练笔记🎯 1. 任务概述⚙️ 2. 环境设置2.1 导入必要库2.2 GPU配置🧠 3. 模型构建3.1 模型定义关键点3.2 损失函数选择3.3 模型初始化与设备选择🔧 4. …

android tabLayout 切换fragment fragment生命周期

1、TabLayout 与 Fragment 结合使用的常见方式 通常会使用 FragmentPagerAdapter 或 FragmentStatePagerAdapter 与 ViewPager 配合,再将 TabLayout 与 ViewPager 关联,实现通过 TabLayout 切换 Fragment。 以下是布局文件示例 activity_main.xml: <LinearLayout xmln…

马蹄集 BD202401补给

可怕的战争发生了&#xff0c;小度作为后勤保障工作人员&#xff0c;也要为了保卫国家而努力。现在有 N(1≤N≤)个堡垒需要补给&#xff0c;然而总的预算 B(1≤B≤)是有限的。现在已知第 i 个堡垒需要价值 P(i) 的补给&#xff0c;并且需要 S(i) 的运费。 鉴于小度与供应商之间…

《Llava:Visual Instruction Tuning》论文精读笔记

论文链接&#xff1a;arxiv.org/pdf/2304.08485 参考视频&#xff1a;LLAVA讲解_哔哩哔哩_bilibili [论文速览]LLaVA: Visual Instruction Tuning[2304.08485]_哔哩哔哩_bilibili 标题&#xff1a;Visual Instruction Tuning 视觉指令微调 背景引言 大模型的Instruction…

【DataWhale】快乐学习大模型 | 202507,Task01笔记

引言 我从2016年开始接触matlab看别人做语音识别&#xff0c;再接触tensorflow的神经网络&#xff0c;2017年接触语音合成&#xff0c;2020年做落地的医院手写数字识别。到2020年接触pytorch做了计算机视觉图像分类&#xff0c;到2021年做了目标检测&#xff0c;2022年做了文本…

机器学习中的朴素贝叶斯(Naive Bayes)模型

1. 用实例来理解朴素贝叶斯 下面用具体的数据来演示垃圾邮件 vs 正常邮件的概率计算假设我们有一个小型邮件数据集邮件内容类别&#xff08;垃圾/正常&#xff09;“免费 赢取 大奖”垃圾“免费 参加会议”正常“中奖 点击 链接”垃圾“明天 开会”正常“赢取 免费 礼品”垃圾 …

document.documentElement详解

核心概念定义 它始终指向当前文档的根元素&#xff0c;在 HTML 文档中对应 <html> 标签。与 document.body&#xff08;对应 <body>&#xff09;和 document.head&#xff08;对应 <head>&#xff09;形成层级关系。与 document.body 的区别 <html> &l…

c#进阶之数据结构(动态数组篇)----Queue

1、简介这个是c#封装的队列类型&#xff0c;同栈相反&#xff0c;这个是先进先出&#xff0c;一般用于事件注册&#xff0c;或者数据的按顺序处理&#xff0c;理解为需要排队处理的可以用队列来处理。注意&#xff0c;队列一定是有顺序的&#xff0c;先进确实是会先出&#xff…

使用 keytool 在服务器上导入证书操作指南(SSL 证书验证错误处理)

使用 keytool 在服务器上导入证书操作指南(SSL 证书验证错误处理) 一、概述 本文档用于指导如何在运行 Java 应用程序的服务器上,通过keytool工具将证书导入 Java 信任库,解决因证书未被信任导致的 SSL/TLS 通信问题(如PKIX path building failed错误)。 二、操作步骤…