 adminandClaude Fable 5
|
60f7360cec
|
fix(r4-52b): vault.add 按内容 SHA256 去重,重复上传覆盖旧 doc_id
缺陷 #52b(验收 §6 第 2 条 + 回归 G3):同一 PDF 重复上传 4 次 → 4 个 doc_id
× 200 chunk = 800 条,FAISS 检索 top_k 被同内容不同 doc_id 的块占满。
修复(vstore/vault.py):
- add() 先算内容哈希 SHA256(原始文件字节),查 index.json 的 content_sha
字段判重;同内容 → 移除旧 doc 的检索行/密文/chunk 行,再落一条新 doc
(新 doc_id,meta 以本次上传为准,created_at 刷新)
- 去重后该内容在库中恒仅 1 个 doc_id、chunk 总数不翻倍;同名不同内容
按内容哈希不误判(G3-2);不同内容互不覆盖(G3-1)
- content_sha 落 index.json(doc_meta 新字段);rebuild_index 对历史密文
缺 content_sha 时以密文内容补算(重建后去重依据不丢)
- 与现有删除机制一致:index.remove_item 过滤重建 faiss、chunks.remove_document
过滤重建 chunk faiss(IndexFlatIP 不支持逐行删,现有机制即重建)
测试:vstore/tests/test_vault_dedup.py(5 用例):同内容两次 → 1 个 doc_id/
chunk 不翻倍/旧密文清理;meta 以本次为准;不同内容 → 2 个 doc_id;
同名不同内容不误判;重启(新实例 load)后仍去重。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-11 14:12:57 +08:00 |
|
 adminandClaude Fable 5
|
e783a26be6
|
feat(priv): A1 实现私有资料问答 P1-P3——vstore chunk 索引 + BFF 私有问答端点 + 前端并行块与管理界面
- P1 vstore: chunks.py 切块(600字/8段/重叠1/上限200,表格原位聚合,outline
不参与)+ChunkIndex 三文件原子写+无降级档;embed_batch_chunked 批量16x并发4;
vault add/delete/rebuild_chunks 钩子(chunk 失败不阻断 doc 级);search-chunks/
rebuild-chunks 端点+health chunk_count;rebuild CLI
- P2 BFF: privateqa.ask_private(同doc≤3去重/12k截断/40s超时/带引用短答);
POST /api/qa/private 三态;schemas PrivateDocBlock 入 union;client.search_chunks;
llm timeout 参数;main.py 注册
- P3 前端: _firePrivate 并行检索+竞态防护(pending/flush/防重入/跨轮归属);
AssistantMessage private_doc 块;i18n/private.js;PrivateLibraryPane 挂 DocPane
空态;removeLibrary(204 兜底)
自测: vstore pytest 26/27(1 失败为 T1 骨架笔误待修)+74 回归;前端 vitest
373/373;npm run build 0 error;sdk 222 passed(3 failed 为基线预存);红线 diff 空。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-07 22:22:22 +08:00 |
|
 jerryandClaude Fable 5
|
4749f77544
|
fix(docgen): 两批手工测试修复——上传/预览/检索 + 护栏/导出/命名/编辑还原/二次预览
第一批:上传去限制+进度展示、模板HTML预览+按需导出、检索TAB实时更新
第二批:edit护栏移除、导出按钮纯化+file_name落库、编辑失焦还原、
二次预览白底根治(防竞态+渲染兜底)
模板体系:7套公文模板(templates/)+templating渲染器、websearch联网
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-05 15:49:54 +08:00 |
|
 jerryandClaude Fable 5
|
5db3ead73e
|
feat(docgen): doc_writer 能力全链——vstore 独立服务 + BFF docgen 路由 + 前端文档工作台
- vstore 独立安装包(8094):解析/嵌入/加密 vault/faiss 检索,存储路径支持本地 file 与 http(s):// URL,启动握手校验,集群化预留(embed 独立模块)
- BFF docgen 路由:上传入库/generate/编辑/导出/下载/主库管理,意图护栏(与前端同词典),vstore 失败兜底,quota 507 与 TTL 惰性清理
- 前端:自然触发意图路由、拖拽上传 chips、能力徽标、右侧文档 TAB(WYSIWYG 编辑/prompt 修改/PDF+DOCX 导出下载)、右栏拖宽+手柄仿左栏
- 批量导入工具 docgen_import.py(并发 8、导入即加密+删源明文)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-03 21:13:37 +08:00 |
|