Skip to main content
openviking 长期记忆后端把会话消息写入 OpenViking 的用户记忆,并按用户身份检索实体、事件和偏好。该后端从 VeADK 1.0.3 开始提供。
Runner.user_id 是终端用户标识,VeADK 将其作为 OpenViking 的 peer_id 用于记忆隔离。openviking_user_id 是 OpenViking 中记忆所属的 owner/context,用于在同一 OpenViking 服务内隔离不同应用或租户的记忆。两者是不同的概念。

使用示例

参数

LongTermMemory 参数

OpenViking 后端参数

默认使用 user_id 作为 peer ID,只允许字母、数字、点、下划线、@ 和连字符。需要改变用户映射时,可传入 peer_id_resolver。 openviking_user_id 未配置时按 DATABASE_OPENVIKING_USER_ID 顺序查找,都未配置时使用 default 并输出告警日志。建议为每个应用或租户显式设置,避免不同应用的记忆混在同一个 default 路径下。 未配置 memory_policy 时,VeADK 不向 OpenViking 发送策略,由 OpenViking 服务应用其官方默认策略。如需显式控制记忆的抽取范围与隔离方式,传入合法的 memory_policy,其结构以 OpenViking 会话接口为准。例如:
该示例关闭自身记忆提取,仅从对话对象提取实体、事件与偏好;实际取值与可用字段以 OpenViking 服务端支持的策略为准。
auto_save_session=True 会把会话内容写入外部 OpenViking 服务。使用前应确认数据处理、访问控制和保留策略符合业务要求。

环境变量

自定义用户映射

多租户应用可以提供 peer_id_resolver,把应用和用户组合成单个隔离标识:
返回值不能为空,只能包含字母、数字、点、下划线、@ 和连字符,且不能为 . 或 ..。上线后修改映射规则会使既有记忆保留在旧 peer 路径下,新的检索可能无法命中这些数据。
最后修改于 2026年9月19日