百宝箱 + AI眼镜实战:手把手搭建一个人脸识别智能体 | GPASS开发者大赛金奖方案拆解
本文以 GPASS AI 眼镜智能体开发者大赛金奖作品「知面」为例详细介绍如何在百宝箱平台上从0搭建一个具备人脸识别能力的AI眼镜智能体。适合想入门百宝箱开发、或对AI眼镜应用感兴趣的开发者。前言百宝箱是蚂蚁集团的智能体低代码开发平台搭配GPASS智能眼镜应用模板可以用拖拽节点的方式搭建AI眼镜应用。本文不讲产品故事前一篇博文已经写过直接上手——把一个完整的人脸识别知识库检索工作流拆给你看。一、整体思路我要实现的核心链路用户说这是谁 → 眼镜拍照 → 人脸搜索 → 知识库召回档案 → 语音播报这需要串联以下能力意图识别判断用户想做什么眼镜拍照调用硬件人脸搜索调用阿里云API知识库检索百宝箱内置大模型整理格式化播报内容二、工作流节点拆解2.1 开始节点配置要点历史对话轮数30保留足够上下文眼镜持续监听用户每说一句话触发一轮工作流开始节点自动注入的变量当前对话信息本次用户语音转文字历史对话信息前N轮对话记录当前对话轮次数值可用于判断是否首次对话触发时间当前时间戳2.2 意图识别大模型节点用一个大模型节点做分类输出关键词让后续分支节点路由模型Ling-2.6-Flash快 输入当前对话信息 输出RECORD / REGISTER / RECOGNIZE / RECALL / UPDATE / OTHERPrompt 设计要点每个意图给出明确的触发词列表加排除规则普通聊天内容不触发要求只输出一个关键词方便分支判断2.3 分支节点根据大模型输出做条件路由如果 结果 包含 RECOGNIZE → 走识人链路 如果 结果 包含 RECORD → 走记录链路 ... 否则 → 静默2.4 拍照采集眼镜设备插件百宝箱提供的原生设备插件拖进来就能用输出图片数据地址一个URL不需要额外配置2.5 人脸搜索自定义Python插件这是整个方案的核心插件。百宝箱支持上传自定义Python代码importiofromurllib.requestimporturlopen,Requestfromalibabacloud_facebody20191230.clientimportClientfromalibabacloud_facebody20191230.modelsimportSearchFaceAdvanceRequestfromalibabacloud_tea_openapi.modelsimportConfigfromalibabacloud_tea_util.modelsimportRuntimeOptionsdefmain(params:dict,context:dict)-dict:urlparams.get(url,)# 1. 下载图片为二进制兼容非OSS地址reqRequest(url,headers{User-Agent:Mozilla/5.0})img_dataurlopen(req,timeout10).read()# 2. 初始化阿里云客户端configConfig(access_key_idparams.get(accessKeyId,),access_key_secretparams.get(accessKeySecret,),endpointfacebody.cn-shanghai.aliyuncs.com)clientClient(config)# 3. 流式上传搜索requestSearchFaceAdvanceRequest(db_namesocialmemory,image_url_objectio.BytesIO(img_data),limit1)responseclient.search_face_advance(request,RuntimeOptions())# 4. 解析结果match_listresponse.body.data.match_listifmatch_listandlen(match_list)0:topmatch_list[0].face_items[0]iftop.confidence60:return{matched:true,entityId:top.entity_idor,extraData:top.extra_dataor,confidence:str(round(top.confidence,4))}return{matched:false,entityId:,extraData:,confidence:0}配置要点AccessKey 等敏感信息设为隐藏参数大模型不可见依赖包声明alibabacloud_facebody20191230、alibabacloud_tea_openapi、alibabacloud_tea_util超时设置15秒为什么用 Advance 方法GPASS眼镜拍照返回的URL不是阿里云OSS地址常规API会报错。Advance方法支持传入BytesIO流绕过URL格式限制。2.6 分支判断匹配成功条件searchFace.matchedtrue是 → 走知识库检索否 → 直接回复没有匹配到已知人物2.7 知识库节点搜索关键词引用 searchFace 返回的entityId知识库选择你创建的结构化动态表格检索配置智能检索最大结果1条最小匹配度0.52.8 大模型整理播报模型Ling-2.6-Flash Prompt将以下人物档案整理为简洁的语音提醒不超过3句话。 重点包括姓名、公司职位、上次聊了什么、个人偏好。 像助理在耳边低声提醒口语化。 输入知识库召回结果2.9 直接回复将大模型输出作为最终回复通过TTS语音播报给用户。三、知识库设计采用结构化动态表格存储人物档案字段类型说明entityIdSTRING主键人物唯一ID如 liming_20260708nameSTRING姓名companySTRING公司positionSTRING职位summaryTEXT交流摘要personalTEXT个人偏好followUpTEXT待跟进事项meetDateDATETIME见面时间写入时使用updateDocument接口updateModeUPSERT——存在则更新不存在则新增。四、踩坑清单#坑解决方案1阿里云API不接受非OSS图片URL用 Advance 方法 BytesIO 流式上传2Entity已存在时创建报错catch异常判断entity has existed跳过3知识库语义检索误召回先提取人名关键词再用人名检索4意图识别慢换 Ling-2.6-Flash蚂蚁百灵Flash版5普通聊天误触发意图Prompt加严格排除规则6人脸太小注册失败异常处理返回友好提示请靠近重新拍照7知识库空结果传给大模型会编造加分支节点判断结果 []走兜底五、完整连线图[开始(30轮历史)] → [大模型: 意图识别] → [分支_2] ├── RECOGNIZE → │ [拍照采集] │ → [直接回复: 正在匹配档案] │ → [searchFace] │ → [分支: matched?] │ ├── true → [知识库: entityId] → [大模型: 整理] → [回复] │ └── false → [回复: 没有匹配到] │ ├── RECORD → [回复:好的] → [大模型:提取] → [参数提取] → [saveToKnowledge] → [回复] ├── REGISTER → [拍照] → [大模型:找人名] → [registerFace] → [回复] ├── RECALL → [大模型:提取人名] → [知识库] → [分支] → [大模型:整理] → [回复] ├── UPDATE → [大模型:提取人名] → [知识库] → [分支] → [大模型:合并] → [saveToKnowledge] → [回复] └── OTHER → [分支: 轮次1?] → 欢迎语 / 静默六、给想入门百宝箱的开发者先跑通最短链路建议从知识库检索大模型回复开始只需3个节点验证平台可用自定义插件是核心竞争力百宝箱原生节点覆盖80%需求剩下20%靠Python插件隐藏参数很有用API Key等敏感信息设为隐藏大模型看不到也不会泄露分支节点要充分每个可能出错的环节都加分支判断和兜底回复模型选择讲策略轻任务用Flash模型追速度重任务用大模型追质量本文基于 GPASS AI 眼镜智能体开发者大赛赛道四金奖作品「知面」。