fix(boundary): 修复多库边界问题、版本管理及删除清理
多库检索与存储修复: - RRF 融合去重改用 (collection, chunk_id) 复合键,修复同名文件结果被吞 - DocStore 存储路径加 collection 前缀,修复跨库同名切片数据覆盖 - search_multiple 去重改用复合键 - chunk_id 解析改用 rsplit 兼容下划线文件名 上传与版本管理修复: - 同名文件上传改为覆盖模式,自动清理旧切片 - 修复首次上传不创建版本记录 - 修复覆盖上传版本号回退到 v1 - sync ADDED 分支改用动态版本号生成 - _generate_version_id 改为基于全部版本递增 - 废止/恢复操作同步 SQLite 版本记录 - mark_document_as_superseded 改为仅更新 SQLite 删除清理修复: - 删除文档时同步清理 SQLite 版本记录和变更日志 - 删除向量库时同步清理该库所有版本记录 - cleanup 改为清理 SQLite 记录而非 ChromaDB 测试: - test_version_management.py: 27 条版本管理单元测试 - test_edge_cases.py: 28 条边界用例测试 - test_upload_dedup.py: 5 条上传去重测试 - e2e_risk_test.py: 27 条端到端风险测试 文档: - 新增风险边界问题修复注意事项.md(面向后端的对接文档) - 新增向量库边界风险分析.md - 更新多篇现有文档
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> **文档类型**: 系统设计文档
|
||||
> **创建日期**: 2026-04-10
|
||||
> **最后更新**: 2026-04-13
|
||||
> **最后更新**: 2026-06-04
|
||||
> **状态**: 已实施
|
||||
|
||||
---
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
```
|
||||
exam_pkg/ # 考试系统
|
||||
├── manager.py # 出题与批卷核心逻辑
|
||||
├── generator.py # 出题逻辑(按文件/按主题生成题目)
|
||||
├── grader.py # 批卷逻辑(选择题/填空题/简答题批改)
|
||||
├── manager.py # 试卷管理与协调逻辑
|
||||
├── api.py # Flask Blueprint (exam_bp)
|
||||
├── analysis.py # 考试分析
|
||||
├── local_db.py # 本地题库 (SQLite)
|
||||
└── question_hook.py # 题目维护钩子
|
||||
└── local_db.py # 本地题库 (SQLite)
|
||||
```
|
||||
|
||||
**认证模块**: `auth/gateway.py` - 网关认证
|
||||
@@ -629,6 +629,7 @@ WHERE source_file = 'public/产品手册.pdf';
|
||||
|
||||
| 日期 | 版本 | 变更内容 |
|
||||
|------|------|---------|
|
||||
| 2026-06-04 | 2.1 | 更新模块结构:移除已删除的 analysis.py、question_hook.py,新增 generator.py、grader.py |
|
||||
| 2026-04-13 | 2.0 | 合并出题批卷功能改造计划、批卷工作流优化计划、批卷接口规范 |
|
||||
| 2026-04-12 | 1.2 | 新增最小字段输入格式,优化批量批改流程 |
|
||||
| 2026-04-10 | 1.0 | 初始版本:按文件出题功能设计 |
|
||||
|
||||
Reference in New Issue
Block a user