test: 修复 EPUB 缺失依赖测试设计问题

This commit is contained in:
2026-07-10 15:28:13 +08:00
parent 2e95f68864
commit 788f610d3f
2 changed files with 31 additions and 11 deletions
+11 -3
View File
@@ -224,7 +224,15 @@ md-vector-db/
│ │ ├── db.py # ChromaDB 封装(线程安全)
│ │ ├── embedder.py # 嵌入器(Local/OpenAI/Dashscope
│ │ ├── ingest.py # 混合分块 + 入库
│ │ ── search.py # 语义检索
│ │ ── search.py # 语义检索
│ │ └── splitters/ # 文档分块器包
│ │ ├── base.py # Splitter(Protocol) + BaseTextSplitter(ABC)
│ │ ├── markdown.py # MarkdownSplitter
│ │ ├── text.py # TextSplitter
│ │ ├── pdf.py # PDFSplitter
│ │ ├── html.py # HTMLSplitter
│ │ ├── epub.py # EPUBSplitter
│ │ └── registry.py # 扩展名 → Splitter 自动选择
│ ├── server/ # FastAPI HTTP 层
│ │ ├── app.py # 路由 + 中间件
│ │ ├── deps.py # 依赖注入(AppState
@@ -236,7 +244,7 @@ md-vector-db/
├── scripts/
│ ├── serve.py # 快速启动脚本
│ └── ingest_obsidian.py # 批量入库 Obsidian 知识库
└── tests/ # 测试(46 个)
└── tests/ # 测试(115+ 个)
```
## 测试
@@ -250,7 +258,7 @@ uv run pytest tests/ -v --cov=src --cov-report=term-missing # 覆盖率
## 架构
**数据流**: MD 文件 → `MarkdownSplitter.split()` (标题→段落分块)`batch_embed()` (分批嵌入) → `ChromaDB collection.add()``Searcher.search()` 查询
**数据流**: 文件 → `get_splitter(path)` 自动选择 → `Splitter.split()``batch_embed()` (分批嵌入) → `ChromaDB collection.add()``Searcher.search()` 查询
**依赖方向**: `config``db``embedder``ingest` / `search``server` / `cli`