rerank()
rerank() 函数通过结合语义相关性、向量相似度和基于位置的评分,为向量搜索结果提供高级重排序功能。
function rerank(
results: QueryResult[],
query: string,
modelConfig: ModelConfig,
options?: RerankerFunctionOptions,
): Promise<RerankResult[]>
使用示例使用示例的直接链接
import { rerank } from '@mastra/rag'
const model = 'openai/gpt-5.6-sol'
const rerankedResults = await rerank(vectorSearchResults, 'How do I deploy to production?', model, {
weights: { semantic: 0.5, vector: 0.3, position: 0.2 },
topK: 3,
})
参数参数的直接链接
results:
QueryResult[]
要重排序的向量搜索结果
query:
string
用于评估相关性的搜索查询文本
model:
MastraLanguageModel
用于重排序的语言 Model
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
要返回的顶部结果数量
rerank 函数接受 Vercel AI SDK 中的任意 LanguageModel。使用 Cohere 模型 rerank-v3.5 时,它会自动使用 Cohere 的重排序功能。
备注
要使重新排序期间的语义评分正常工作,每个结果都必须在其 metadata.text 字段中包含文本内容。
返回返回的直接链接
该函数返回 RerankResult 对象数组:
result:
QueryResult
原始查询结果
score:
number
综合重排序分数(0-1)
details:
ScoringDetails
详细的评分信息
ScoringDetailsscoringdetails的直接链接
semantic:
number
语义相关性分数(0-1)
vector:
number
向量相似度分数(0-1)
position:
number
基于位置的分数(0-1)
queryAnalysis?:
object
查询分析详情
number
magnitude:
查询的幅度
number[]
dominantFeatures:
查询的主要特征