跳到主要内容

rerankWithScorer()

rerankWithScorer() 函数通过结合语义相关性、向量相似度和基于位置的评分,为向量搜索结果提供高级重排序功能。

function rerankWithScorer({
results: QueryResult[],
query: string,
scorer: RelevanceScoreProvider,
options?: RerankerFunctionOptions,
}): Promise<RerankResult[]>;

使用示例
使用示例的直接链接

import { rerankWithScorer as rerank, CohereRelevanceScorer } from '@mastra/rag'

const scorer = new CohereRelevanceScorer('rerank-v3.5')

const rerankedResults = await rerank({
results: vectorSearchResults,
query: 'How do I deploy to production?',
scorer,
options: { weights: { semantic: 0.5, vector: 0.3, position: 0.2 }, topK: 3 },
})

参数
参数的直接链接

results:

QueryResult[]
要重排序的向量搜索结果

query:

string
用于评估相关性的搜索查询文本

scorer:

RelevanceScoreProvider
用于重排序的相关性评分器

options?:

RerankerFunctionOptions
重排序模型的选项
RerankerFunctionOptions

weights?:

WeightConfig
不同评分组件的权重(总和必须为 1)
number

semantic?:

number (default: 0.4)
语义相关性的权重
number

vector?:

number (default: 0.4)
向量相似度的权重
number

position?:

number (default: 0.2)
基于位置评分的权重

queryEmbedding?:

number[]
查询的嵌入

topK?:

number
要返回的顶部结果数量

rerankWithScorer 函数接受来自 @mastra/rag 的任意 RelevanceScoreProvider

备注

要使重新排序期间的语义评分正常工作,每个结果都必须在其 metadata.text 字段中包含文本内容。

返回
返回的直接链接

该函数返回 RerankResult 对象数组:

result:

QueryResult
原始查询结果

score:

number
综合重排序分数(0-1)

details:

ScoringDetails
详细的评分信息

ScoringDetails
scoringdetails的直接链接

semantic:

number
语义相关性分数(0-1)

vector:

number
向量相似度分数(0-1)

position:

number
基于位置的分数(0-1)

queryAnalysis?:

object
查询分析详情
number

magnitude:

查询的幅度
number[]

dominantFeatures:

查询的主要特征