feat: 添加 EPUBSplitter — ebooklib 提取章节文字后分块

- 新增 splitters/epub.py: ebooklib 读取 EPUB → BeautifulSoup 去标签 → TextSplitter 分块
- epub 作为可选依赖: uv sync --extra epub
- registry 新增 .epub 映射, ingest_file 处理 EPUB 二进制文件
- 测试: 3 个 EPUBSplitter 测试 (含空 EPUB/Protocol 合规)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-10 14:32:41 +08:00
parent eda080bc05
commit 3b8b585f31
6 changed files with 139 additions and 18 deletions
+5 -15
View File
@@ -18,21 +18,11 @@ dependencies = [
md-vector-db = "src.cli.main:app"
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"httpx>=0.27.0",
]
pdf = [
"pymupdf>=1.24.0",
]
html = [
"beautifulsoup4>=4.12.0",
]
all = [
"md-vector-db[pdf,html]",
"requests>=2.31.0",
"openai>=1.0.0",
]
dev = ["pytest>=8.0", "httpx>=0.27.0"]
pdf = ["pymupdf>=1.24.0"]
html = ["beautifulsoup4>=4.12.0"]
epub = ["ebooklib>=0.18"]
all = ["md-vector-db[pdf,html,epub]", "requests>=2.31.0", "openai>=1.0.0"]
[build-system]
requires = ["hatchling"]