> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # rerankWithScorer() `rerankWithScorer()` 函数通过结合语义相关性、向量相似度和基于位置的评分,为向量搜索结果提供高级重排序功能。 ```typescript function rerankWithScorer({ results: QueryResult[], query: string, scorer: RelevanceScoreProvider, options?: RerankerFunctionOptions, }): Promise; ``` ## 使用示例 ```typescript 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`): 重排序模型的选项 **options.weights** (`WeightConfig`): 不同评分组件的权重(总和必须为 1) **options.weights.semantic** (`number (default: 0.4)`): 语义相关性的权重 **options.weights.vector** (`number (default: 0.4)`): 向量相似度的权重 **options.weights.position** (`number (default: 0.2)`): 基于位置评分的权重 **options.queryEmbedding** (`number[]`): 查询的嵌入 **options.topK** (`number`): 要返回的顶部结果数量 `rerankWithScorer` 函数接受来自 @mastra/rag 的任意 `RelevanceScoreProvider`。 > **备注:** 要使重新排序期间的语义评分正常工作,每个结果都必须在其 `metadata.text` 字段中包含文本内容。 ## 返回 该函数返回 `RerankResult` 对象数组: **result** (`QueryResult`): 原始查询结果 **score** (`number`): 综合重排序分数(0-1) **details** (`ScoringDetails`): 详细的评分信息 ### `ScoringDetails` **semantic** (`number`): 语义相关性分数(0-1) **vector** (`number`): 向量相似度分数(0-1) **position** (`number`): 基于位置的分数(0-1) **queryAnalysis** (`object`): 查询分析详情 **queryAnalysis.magnitude**: 查询的幅度 **queryAnalysis.dominantFeatures**: 查询的主要特征 ## 相关内容 - [createVectorQueryTool](https://mastra.zisheng.pro/reference/tools/vector-query-tool)