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