跳至主要內容

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
用於重新排序的語言模型

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
詳細評分資訊

ScoringDetails
「scoringdetails」的直接連結

semantic:

number
語意相關性分數(0–1)

vector:

number
向量相似度分數(0–1)

position:

number
位置分數(0–1)

queryAnalysis?:

object
查詢分析詳細資訊
number

magnitude:

查詢的量值
number[]

dominantFeatures:

查詢的主要特徵