TextRelevanceLLM

更新时间:
复制为 MD 格式

通过text_relevance_llm函数调用排序模型对搜索结果进行排序。

前提条件

行业算法版接入AI搜索开放平台

排序模型由AI搜索开放平台提供,如需在行业算法版中使用,需要先接入模型

登录AI搜索开放平台,进入模型列表页面,在接入信息区域单击一键接入开通基于检索增强生成(RAG)的智能对话服务。页面下方展示可用模型,包括 ops-qwen-turbo(基于 qwen-turbo 微调以强化 RAG 能力)、qwen-turboqwen-plusqwen-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;
    }
};