Skip to content

Commit 90c11fa

Browse files
committed
docs(rag): v0.19.5 交付登记与系列收尾(REQ-259/262 已实施,/ask 评估结论)
1 parent cd9bcee commit 90c11fa

3 files changed

Lines changed: 44 additions & 2 deletions

File tree

‎docs/product/requirements-pool.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,10 +462,10 @@
462462
| REQ | 需求 | 优先级 | 状态 | 目标版本 | 备注 |
463463
|----|------|--------|------|---------|------|
464464
| REQ-258 | 检索与索引基建:kb_chunks/kb_meta/FTS5 影子表(节级切块 ≤800 字符硬切、多态源双可空 FK)+ 生命周期(保存收口钩子重索引/删除事务内显式清理/全量重建 reindex_all + kb_index_stats 角标)+ kb_search 混合检索(FTS5 BM25 ∪ 向量余弦 → RRF 融合;LIKE 旧链保留) | P1 | 已实施 | v0.19.0 | FTS-only 可发布;影子表写入收敛 kb_index 同事务双写(不依赖触发器);**代码已交付(2026-09-03:三表 DDL + 切块/查询纯函数 + 生命周期钩子 + reindex_all/stats + kb_search;切词校准定案=trigram+2 字 LIKE 补充;RRF 函数 TDD 先行待 v0.19.3 合流)** |
465-
| REQ-259 | 本地 embedding 引擎:EmbeddingEngine trait(Noop/Onnx/Ollama 实现)+ M0 spike 定选型(内嵌 ONNX bge-small-zh-v1.5 vs Ollama /api/embeddings;中文小评测集 ~30 查询;ORT 共存必测)+ 模型分发复用 model_registry + 混合检索开启 | P1 | 已立项 | v0.19.5(spike 定案后) | 无模型 = FTS-only 降级,不阻塞 v0.19.0~2;模型文件不入库;**2026-09-03 顺延:v0.19.2 采集体验小版本用户实测插队(原 v0.19.3)**;**2026-09-04 再顺延:v0.19.4 用户反馈批(AI 任务体验与标识治理)插队(原 v0.19.4)** |
465+
| REQ-259 | 本地 embedding 引擎:EmbeddingEngine trait(Noop/Onnx/Ollama 实现)+ M0 spike 定选型(内嵌 ONNX bge-small-zh-v1.5 vs Ollama /api/embeddings;中文小评测集 ~30 查询;ORT 共存必测)+ 模型分发复用 model_registry + 混合检索开启 | P1 | 已实施 | v0.19.5 | 无模型 = FTS-only 降级,不阻塞 v0.19.0~2;模型文件不入库;**2026-09-03 顺延:v0.19.2 采集体验小版本用户实测插队(原 v0.19.3)**;**2026-09-04 再顺延:v0.19.4 用户反馈批(AI 任务体验与标识治理)插队(原 v0.19.4)**;**代码已交付(2026-09-04,244ea92→cd9bcee 七提交:纯层/分词/ONNX 引擎/混合 RRF 合流/回填/下载/设置 UI——真机模型实测登记 v0.19.5 版本文档待办)** |
466466
| REQ-260 | 学习库问答「问我的学习库」:chat_sessions.retrieval 列 + chat_send 检索分支(命中列表恒可用·本地;生成经 content_gate + kb_qa_enabled 默认关)+ pack_fragments 转正 + 预算档位/成本/审计(ai_usage + meta_json 引用)+ 引用 chips 跳笔记高亮命中词 | P1 | 已实施 | v0.19.1 | 兑现 REQ-024/REQ-231 检索欠账(口径修订见设计 §十二.1);断网回退命中列表;**代码已交付(2026-09-03:retrieval/meta_json 补列 + kb 双闸门编排 + KbHits 事件 + CitationChips + 笔记内命中词搜索高亮 + 设置「学习库」段)** |
467467
| REQ-261 | 检索建议(发现路径):概念/节点详情「相关素材建议」候选(混合检索 top-K ≤10,排除已链接)→ 人工勾选确认 → 既有 link_knowledge_target 落库(白名单零迁移)+ 跨体系相似概念提示(提示型不自动合并) | P2 | 已实施 | v0.19.3 | kb_discovery 默认关(交叉点默认关延续);建议不落库零双写;**代码已交付(2026-09-03:kb_discovery.rs 排除已链接 + feature flag + DiscoverySuggestSection 勾选确认流 + 相似提示,dd5f9b2 之后 v0.19.3 提交)**;v0.19.2 采集体验插队顺延一档 |
468-
| REQ-262 | 治理与设置:SettingsPage「学习库」段(引擎状态/模型下载/索引统计与重建/发现开关)+ FTS5 使能核查 + 中文 BM25 切词校准 | P2 | 部分落地(v0.19.0~3) | v0.19 系列随批 | 复用 speaker/OCR 模型下载 UI 范式;**已交付(2026-09-03):FTS5 使能核查 + 切词校准定案(trigram)+ 设置「学习库」段(引擎状态/问答开关与档位/统计/重建/**相关素材建议开关 v0.19.3**);模型下载随 v0.19.5(2026-09-04 随 REQ-259 顺延)** |
468+
| REQ-262 | 治理与设置:SettingsPage「学习库」段(引擎状态/模型下载/索引统计与重建/发现开关)+ FTS5 使能核查 + 中文 BM25 切词校准 | P2 | 已实施 | v0.19 系列随批 | 复用 speaker/OCR 模型下载 UI 范式;**已交付(2026-09-03):FTS5 使能核查 + 切词校准定案(trigram)+ 设置「学习库」段(引擎状态/问答开关与档位/统计/重建/**相关素材建议开关 v0.19.3**);模型下载随 v0.19.5(2026-09-04 随 REQ-259 顺延)**;**代码已交付(2026-09-04:引擎治理状态/下载/加载 UI + 重建回填引导,cd9bcee,REQ-259 同批)** |
469469

470470
### v0.19.2 · 采集体验小版本(2026-09-03 用户实测插队立项)
471471

‎docs/versions/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
| v0.19.2 | [v0.19.2.md](./v0.19.2.md) — 采集体验小版本:窗口选择增强(抖音/快手/B站客户端评分表 + z 序置顶 + 系统窗口过滤开关找回)+ 开始即录门控(15s 就绪等待自动开录/等待期无采集中控件/AV 同刻,REQ-271~273;REQ-261/259 顺延 v0.19.3/v0.19.4) | 版本文档(已实施 2026-09-03,真机验收待执行) |
5555
| v0.19.3 | [v0.19.3.md](./v0.19.3.md) — 读路径 B 检索建议(发现路径):概念「相关素材建议」候选(排除已链接)+ 勾选确认经引用通道落库(建议零双写)+ 跨体系相似概念提示(不自动合并)+ kb_discovery 默认关(REQ-261/262 余项) | 版本文档(已实施 2026-09-03,真机验收待执行) |
5656
| v0.19.4 | [v0.19.4.md](./v0.19.4.md) — AI 任务体验与标识治理批(2026-09-04 用户反馈批):全局 AI 对话面板(丙案·按需唤起+内容保活)+ 响应速度帧级批量渲染 + 挂体系浮层残缺修复 + 裸号显示治理与 notes/sessions uid 基建 + 通用变更事件总线(data:* 五域)+ 精修程度「自定义」+标准恒纯净 + 联合整理远期登记(REQ-274~280;REQ-259 顺延 v0.19.5) | 版本文档(已实施 2026-09-04,真机验收待执行) |
57+
| v0.19.5 | [v0.19.5.md](./v0.19.5.md) — 语义增强:本地 embedding(REQ-259/262 余项)——bge-small-zh ONNX 内嵌引擎 + BERT 分词 + kb 向量回填 + 混合检索 RRF 合流 + 下载/加载/状态治理 UI(244ea92→cd9bcee 七提交;真机模型实测待执行) | 版本文档(已实施 2026-09-04,真机验收待执行) |
5758
| v0.20 | [v0.20.md](./v0.20.md) — ASR 质量增强系列(自验证路线):v0.20.0 asr_eval harness + 首轮报告(REQ-263)→ v0.20.1 DTW 接线/参数定案族/热词加固/积压验证(REQ-264~267)→ v0.20.2 全量精修/混淆画像闭环/LLM 校对(REQ-268~270) | 系列文档(2026-09-03 立项 C,待实施;ADR-030) |
5859

5960
## 沉淀规则

‎docs/versions/v0.19.5.md‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# v0.19.5 · 语义增强:本地 embedding(REQ-259/REQ-262 余项)
2+
3+
> 状态:**已实施(2026-09-04,提交 244ea92/8cab673/c57ce0c/81e552b/6a10ba0/31f91e5/cd9bcee;真实模型下载与端到端命中实测登记真机验收待办)**。
4+
> 排期注:原 v0.19.4(REQ-259 语义增强)经 2026-09-04 用户裁决被反馈批抢占序号——本批以 v0.19.5 交付;需求池 REQ-259 目标版本已同步。
5+
6+
## 定位
7+
8+
本地 embedding 内嵌 ONNX(bge-small-zh-v1.5 int8)——检索与发现层的语义增强:FTS5 词法之上叠加语义召回,RRF 融合;**无模型/推理失败/维度不一致一律自动降级 FTS-only**(层层本地兜底,不阻塞任何读路径——设计铁律 1/2 与 §六 降级链)。
9+
10+
## 交付构成
11+
12+
| 提交 | 内容 |
13+
|------|------|
14+
| 244ea92 | 纯层地基:EmbeddingEngine trait(Noop/Onnx/Ollama 预留)+ f32le 编解码 + 零向量安全余弦 + cosine_top_k(5 测试);ort rc.13 依赖(本地缓存离线可解析,与 oar-ocr 共用 onnxruntime.dll) |
15+
| 8cab673 | bge BERT WordPiece 分词器(vocab.txt 加载/特殊标记校验/512 窗截断/UNK 诚实降级;4 测试) |
16+
| c57ce0c | OnnxEmbedding 引擎(ort rc13 API 攻坚:&mut Session→内部 Mutex、Tensor::from_array、try_extract_tensor 切片直读;[CLS]+L2;批 ≤32;缺模型/形状不符如实报错)+ 引擎槽(AppState Arc<Mutex<EmbeddingSlot>>,Noop 默认)+ kb_embedding_status/load 命令 |
17+
| 81e552b | 混合检索 RRF 合流:kb_search_hybrid(引擎可选)+ 语义合流独立模块(dim 一致性校验、余弦 top-K ∪ FTS 候选 → rrf k=60 → limit);三路接线:kb_search 命令 / 学习库问答 kb_run / 检索建议证据候选;FTS wrapper 留测试 |
18+
| 6a10ba0 | reindex 后置向量回填:kb_fill_embeddings(全量块→批嵌入→写列+meta model/dim/format;3 集成测试);kb_reindex_all 重建成功后自动回填(失败如实记录不阻断);stats.embedding_ready/engine 按 meta 实态(fts5+onnx) |
19+
| 31f91e5 | 模型下载命令 kb_embedding_download:hf-mirror 双源(Xenova ONNX 量化 + BAAI vocab.txt)、.part 原子落位、600s 超时 |
20+
| cd9bcee | 设置页「学习库」段治理 UI:引擎状态徽标(noop/就绪 dim)+ 下载/加载按钮 + 回填引导(重建按钮既有) |
21+
22+
## 口径与决策记录
23+
24+
- **选型**:内嵌 ONNX bge-small-zh-v1.5(用户 2026-09-04 裁决"优先尝试内嵌 ONNX");Ollama 端点因"用户自装、零分发"列为同一 trait 的未来实现位(本批不做)
25+
- **降级链**:无模型(Noop)→ FTS-only;推理失败 → FTS-only + 状态可见;模型更换未重建(dim 与库内 meta 不符)→ FTS-only + 日志提示重建;未回填行 embedding=NULL 自然缺席语义候选
26+
- **存储**:kb_chunks.embedding BLOB(v0.19.0 DDL 预留)f32le;kb_meta embedding_model/embedding_dim/embedding_format(检索合流 dim 校验数据源;回填完成标记=meta 写入)
27+
- **回填时机**:全量重建(kb_reindex_all)成功后置自动回填(引擎就绪时);软重建钩子(保存/删除)不增量补向量——语义一致性以重建按钮为准(UI 已引导),未回填期间检索恒 FTS 精度
28+
- **`/ask` 接线评估(收尾)**:不新增 `/ask` 命令——任务入口已有 `/refine`/`/enrich`,学习库问答走会话 retrieval 模式(📚 会话 + kb_qa 闸门),无第三命令缺口;该评估结论登记,不产生代码变更
29+
- **向量索引不做**(YAGNI):余弦全量线扫在本地量级(数千 chunk × 512 维)毫秒级,达量级再评估(设计 §六 记录延续)
30+
31+
## 真机验收待办(登记)
32+
33+
1. **模型链路端到端**:下载(hf-mirror 可达性)→ 加载 → 重建回填 → stats 显示 fts5+onnx → 语义命中实测(中文小评测集 ~30 查询,与纯 FTS 对比召回)
34+
2. vocab 来源确认:BAAI 仓库根 vocab.txt 与本分词器匹配性(若缺 → 改用 Xenova tokenizer.json 需补解析,登记为潜在偏差)
35+
3. ort 与既有 oar-ocr 运行时共存回归(同一 onnxruntime.dll 双引擎并发)
36+
4. 混合检索精度/排序观感与 RRF 参数(k=60 沿用设计稿定案)实机复核
37+
5. 语义建议(发现路径)开启后的实机质量评估(建议制·默认关不受影响)
38+
39+
## 验证记录
40+
41+
kb 系 88/88 + kb_embed 系(含引擎缺模型错误路径)全绿;clippy 零;vitest 551/551;tsc 零;Rust 全量(终批门禁)见提交轮记录(预存 note_filter 2 例除外)。

0 commit comments

Comments
 (0)