ci / verify (push) Canceled after 0s
Add customer and operator login, BLE provisioning, device fleet controls, call memory, memoir generation, and refreshed family and maintenance portals. Include API contracts, migrations, firmware sources, tests, assets, and deployment documentation.
32 lines
3.0 KiB
Markdown
32 lines
3.0 KiB
Markdown
# 聊天直接检索火山 Viking
|
||
|
||
用户确认的分工:聊天智能体从 Viking 检索历史记忆;平台回忆提取用于分类、整理故事和回忆录。聊天启动不再把 `curated_memory` 或平台故事摘要加入系统提示词。
|
||
|
||
## 配置
|
||
|
||
- `MemoryConfig.Enable=true`,`Provider=volc`,当前库为 `aiphone`,事件规则为 `event_v1`,每次最多召回 3 条。
|
||
- `user_id` 保持 `u_ + SHA256(tenant_id + ":" + subject_id)`,`assistant_id` 保持 `platform_companion_v1`,与已有聊天上传一致。换设备不换记忆身份,不导入或重新上传历史数据。
|
||
- 创建新智能体和每次准备新聊天时,核对当前老人、语音授权和个性化记忆授权。授权撤回时下发 `Enable=false`,不保留检索过滤器。
|
||
- 火山配置读回校验包含完整的库名和用户过滤器,不能只看 Enable。
|
||
- 聊天结束后的字幕上传、Viking 提取与平台回忆整理继续沿用原流程。
|
||
|
||
平台的称呼、交流偏好和避免主动提及的话题属于聊天约束,不属于回忆提取正文。这次不发布尚未上线的完整人设同步功能。
|
||
|
||
## 火山访问权限
|
||
|
||
核查发现 `VoiceChatRoleForRTC` 原来没有 Viking 记忆访问策略。新增自定义策略 `StoryRTCVikingMemoryReadOnly`,仅允许 `MemoryCollectionInfo`、`MemoryEventSearch`、`MemoryProfileSearch`、`MemorySearch`、`MemorySearchUser` 和 `ml_platform:VikingDBAPIRead`。不授予写入、删除、密钥读取权限。该角色的其他策略保留。
|
||
|
||
该只读策略使用账户范围 Resource `*`;具体每位老人的范围由智能体中严格核对的用户过滤器确定。策略绑定和火山智能体配置读回成功并不等于实体语音召回已验收。
|
||
|
||
## 验证边界
|
||
|
||
隔离测试智能体成功保存并读回原生 Viking 配置。使用软件端 `StartVoiceChat` 验证硬件应用时返回 `NoPermissionForApp`(硬件 RTC 应用不是软件 AI agent 类型),因此未用此接口证明硬件语音召回,也未变更 RTC 应用类型。
|
||
|
||
本次服务端验证包括原生过滤身份、跨租户与跨老人隔离、撤回授权关闭检索、平台回忆不进入聊天、原有开场和会话幂等。实体设备还需通过一次只存在于 Viking 的事实提问确认实际召回;测试事实不能同时出现在人设、开场或平台注入中。
|
||
|
||
## 上线结果
|
||
|
||
服务端版本为 `0.99.56-rc.native-memory2`,48 项隔离集成测试全部通过,补充读回测试覆盖火山省略 `Enable=false` 的实际行为。现有 3 个智能体中,2 个满足授权条件并开启原生检索,1 个因授权条件未满足而关闭;均完成云端读回。既有语音配置、欢迎语和服务运行条件保留。更新现有智能体使用完整配置提交,因为火山更新接口会替换整份 Config,不能只提交 MemoryConfig。
|
||
|
||
参考:[火山智能体 MemoryConfig](https://docs.volcengine.com/docs/6348/1807450)、[原生长期记忆工作方式](https://docs.volcengine.com/docs/real_time_communication/Translationmemorylongtermmemory?lang=zh)。
|