rerankWithScorer()
rerankWithScorer() 函數結合語意相關性、向量相似度及按位置評分,為向量搜尋結果提供進階重新排序功能。
function rerankWithScorer({
results: QueryResult[],
query: string,
scorer: RelevanceScoreProvider,
options?: RerankerFunctionOptions,
}): Promise<RerankResult[]>;
使用範例使用範例 的直接連結
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
重新排序模型的選項
RerankerFunctionOptions
weights?:
WeightConfig
不同評分組成部分的權重(總和必須為 1)
number
semantic?:
number (default: 0.4)
語意相關性的權重
number
vector?:
number (default: 0.4)
向量相似度的權重
number
position?:
number (default: 0.2)
按位置評分的權重
queryEmbedding?:
number[]
查詢的 embedding
topK?:
number
要傳回的最高排名結果數目
rerankWithScorer 函數接受 @mastra/rag 的任何 RelevanceScoreProvider。
備註
要讓語意評分在重新排序期間正常運作,每項結果都必須在其 metadata.text 欄位中包含文字內容。
傳回值傳回值 的直接連結
此函數傳回一個由 RerankResult 物件組成的陣列:
result:
QueryResult
原始查詢結果
score:
number
合併後的重新排序分數(0 至 1)
details:
ScoringDetails
詳細評分資料
ScoringDetailsscoringdetails 的直接連結
semantic:
number
語意相關性分數(0 至 1)
vector:
number
向量相似度分數(0 至 1)
position:
number
按位置計算的分數(0 至 1)
queryAnalysis?:
object
查詢分析詳情
number
magnitude:
查詢的量值
number[]
dominantFeatures:
查詢的主要特徵