2.6 KiB
Raw Blame History

name, description, disable-model-invocation
name description disable-model-invocation
检索知识 将创作意图嵌入后从 pgvector 召回知识,并按绑定、状态和 aiContext 权限裁剪结果。管理审查或上下文组装需要知识候选时使用;不返回参考书全文,不绕过作品绑定。 true

检索知识

对应 muse API 面:知识检索。查询嵌入与知识行嵌入同模型同维(Qwen3-Embedding-8B / 1024,经 生成知识向量 同实现),距离=余弦(<=>,HNSW 索引)。

用法

# 管理面检索(B3 验证:对 draft 面召回,含草稿行)
.venv/bin/python muse/lifecycle/context/skills/检索知识/scripts/search.py "主角被围攻时反杀的打斗写法" --scope admin --top 8

# 作品面检索(C4:仅已确认 entity + 该作品已绑定的库;work-id 必填)
.venv/bin/python muse/lifecycle/context/skills/检索知识/scripts/search.py "师徒决裂的情感铺垫" --scope work --work-id 8 --top 5

# 按型过滤 + 用途裁剪(按 aiContext 只回显该用途可见字段)
.venv/bin/python muse/lifecycle/context/skills/检索知识/scripts/search.py "倒计时紧迫感" --type craft --purpose generation

合同

  • 两个授权面:--scope admin=治理/优化环用,召回 draft+entity 全量(含草稿);--scope work=创作链路用,只回 status='active' 的 entity 且其 kb 经 muse_knowledge_binding 绑定到 --work-id(绑定≠写入、解绑即消失的活体)。
  • 字段裁剪:--purpose(generation/planning/detection/extraction)按库内 visibility_policy.policy_snapshot.fieldAiContext 裁剪字段后再回显;被裁字段名列入尾部「裁剪回显」。
  • 输出:卡片式(相似度分+型+名称+可见字段+出处),--json 给程序消费。
  • 相似度分=1−余弦距离,四舍五入 4 位;默认 top 5。

红线

  • 作品面查询严禁绕过绑定与状态过滤(授权语义在查询层强制,不靠调用方自觉);
  • 检索不回原文正文(知识行本身已脱敏;出处只有书名+回目+一句话定位)。

数据边界

  • 可发起受治理的外部模型调用;不落库除非合同另有声明。
  • 不写 Canonical、不改正式规划。

复利合同

  • 消费:作品/公共知识索引与检索合同。
  • 回写:纯检索不登记 example_lesson;命中结果进入 准备任务上下文 / 写作链后由下游登记效果信号。

输出

  • 面向当前任务的可执行判断、检查清单或改写建议(Markdown 结构化段落)。
  • 不直接落库、不代替 写下一章 / 决定正文候选去留 写 Canonical。