snail-ai-model-rerank 模块职责

什么是 Rerank?

用户提问 → 向量检索(召回 Top-K 文档)→ Rerank 重排序 → 返回最相关的 Top-N 文档 → LLM 生成回答

向量检索速度快但精度有限,Rerank 通过更精细的模型对召回结果重新打分排序,显著提升最终检索质量。

三个子模块
1. snail-ai-model-rerank-core — 核心抽象层
定义适配器接口 + 运行时工厂

image

查看代码
 // 使用示例
RerankModelSpec spec = new RerankModelSpec(
    "qwen-rerank",
    "qwen",
    "https://dashscope.aliyuncs.com/compatible-mode/v1",
    "sk-xxx",
    "gte-rerank",
    config  // rerankPath, timeoutMs 等
);

RerankApiClient client = rerankModelRuntime.build(spec);
List<RerankResultItem> results = client.rerank("用户问题", documents, topN);
// 返回按相关性排序的文档索引和分数

2. snail-ai-model-rerank-provider-qwen — Qwen 重排适配器
实现通义千问/DashScope 的 rerank 接口

image

支持的配置参数:
baseUrl / apiKey / model
rerankPath(默认 /rerank)
timeoutMs(默认 60s)
请求格式:

请求格式:
 POST {baseUrl}/rerank
Authorization: Bearer {apiKey}
Content-Type: application/json

{
  "model": "gte-rerank",
  "query": "用户问题",
  "documents": ["文档1", "文档2", "文档3"],
  "top_n": 3
}
响应格式:
 {
  "output": {
    "results": [
      {"index": 2, "relevance_score": 0.95},
      {"index": 0, "relevance_score": 0.82},
      {"index": 1, "relevance_score": 0.65}
    ]
  }
}

 3. snail-ai-model-rerank-starter — 自动配置层
Spring Boot 自动装配

image

在 RAG 流程中的位置

image

与其他模型模块的对比

image

一句话总结
snail-ai-model-rerank = 重排模型适配层,通过 RerankModelAdapter 接口 + RerankModelRuntime 工厂,将 Rerank 服务(目前支持 Qwen/DashScope)封装为 RerankApiClient,用于 RAG 流程中对向量检索结果进行二次排序,提升检索准确性。

posted @ 2026-09-20 17:27  雨也飘柔  阅读(6)  评论(0)    收藏  举报