TextRelevanceLLM

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

前提条件

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

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

image

函数介绍

创建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;
    }
};