openviking 后端使用 OpenViking 服务解析、索引和检索资源,无需在 VeADK 进程中配置 embedding 模型。每个 index 默认对应 viking://user/<openviking_user_id>/resources/<index>/ 资源目录,其中 openviking_user_id 是资源所属的 owner/context 标识,未配置时为 default。该后端从 VeADK 1.0.3 开始提供。
openviking_user_id 表示 OpenViking 中资源目录与记忆的 owner/context,用于在同一个 OpenViking 服务内隔离不同应用或租户的资源。它与 Runner.user_id(终端用户标识)是不同的概念。依赖
OpenViking SDK 已包含在 VeADK 的基础依赖中:使用示例
backend_config 时,url、api_key 与 openviking_user_id 从 DATABASE_OPENVIKING_* 环境变量读取,index 来自 KnowledgeBase(index=...) 或 app_name:
close() 释放后端持有的 OpenViking 客户端连接:
参数
KnowledgeBase 参数
后端配置
openviking_user_id 未配置时按 DATABASE_OPENVIKING_USER_ID、OPENVIKING_USER_ID 的顺序查找环境变量,都未配置时使用 default。user_id 作为兼容别名仍可使用,与 openviking_user_id 等效。
环境变量
参数分别对应DATABASE_OPENVIKING_URL、DATABASE_OPENVIKING_API_KEY、DATABASE_OPENVIKING_USER_ID、DATABASE_OPENVIKING_ACCOUNT、DATABASE_OPENVIKING_USER、DATABASE_OPENVIKING_ACTOR_PEER_ID、DATABASE_OPENVIKING_TARGET_URI、DATABASE_OPENVIKING_WAIT、DATABASE_OPENVIKING_IMPORT_TIMEOUT、DATABASE_OPENVIKING_HYDRATE_RESULTS、DATABASE_OPENVIKING_READ_LIMIT、DATABASE_OPENVIKING_SCORE_THRESHOLD 与 DATABASE_OPENVIKING_USE_CONTEXT_SEARCH。URL、API Key、user ID、account、user、actor peer ID 与目标 URI 也兼容同名的 OPENVIKING_* 环境变量。
操作级覆盖参数
构造参数提供默认行为;下列参数可以在单次导入或检索中通过关键字参数覆盖
使用
wait=False 只确认提交导入,不能确认知识已可检索。hydrate_results=True 会额外读取命中资源,受 read_limit 限制,不保证完整文档全部返回。Runner.user_id 不会自动改变知识库的资源目录;面向不同租户时显式配置目录与服务端访问权限
示例检索结果应包含年假规则。若返回为空,先确认写入返回成功、模型维度一致及服务端处理完成,再检查网络与权限;托管后端不保证导入后立即可检索。绑定 Agent 后仍需完成模型配置才能运行问答