rag - 重排模型(RerankingModel)
重排模型,可以为文档进行相似度排序。和聊天模型一样,也会有方言及适配(这里略过)。
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)同样支持方言适配。