- 移除假的 create_hybrid_retriever 实现 - 添加 HybridRetriever 类,支持检测 Qdrant 稀疏向量配置 - 更新 README.md 说明现状(未配置稀疏向量,优雅降级到纯稠密检索) - 语法检查通过
This commit is contained in:
@@ -103,11 +103,19 @@ retriever = create_base_retriever(
|
||||
docs = retriever.invoke("什么是 RAG?")
|
||||
```
|
||||
|
||||
### Level 2: 混合检索与重排序 (Hybrid Search + Reranker)
|
||||
### Level 2: 混合检索与重排序(Hybrid Search + Reranker)
|
||||
|
||||
混合检索旨在结合向量的"语义泛化"与关键词的"精准匹配",随后利用重排序模型过滤噪声。
|
||||
混合检索旨在结合向量的"语义泛化"与关键词的"精确匹配",随后利用重排序模型过滤噪声。
|
||||
|
||||
**1. 基础召回 (混合检索)**
|
||||
**⚠️ 现状说明**:
|
||||
- `create_hybrid_retriever` 函数已实现框架,能检测 Qdrant 集合是否有稀疏向量配置
|
||||
- 目前 Qdrant 集合**未配置**稀疏向量字段,混合检索会优雅降级为纯稠密检索
|
||||
- 如果需要启用完整混合检索,需:
|
||||
1. 使用 BM25 计算稀疏向量
|
||||
2. 在 Qdrant 集合配置 sparse_vectors
|
||||
3. 更新索引器以同时存储稠密和稀疏向量
|
||||
|
||||
**1. 基础召回(纯稠密检索)**
|
||||
|
||||
- **核心原理**: 结合基于 HNSW 的 Dense Vector 相似度搜索与基于 TF-IDF 的 BM25 稀疏检索 (Sparse Vector)。
|
||||
- **实现指南**: 使用 `app/rag/retriever.py` 中的 `create_hybrid_retriever` 函数,配置 `dense_k=10` 和 `sparse_k=10`,总召回 20 条结果。
|
||||
|
||||
Reference in New Issue
Block a user