rerankWithScorer()
rerankWithScorer()
関数は、セマンティック関連性、ベクトル類似性、位置ベースのスコアリングを組み合わせることで、ベクトル検索結果に対する高度な再ランキング機能を提供します。
function rerankWithScorer({
results: QueryResult[],
query: string,
scorer: RelevanceScoreProvider,
options?: RerankerFunctionOptions,
}): Promise<RerankResult[]>;
使用例
import { openai } from "@ai-sdk/openai";
import { rerankWithScorer as rerank, CohereRelevanceScorer } from "@mastra/rag";
const scorer = new CohereRelevanceScorer('rerank-v3.5');
const rerankedResults = await rerank({
results: vectorSearchResults,
query: "How do I deploy to production?",
scorer,
options: {
weights: {
semantic: 0.5,
vector: 0.3,
position: 0.2,
},
topK: 3,
},
});
パラメータ
results:
QueryResult[]
再ランク付けするベクトル検索結果
query:
string
関連性を評価するために使用される検索クエリテキスト
scorer:
RelevanceScoreProvider
再ランク付けに使用する関連性スコアラー
options?:
RerankerFunctionOptions
再ランク付けモデルのオプション
rerankWithScorer
関数は@mastra/ragの任意のRelevanceScoreProvider
を受け入れます。
注意: 再ランク付け中にセマンティックスコアリングが適切に機能するためには、各結果の
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:
クエリの主要な特徴