rerankWithScorer()
The rerankWithScorer()
function provides advanced reranking capabilities for vector search results by combining semantic relevance, vector similarity, and position-based scoring.
function rerankWithScorer({
results: QueryResult[],
query: string,
scorer: RelevanceScoreProvider,
options?: RerankerFunctionOptions,
}): Promise<RerankResult[]>;
Usage Example
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,
},
});
Parameters
results:
QueryResult[]
The vector search results to rerank
query:
string
The search query text used to evaluate relevance
scorer:
RelevanceScoreProvider
The relevance scorer to use for reranking
options?:
RerankerFunctionOptions
Options for the reranking model
The rerankWithScorer
function accepts any RelevanceScoreProvider
from @mastra/rag.
Note: For semantic scoring to work properly during re-ranking, each result must include the text content in its
metadata.text
field.
RerankerFunctionOptions
weights?:
WeightConfig
Weights for different scoring components (must add up to 1)
number
semantic?:
number (default: 0.4)
Weight for semantic relevance
number
vector?:
number (default: 0.4)
Weight for vector similarity
number
position?:
number (default: 0.2)
Weight for position-based scoring
queryEmbedding?:
number[]
Embedding of the query
topK?:
number
= 3
Number of top results to return
Returns
The function returns an array of RerankResult
objects:
result:
QueryResult
The original query result
score:
number
Combined reranking score (0-1)
details:
ScoringDetails
Detailed scoring information
ScoringDetails
semantic:
number
Semantic relevance score (0-1)
vector:
number
Vector similarity score (0-1)
position:
number
Position-based score (0-1)
queryAnalysis?:
object
Query analysis details
number
magnitude:
Magnitude of the query
number[]
dominantFeatures:
Dominant features of the query