docs: 更新 README — 混合检索、增量入库、Docker、导出功能
This commit is contained in:
@@ -13,6 +13,11 @@ Markdown 文档向量数据库 — 将 Markdown 文件自动分块、嵌入、
|
||||
- **安全**: 可选 API Key 认证、速率限制、路径遍历防护
|
||||
- **多格式文档**: 支持 `.md` / `.txt` / `.pdf` / `.html` / `.epub`,按扩展名自动选择分块器,可通过 `Splitter` Protocol 扩展
|
||||
- **去重**: 同一文件重复入库自动覆盖旧版本(基于路径 SHA256 哈希)
|
||||
- **混合检索**: BM25 关键词 + 向量语义联合检索,加权融合排序,支持切换纯向量模式
|
||||
- **增量入库**: 基于 SHA256 哈希自动跳过未变更文件,避免重复嵌入浪费 GPU
|
||||
- **结果重排序**: 可选 Cross-Encoder 精确重排(`BAAI/bge-reranker-base`),提升检索精度
|
||||
- **数据导出**: 支持 JSON/CSV 导出 collection 全量数据
|
||||
- **Docker 部署**: 提供 Dockerfile 和 docker-compose.yml,一键部署(含 GPU profile)
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -145,17 +150,43 @@ for r in resp.json()["results"]:
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## Docker 部署
|
||||
|
||||
```bash
|
||||
# 构建并启动(CPU 模式)
|
||||
docker compose up -d
|
||||
|
||||
# GPU 模式(需 nvidia-container-toolkit)
|
||||
docker compose --profile gpu up -d
|
||||
|
||||
# 查看日志
|
||||
docker compose logs -f
|
||||
|
||||
# 停止服务
|
||||
docker compose down
|
||||
|
||||
# CLI 使用示例
|
||||
docker exec -it md-vector-db uv run md-vector-db stats
|
||||
docker exec -it md-vector-db uv run md-vector-db ingest /app/md_docs/doc.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CLI 命令参考
|
||||
|
||||
所有命令均支持 `--config/-c`(配置文件)、`--collection/-C`(集合名,默认 `default`)。
|
||||
|
||||
| 命令 | 说明 |
|
||||
| --------------------------- | -------------------------------------------------------- |
|
||||
| `ingest <文件路径>` | 入库单个文件(自动识别格式),支持`-C` 指定集合 |
|
||||
| `ingest-dir <目录路径>` | 递归入库目录下所有支持的文档格式 |
|
||||
| `search <查询> -k <数量>` | 语义检索,`-k` 默认 10、最大 100,`--json` JSON 输出 |
|
||||
| `stats` | 显示 chunks 总数、源文件列表 |
|
||||
| `serve -p <端口>` | 启动 HTTP 服务(默认 8000) |
|
||||
| 命令 | 说明 |
|
||||
| --------------------------------- | -------------------------------------------------------- |
|
||||
| `ingest <文件路径> --incremental` | 增量入库单文件,自动跳过未变更文件 |
|
||||
| `ingest <文件路径> --force` | 强制重新入库(忽略增量检查) |
|
||||
| `ingest-dir <目录路径>` | 递归入库目录下所有支持的文档格式 |
|
||||
| `search <查询> -k <数量> --mode` | 语义检索,`--mode hybrid\|vector`,`--json` JSON 输出 |
|
||||
| `stats` | 显示 chunks 总数、源文件列表 |
|
||||
| `export -o <文件> -f <json\|csv>` | 导出 collection 数据 |
|
||||
| `serve -p <端口>` | 启动 HTTP 服务(默认 8000) |
|
||||
|
||||
---
|
||||
|
||||
@@ -182,6 +213,12 @@ chunk:
|
||||
server:
|
||||
host: 0.0.0.0 # 服务监听地址
|
||||
port: 8000 # 服务监听端口
|
||||
|
||||
search:
|
||||
mode: hybrid # 检索模式: hybrid (BM25+向量) | vector (纯向量)
|
||||
bm25_weight: 0.3 # BM25 权重 (0=纯向量, 1=纯BM25)
|
||||
candidate_multiplier: 3 # 向量检索候选倍数
|
||||
enable_rerank: false # 是否启用 Cross-Encoder 重排序
|
||||
```
|
||||
|
||||
### .env 环境变量
|
||||
|
||||
Reference in New Issue
Block a user