メインコンテンツへ移動

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[]
クエリの Embedding

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:

クエリの主要な特徴