已关闭
[RFC] Runtime API 查询 Skill 与专用全平台检索 #83
Hou_jialin创建于  5 天前关闭于  2 天前
Hou_jialin
Hou_jialin成员
5 天前 创建

问题与目标

场景选型中同族 API 名称和摘要相近,仅靠少量文本命中容易漏掉决定性差异;接口比较还需区分公开 C 与 C++ 扩展。目标是在现有 Query 上提供有依据的主推荐、必要配套与条件分支,并压缩重复说明。未知平台时先给候选和适用范围,避免将未收录、支持待确认和来源明确不支持混淆。

方案与边界

  • 由 Runtime API 推荐、比较、核对或 CUDA 替代意图进入专用只读 Skill。按模块导航初筛,再阅读全文核对六类差异:时序、接口层、参数、资源归属、调用顺序、适用范围。
  • 接口层使用现有标签过滤,目录保留来源组织;程序语言为 C++ 不等于要求 C++ 扩展。多个候选均满足需求时择优或写明条件分支,证据不足时澄清并停止无效补搜。
  • 以结论、关键注意、平台注意、自验证组织答案,按条数和行数压缩输出,正文汉字参考上限 350;细则按需读取 references。此为输出目标,不宣称已经测得长度或正确率改善。
  • 复用现有 Query、索引与审计。明确或项目缺省平台优先;平台未知或无法解析且无缺省时,首次 Runtime 查询可用全平台候选扩展,不先制造一次平台错误。
  • 准确接口名在目标平台查询成功但核验后仍无定义时,保留其他条件独立跨平台复查;前缀接口与正文提及不算准确定义。未定位草稿另发请求,不能与全平台扩展叠加。
  • 全平台候选不证明目标平台支持,不生成要求明确平台的 ready;只有来源明确排除时才说不支持。缺映射时仍可回答有依据的原生能力问题,但不编造 CUDA 等价关系。
  • 接入安装与项目路由,保持只读;不自动联网、下载、迁移工程、编译或运行。知识卡和 CUDA 映射资料独立交付。

扩展方式、影响与回退

通过 Runtime 专用 Skill、现有模块导航及标签扩展消费流程,检索侧只增加限定 runtime 领域的显式全平台选项,不复制通用 Query。普通平台过滤、其他领域缺平台拒绝、索引失败关闭和审计契约保持兼容。新增检索回归独立运行,不改变通用 recall/MRR 阈值及分母。需要回退时撤销本 PR 的专用入口、扩展选项、安装路由和回归接入,知识正文无需迁移。交付由 committer 检视。

确定性 A/B

以下是固定版本上的检索脚本 A/B 记录。当前提交的 Query Python 实现与 B 相同;Skill 的平台模式选择与准确接口定义复查规则未重新进行 Agent 问答评测,以下结果不作为新流程的推荐成功率。

A:源端基线 a7828fa2aee7932136749ae4dd43f66441b17efb;B:3d4d0f0a4f2a17ea36fb18c7ddaf227731d49599。两组共用 B 的 RuntimeQueryTests 合成夹具、相同索引和治理,只替换 Query 脚本。Ubuntu 22.04 / Python 3.10.12;查询 Synthetic API,literal,k=20,每例每组一次。

预设标准:新增候选集合符合预期,原过滤结果不变,越域与平台冲突继续拒绝。实测 10/10 组满足。

输入 A B
普通 Query 缺平台 拒绝 拒绝
Runtime 缺平台,未启用扩展 拒绝 拒绝
Runtime 全平台 stable 不识别新选项 4 张有平台卡
其他领域使用全平台选项 拒绝 拒绝
Runtime 明确 a2 3 张卡 相同 3 张卡
Runtime 明确 a2、a3,AND 2 张卡 相同 2 张卡
Runtime 全平台 draft 不识别新选项 仅 1 张有平台 draft
空平台 draft 独立查询 1 张空平台 draft 相同
项目默认 a2 3 张卡 相同 3 张卡
全平台选项与项目默认平台并存 拒绝 拒绝

复核入口:在 B 上执行 python3 -m unittest evals.test_retrieval_index.RuntimeQueryTests -v。A/B 使用该类 setUp 的同一个夹具,分别加载 A/B 固定提交的 knowledge_query.py,按表中参数执行;CLI 参数与审计契约见 Query CLI。该实验验证检索与隔离行为,不是模型推荐成功率或性能实验。

当前验证与交付

当前提交:d6117bf74c1db82f78e4565b35cfa5df7a84488f;父提交:c7609c5a17d86c25a593fa96ea64e1d9f9e7f2ca。关联 PR !193。

  • Linux 临时快照执行 bash check.sh,退出码 1:完整单测 469 项,仅 2 项源端同样失败、1 项跳过。两项分别为 Spec 文件数量和 374 张存量文档首标题检查,已在源端 c7609c5a17d86c25a593fa96ea64e1d9f9e7f2ca 的干净快照逐项复现;没有新增失败。
  • 全库 Lint:9771,P0=0、P1=2、P2=0;两项 P1 是本 PR 未修改的 10-29/10-31 日志排序提示。757 个导航索引 stale=0;9014 张卡的索引构建与 full 校验通过。
  • 通用检索 75 例通过质量门禁(Recall@k=0.582、MRR=0.490);模型场景 217 例通过(1.000/0.951);Runtime 选型召回与接口层过滤 12/12 通过(1.000/0.889)。
  • 41 项定向检查、38 项 trace 回归、field-notes HARD 约束、Ruff、Shell 语法及官方归档 diff-check 均通过。

新增 evals/runtime_api_selection_cases.yaml 的 12 条用例只检验目标接口召回及接口层过滤;它们使用固定短查询、平台和草稿快照,不构成最终选型正确率或 Agent A/B 结果。上面的合成夹具 A/B 是历史检索扩展实验,不能用于证明本轮 Skill 重构的推荐增益。本轮未执行独立 Agent 问答 A/B、SDK 编译或设备验证。

  • 已通过当前 PR 的 compile 评论重新触发 CI,结果以流水线为准。
likedislike
Hou_jialinHou_jialin成员
5 天前 关联了pull request:[WIP]feat(runtime): 接入 API 查询 Skill 及全平台召回
此处折叠了21条事件消息 查看更多
CANN-robotCANN-robot成员
1 天前 添加了label:resolved