Solon v3.3.1

rag - 重排模型(RerankingModel)

</> markdown

重排模型,可以为文档进行相似度排序。和聊天模型一样,也会有方言及适配(这里略过)。

1、重排模型的构建

  • 原始构建方式
RerankingModel  rerankingModel = RerankingModel.of(reranking_apiUrl)
        .apiKey(reranking_apiKey)
        .model(reranking_model)
        .build();
  • 配置器构建方式
solon.ai.rerank:
  demo:
    apiUrl: "https://ai.gitee.com/v1/rerank" # 使用完整地址(而不是 api_base)
    apiKey: "......"
    provider: "giteeai" # 使用 ollama 服务时,需要配置 provider
    model: "bge-reranker-v2-m3"
@Configuration
public class DemoConfig {
    @Bean
    public RerankingModel rerankingModel(@Inject("${solon.ai.rerank.demo}") EmbeddingConfig config) {
        return RerankingModel.of(config).build();
    }
}

2、调用及快捷调用

RerankingModel 主要是在 RAG 存储与检索后,提供重新排序服务的。

  • 标准调用
RerankingResponse resp = RerankingModel
        .input("比较原始的风格", "能表达内在的大概过程", "太阳升起来了")
        .call();

//打印消息
log.warn("{}", resp.getResults()); //结果数据
  • 快捷调用
//为文档重新排序
documents = embeddingModel.rerank(documents);

3、方言适配

重排模型(RerankingModel)同样支持方言适配。