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:

クエリの主要な特徴

関連