腾讯开源知识管理服务 WeKnora 于 10月29日发布了 0.9.0。检索结果的融合规则可在设置界面中调整,内置助手可管理文档及集中管理文档的知识库。运营人员可通过对话处理重复工作,检索管理员则可直接调整查找语义相近内容的向量检索与关键词检索结果的权重。

1. 在界面中调整检索结果融合

检索设置分为候选召回、结果融合和重排序三个选项卡。重排序用于重新排列结果顺序。管理员可在结果融合选项卡中修改向量检索和关键词检索结果的权重。设置会自动保存,通过 API 指定的值也会在保存其他设置时保留。

RRF 是按排名将不同检索结果合并成一个列表的方法。平滑常数用于调整排名靠前结果的优势,数值越高,这种优势越小。权重决定各检索方式对最终结果的贡献程度。此前这些参数需通过 API 设置,现在可在界面中调整。

表:RRF 检索设置的服务器默认值

条件:值为 0 表示选择该项的默认值,两个权重之和无需等于 1。

单位:平滑常数、权重(无单位)

在界面中调整检索结果融合
项目默认值作用
平滑常数60数值越高,排名靠前结果的优势越小
向量权重0.7向量检索对融合结果的贡献比重
关键词权重0.3关键词检索对融合结果的贡献比重

无效的数字输入不会生效。

2. 基于操作列表执行管理工作

内置 WeKnora 助手可查找并执行可用操作,遵循现有的权限检查、验证和审计记录机制。用户无需在多个管理界面间切换,而是通过对话请求操作。

操作以用户权限经过实际请求处理路径执行,允许列表即仅包含可执行项的列表,会在启动时根据嵌入可执行文件的 API 说明文档 Swagger 构建。用于添加操作的处理器,即接收并处理请求的代码,其注释示例如下。

// @x-agent      {"id":"knowledge.delete","risk":"destructive","target":"knowledge.get","label":"title"}
// @x-agent-hint "Removes the document with its chunks, embeddings and graph data. Cannot be undone."
// @Param        id   path      string  true  "知识ID"  extensions(x-agent=knowledge_id)

最初支持知识库和文档查询、重新解析即再次分析原文、删除、维基统计和链接重建等操作。随后,操作范围扩展至知识库、常见问题、标签、文档集合的管理,以及智能体、扩展功能技能和用于扩展助手能力的工具管理。

还可搜索并阅读当前运行版本的使用文档。

3. 适配当前界面与角色的使用方式

助手可从侧边栏、命令搜索和文档界面等位置打开,并将当前文档或维基页面作为对话上下文传入。用户可选择侧边停靠或悬浮面板形式,执行记录与普通对话记录分开管理。

访问级别分为只读、确认后执行和自动写入,默认为确认后执行。管理员设置工作空间的最高级别,实际执行时采用用户设置与管理员上限中限制更严格的级别。即使在自动写入模式下,破坏性操作和技能安装仍需确认。

各角色的默认要求为:读取需查看者权限,写入和破坏性操作需贡献者权限。无法执行的操作会显示所需角色或只读状态等原因,让用户了解无法执行的缘由。

4. 定时执行与成本转移

此次还新增了按计划执行任务的自动化。计划可使用以规则描述重复执行时间的 cron 格式,或设为单次执行,并可指定时区,最短间隔为 5分钟。执行使用所有者权限,待审批通知会显示在应用内。连续三次失败后自动化会停止,且不能使用 API 密钥创建自动化。

此前无需确认即可执行的维基修改,在默认访问级别下也会经过确认卡片。这意味着通过对话请求的修改也增加了执行前由用户确认的流程。

由于自动化记录和执行信息保存在数据库中,升级时还需进行迁移,即应用存储结构变更的流程。发布说明列出的迁移版本为 PostgreSQL 000134、SQLite 000051。

0.9.0 的核心是将检索融合移至设置界面,将知识管理操作移至对话,同时以权限和审批作为自动化的控制机制。