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:
クエリの主要な特徴