logo
3

我用千帆智能体,做了一个智能毛绒挂件IoT应用

一、项目概述

本项目为千帆杯-智能硬件AIoT创意赛的参赛项目,旨在开发一款宠物类的智能体,可以为智能硬件的多种互动功能提供接口,以满足用户的解压和陪伴需求。硬件设备可基于传感器识别真实世界的多种互动行为,调用智能体API后,通过振动马达、语音和文字反馈给用户。
为直观演示硬件功能,我们制作了H5网页端来模拟硬件与人的互动,扫码并配合下面文档体验效果更佳!

二、目标用户群体

  • 用户画像:18-28岁之间的忙于学业或工作,没有太多机会与人互动,也没有条件养宠物,对于能够提供情感寄托和陪伴的产品有一定的需求和消费倾向的人群。
  • 需求分析:我们的目标用户群体主要面临以下问题:
    • 首先是情感需求方面,他们在工作中承受着巨大的压力,需要一个渠道来释放和缓解情绪。同时,由于独居生活,他们缺乏日常的情感交流和陪伴。虽然很多人都想养宠物(最典型的就是猫狗)来解决这个问题,但受限于现实条件无法实现这个愿望。
    • 其次是使用场景的限制,在公共场合环境下,他们需要一种不会打扰到他人的解压方式。而在独处时,他们希望能有一些互动和陪伴,但又不想承担太多的负担。
    • 最后是现有解决方案都存在一些不足。如果养真实的宠物会受到租房条件的限制,而且需要投入大量的时间和精力去照顾。而手机游戏虽然方便,但缺乏真实的物理体验。有些年轻人会用指尖陀螺、捏捏乐、传统毛绒挂件来解压或陪伴,但是提供的情绪价值是单一的,缺乏情感反馈。
  • 市场分析:《天猫618“松弛经济”爆发,成人向玩具销量高速增长》这份报告说明迎合年轻人的“松弛感”有巨大的市场机会,而毛绒挂件是其中的一个典型品类。

三、设计思路

我们参考了市面上的儿童陪伴智能硬件产品,了解到通过智能体结合智能硬件确实可以在现实生活中提供情绪价值。但也发现现有的智能硬件都是儿童陪伴类的,毛绒挂件领域没有相似的硬件产品,所以在此次比赛中将产品定位调整为面向年轻人的解压陪伴型智能挂件。通过结合宠物养成和情感陪伴的元素,做一个现代版“宠物机”,为用户提供独特的解压减压体验。
为了更好地了解用户需求,我们对目标用户群进行了一次小范围的问卷调查,获得了以下洞察:
  • 在收集的近百份问卷中,约一半的受访者表示从未使用过毛绒玩具,但有意愿拥有这么一款智能宠物。
  • "抚摸互动"功能最受欢迎,其他功能的吸引力相对平均
  • 用户普遍不希望玩具主动打扰,避免造成心理负担
  • 在性格设定上,用户更偏好真实自然的性格特征,其次是可爱和慵懒的特质
于是,我们总结出了产品优化方向:
  • 针对公共场合使用场景,增加声音开关控制功能
  • 强化最受欢迎的抚摸互动功能,移除有悖于解压主动求关注的设计
  • 通过优化大模型提示词,让智能体的对话风格更贴近设定的宠物人设
  • 设计渐进式的亲密度成长曲线:前期快速提升以提高用户参与感,后期放缓增长速度
  • 将智能体设定为半岁到一岁大的小猫形象,处于活泼好动的"青春期"
  • 在对话互动中,设置不同概率的回应方式:亲密度低时有较高概率简单回应"喵",低概率展开对话交流

四、硬件设定

本项目支持H5形态或智能硬件两种形态,根据每个硬件的外在形象,可绑定不同的智能体角色和性格特征(本次比赛采用"喵小橘"形象演示)。
智能硬件通过传感器实现丰富的互动方式,包括抚摸、按压、抱起、拍照和环境感知等,调用千帆平台智能体后,通过振动反馈、语音对话和文字显示等方式与用户互动,并且会增加亲密度。
系统支持亲密度养成,不同阶段会采用差异化的沟通风格,若长时间不互动,亲密度会缓慢下降。
为确保续航和在公共场合减少干扰,设备支持15分钟无互动自动休眠,可通过按键唤醒,休眠期间触摸仍然会有震动反馈,但不会调用智能体进行回复。
理想情况下会将硬件融合到毛绒挂件中实现上述功能,但考虑到实现难度,本次比赛中使用H5形象来模拟演示。
备注:为了方便评委展示,对各项数值做了优化处理,(亲密度设定为:陌生、熟悉、亲密、比较亲密、极度喜欢)加快了亲密度的累积与下降速度。方便展示各个亲密度阶段下的不同回复逻辑与互动逻辑。
参考的毛绒挂件形象
H5演示形象

五、技能设定

功能介绍
演示视频(用H5来模拟智能硬件)

照片解读

智能体可以从喵小橘的视角解读用户分享的照片内容,给出温暖有趣的反馈。用户只需点击拍照按键即可向喵小橘快速分享当下的精彩瞬间。
因为小猫要理解图片内容,得思考一会(该接口执行较慢,10秒左右)

环境感知

通过光线传感器,喵小橘能感知环境光线的变化。当用户关灯或开灯时,它会做出贴心的回应。在H5演示版本中,可通过遮盖屏幕来模拟这一互动。

抚摸反馈

用户可以通过抚摸智能挂件的不同部位与喵小橘互动。在H5演示版本中,可以直接点击3D模型的身体部位,或使用右侧快捷按键来模拟抚摸动作。每次互动都会收到来自喵小橘的温暖回应。

人设对话

用户可以随时与喵小橘展开对话。在H5演示版本中通过文字输入进行交互,而在实际硬件中将支持语音输入,提供更自然流畅的对话体验。喵小橘会根据对话内容和互动频率,逐渐调整回应的亲密程度。不同的亲密程度会有不同的回复逻辑

玩耍互动

当用户抱起设备并进行晃动或抛接动作时,重力传感器会捕捉到这些动作。喵小橘会将其理解为玩耍邀请,做出活泼可爱的回应。

不同的互动形式会增加对应的亲密度,亲密度越高,智能体的反馈约积极。若长时间未互动,亲密度会缓慢下降(H5页面中为了方便演示,加快了亲密度下降的速度)。
目前在后端服务中设定的阈值是:0~9为【陌生】,10~39为【有点熟悉】,40~59为【比较亲密】,60~79为【非常亲密】,80~100为极度亲密。

六、系统架构

6.1 硬件层

  • 传感器模块:触摸传感器、压力传感器、加速度传感器、光线传感器、摄像头
  • 反馈模块:振动马达、扬声器、LED显示屏

6.2 软件层

  • 前端:Web界面,用于可视化展示交互效果
  • 后端:RESTful API服务,处理硬件请求,并转发给AI模型
  • 千帆平台AI模型:负责解析输入和生成响应内容,实现最主要的智能交互功能
  • 千帆平台语音合成:负责将文字转换成语音

6.3 智能体层

  • 主应用:承载喵小橘人设,并调用正确的组件分别处理图片解读和普通的API调用
  • 主路由组件:根据API请求参数中的type调用宠物对话组件或事件响应组件,若请求参数不合法则给出固定提示
  • 宠物对话组件:根据当前亲密度调整态度,针对用户发来的消息给出对应回复
  • 事件响应组件:根据当前亲密度对具体事件给出不同的反馈

七、智能体API调用规范

本项目将采用百度千帆大模型平台提供的智能体API,该平台支持多种智能硬件的交互和对话。因为智能硬件需要输入的参数不是单一参数,而是多个参数,来模拟现实中的多个变量。所以在应用中的query参数需要按特定的json格式传参,大模型会解析其中的参数,做出对应反馈。

7.1 千帆大模型接口调用

在智能硬件中,需要按如下方式调用百度千帆大模型平台的智能体,调用方式如下:
  
  
# API接口地址
URL = "https://qianfan.baidubce.com/v2/app/conversation/runs"
# 请求头
headers = {
"Content-Type": "application/json",
"X-Appbuilder-Authorization": f"Bearer {secret_key}" # 访问密钥
}
# 请求体
payload = {
"app_id": "14f5ac1a-1be1-495b-b98e-4082eef7ca33", # 当前智能硬件对应的应用ID
"stream": False, # 不需要流式输出
"conversation_id": f"{conversation_id}", # 会话ID,若不填则不会有上下文记忆
"query": query, # 这里是传递给智能体的消息,注意需要遵循6.2的消息格式规范
"end_user_id": f"{end_user_id}",, # 用户ID,可选
"file_ids": [] # 图片文件ID列表,仅图像理解时需要
}
# 发送请求
response = requests.request("POST", url, headers=headers, json=payload)
# 获取智能体的响应内容
answer = response.json().get("answer")

7.2 query消息格式规范

在调用智能体的api时,其中的query参数需要遵循如下格式:
  
  
{
"intimacy_level": String,
// intimacy_level 表示主人与宠物的亲密度// 可选项:陌生、有点熟悉、比较亲密、非常亲密、极度亲密
"type": String,
// type 表示本条消息的类型// 可选项:// chat 表示是主人在和宠物对话,需要宠物回复// event 表示当前发生了某些事件,需要宠物响应// watch 表示主人拍了张照片,需要宠物进行图像理解
"message": String
// message 表示互动或事件的具体内容
}
不同的消息类型代表不同的事件,分别介绍如下:
消息类型
类型说明和传参示例
type="chat"
宠物对话模式
  • 用于处理用户主动对话
  • 根据亲密度级别调用不同的对话模型
  • 示例:{"intimacy_level": "陌生", "type": "chat", "message": "你好"}
type="event"
事件响应模式
  • 用于处理互动事件
  • 支持的事件类型:
    • 抚摸:{"intimacy_level": "有点熟悉", "type": "chat", "message": "(主人摸摸宠物的头)"}
    • 玩耍:{"intimacy_level": "比较亲密", "type": "chat", "message": "(主人抱抱宠物,一起玩耍)"}
    • 其他事件:{"intimacy_level": "非常亲密", "type": "chat", "message": "(关上了灯)"}
type="watch"
照片解读模式
  • 可调用专门的图像理解组件,对用户拍的照片进行解读
  • 注意,该模式下必须将图片地址放在 file_ids 数组中
  • 示例:{"intimacy_level": "极度亲密", "type": "watch", "message": "(图像内容理解)"}

也可以在智能体中直接输入query的内容,以模拟api的调用效果:
智能体的内部组件会解析query中的json,并根据type参数分流到子组件中分别处理:

7.3 API响应格式

智能体会输出纯文本格式,智能硬件可直接反馈给用户。

7.4 调用限制

  • 请求频率限制:每秒最多10次
  • 图片大小限制:2MB,考虑到图片大小会影响传输速度,最好在硬件侧压缩到300KB以下后再上传
  • 必须通过API规范格式调用,否则返回引导信息
注:因为需要通过H5形象模拟展示现实硬件功能,是以实际落地为考量。所以对智能体的输入做了调整,需以特定的json格式输入,不是平常理解的直接自然语言对话,所以评委刚用的时候可能不太习惯,配合此文档食用效果更佳。
评论
用户头像