feat: 接入 BGE-M3 本地嵌入默认配置 + 新增 Qwen3-Reranker 重排

- .env.example 嵌入默认改为本地 BGE-M3(EMBEDDING_PROVIDER=local, dim=1024),NAS 全新部署即用
- 新增 app/services/reranker.py:基于 Ollama /api/rerank 的 cross-encoder 重排服务
- retriever 在 chunk 候选阶段接入语义精排,调用失败优雅降级为 RRF 顺序
- docker-compose 拉取 qwen3-reranker:0.6b,OLLAMA_MAX_LOADED_MODELS 提至 3
- .gitignore 排除 .workbuddy/ 与 .trae/(防止误提交项目记忆与 IDE spec)
- 新增 reranker 单元与集成测试,全量测试 529 passed
This commit is contained in:
2026-08-01 00:08:38 +08:00
parent 6c6f690788
commit 6ae91679e2
8 changed files with 320 additions and 9 deletions
+6
View File
@@ -21,6 +21,12 @@ class Settings(BaseSettings):
ollama_model: str = "qwen2.5:1.5b" # 备选: qwen2.5:3b
ollama_embedding_model: str = "bge-m3" # embedding_provider=local 时使用的嵌入模型
# 重排模型(cross-encoder,经 Ollama /api/rerank,对 chunk 候选做最终精排)
# 关闭时检索链路退化为纯 RRF 融合结果,行为不变
reranker_enabled: bool = False
reranker_model: str = "qwen3-reranker:0.6b"
reranker_timeout: float = 30.0
# Qdrant
qdrant_host: str = "localhost"
qdrant_port: int = 6333