Files
kplam 51dc8dc4f6 Initial commit: QMDSearch 分层信息检索服务
- FastAPI + Qdrant + Redis + Ollama 技术栈
- L1→L2→L3→chunk 四层分层检索(dense + sparse RRF 融合)
- 文档三级总结与 2.5 级回退
- query 解析路由与分类
- /admin 管理页面
2026-07-29 21:24:40 +08:00

42 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Checklist
## 文档管理 API
- [x] GET /api/v1/documents 分页返回 itemsdoc_id/title/category/tags/summary)与 next_offset,空库返回空列表
- [x] GET /api/v1/documents/{doc_id} 返回 L1 全部字段 + l2_nodes/l3_nodes + chunks_count
- [x] 不存在 doc_id 详情返回 code=1004
- [x] DELETE /api/v1/documents/{doc_id} 后四层集合该文档点全部清除,再查详情返回 1004
- [x] DELETE 不存在 doc_id 幂等成功且 deleted 统计为 0
## 统计 API
- [x] GET /api/v1/knowledge/stats 返回四层集合点数、类目分布、uncategorized_count
- [x] stats 数值与内存 Qdrant 实际写入一致(测试验证)
## 管理页面
- [x] GET /admin 返回 200 HTML
- [x] 页面含 概览/文档管理/入库/检索测试台/类目 五个区块
- [x] 页面无外部 CDN/外链资源(无 http(s):// src 或 link
- [x] 所有 fetch 指向 /api/v1/ 路径且与后端路由契约一致(路径、方法、字段名)
- [x] 删除操作有二次确认逻辑(confirm 或等价交互)
- [x] code≠0 时页面有错误提示处理
## 单测补全
- [x] judge.py:正常幻觉率计算、部分断言不支持、解析失败返回 0.0
- [x] response.pyok/error/ApiError 结构与 code
- [x] ollama.pygenerate 正常/json_mode payload 含 format:is_available 可达与异常分支
- [x] run_eval.py:门槛判定(✅/❌)与数值格式化纯函数
## 部署与文档
- [x] Dockerfile 含 COPY scripts/ scripts/
- [x] CLAUDE.md 项目结构、API 清单(含 documents 管理端点/stats//admin)与实际一致
## 集成
- [x] 内存 Qdrant 管理闭环冒烟通过:入库→列表→详情→检索→删除→统计
- [x] `uv run pytest` 全部通过(含新增测试)
- [x] `uv run ruff check app tests scripts` 无错误