Skip to Content

rerank()

rerank() 関数は、セマンティックな関連性、ベクトル類似度、位置に基づくスコアリングを組み合わせることで、ベクトル検索結果に対して高度なリランキング機能を提供します。

function rerank( results: QueryResult[], query: string, modelConfig: ModelConfig, options?: RerankerFunctionOptions, ): Promise<RerankResult[]>;

使用例

import { openai } from "@ai-sdk/openai"; import { rerank } from "@mastra/rag"; const model = openai("gpt-4o-mini"); 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
再ランク付けモデルのオプション

rerank関数は、Vercel AI SDKの任意のLanguageModelを受け付けます。Cohereモデルのrerank-v3.5を使用する場合、自動的にCohereの再ランク付け機能が利用されます。

注意: セマンティックスコアリングが再ランク付け時に正しく機能するためには、各結果のmetadata.textフィールドにテキストコンテンツが含まれている必要があります。

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
= 3
返す上位結果の数

戻り値

この関数は RerankResult オブジェクトの配列を返します:

result:

QueryResult
元のクエリ結果

score:

number
統合リランキングスコア (0-1)

details:

ScoringDetails
詳細なスコア情報

ScoringDetails

semantic:

number
セマンティック関連度スコア (0-1)

vector:

number
ベクトル類似度スコア (0-1)

position:

number
ポジションベースのスコア (0-1)

queryAnalysis?:

object
クエリ分析の詳細
number

magnitude:

クエリの大きさ
number[]

dominantFeatures:

クエリの主要な特徴

関連