第 14 期:检索策略精调

Updated on 4/6/2026

[Translation Pending]\n\n## 三大检索模式

graph TB
    Query[用户查询] --> Mode{检索模式}
    Mode -->|向量检索| Vector[Embedding 相似度匹配]
    Mode -->|全文检索| FullText[关键词 BM25 匹配]
    Mode -->|混合检索| Hybrid[向量 + 全文 加权融合]
    
    Vector --> Rerank[Rerank 重排序]
    FullText --> Rerank
    Hybrid --> Rerank
    Rerank --> TopK[Top-K 最终结果]

向量检索 (Vector Search)

利用 Embedding 模型将查询转化为向量,在向量空间中寻找最相近的文档段落。

优点:理解语义,"如何部署" 能匹配到 "安装指南" 缺点:对精确术语、编号检索较弱

# 向量检索参数
vector_search_config = {
    "search_method": "semantic_search",
    "top_k": 5,                   # 返回前 5 个最相似段落
    "score_threshold": 0.5,       # 相似度低于 0.5 的过滤掉
    "reranking_enable": True,
    "reranking_model": {
        "provider": "cohere",
        "model": "rerank-multilingual-v3.0"
    }
}

全文检索 (Full-Text Search)

基于 BM25 算法的经典关键词匹配。

优点:精确匹配关键词、型号、编号 缺点:不理解语义同义词

混合检索 (Hybrid Search) — 推荐

graph LR
    Q[查询] --> V[向量检索 Top-20]
    Q --> F[全文检索 Top-20]
    V --> Merge[RRF 融合排序]
    F --> Merge
    Merge --> Rerank[Rerank 重排序]
    Rerank --> Result[Top-K 最终结果]
# 混合检索 + Rerank 配置(最佳实践)
hybrid_config = {
    "search_method": "hybrid_search",
    "top_k": 5,
    "score_threshold": 0.3,
    "weights": {
        "vector_weight": 0.7,     # 语义权重
        "keyword_weight": 0.3     # 关键词权重
    },
    "reranking_enable": True,
    "reranking_model": {
        "provider": "cohere",
        "model": "rerank-multilingual-v3.0"
    }
}

调参实战指南

问题 调整方式
召回太少/漏掉相关内容 降低 score_threshold,增大 top_k
召回太多噪声 提高 score_threshold,开启 Rerank
专业术语匹配差 增加全文检索权重
同义词无法匹配 增加向量检索权重

测试检索效果

# 通过 API 测试检索
curl -X POST 'http://localhost/console/api/datasets/{dataset_id}/retrieval-testing' \
  -H 'Authorization: Bearer CONSOLE_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "如何配置 SSL 证书?",
    "retrieval_model": {
      "search_method": "hybrid_search",
      "top_k": 5,
      "score_threshold": 0.3
    }
  }'