通过text_relevance_llm函数调用排序模型对搜索结果进行排序。
前提条件
行业算法版接入AI搜索开放平台
排序模型由AI搜索开放平台提供,如需在行业算法版中使用,需要先接入模型。
登录AI搜索开放平台,进入模型列表页面,在接入信息区域单击一键接入开通基于检索增强生成(RAG)的智能对话服务。页面下方展示可用模型,包括 ops-qwen-turbo(基于 qwen-turbo 微调以强化 RAG 能力)、qwen-turbo、qwen-plus、qwen-max 等大语言模型。
函数介绍
创建text_relevance_llm
-
语法:TextRelevanceLLM create(OpsScorerInitParams params, CString serviceId, CString fields)
-
参数说明:
-
params:算分初始化参数,参考OpsScorerInitParams
-
serviceId:重排服务(模型)ID。
-
fields: 属性字段,多个字段之间以
#号分隔。
-
计算分数
-
语法:double evaluate(OpsScoreParams params)
-
参数params:算分输入参数,详情请参考OpsScoreParams。
-
返回值:文本相关性分数,取值范围为[0, 1]。
示例代码
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsRequest;
import com.aliyun.opensearch.cava.framework.OpsDoc;
import com.aliyun.opensearch.cava.features.algo.TextRelevanceLLM;
class IntelligenceAlgorithmScorer {
TextRelevanceLLM _textRelevanceLLM;
boolean init(OpsScorerInitParams params) {
_textRelevanceLLM = TextRelevanceLLM.create(params, "ops-text-reranker-001", "detail_attr");
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
double score = _textRelevanceLLM.evaluate(params);
doc.trace("TextRelevanceLLM Score: ", score);
return score;
}
};
该文章对您有帮助吗?