> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # rerank() `rerank()` 函数通过结合语义相关性、向量相似度和基于位置的评分,为向量搜索结果提供高级重排序功能。 ```typescript function rerank( results: QueryResult[], query: string, modelConfig: ModelConfig, options?: RerankerFunctionOptions, ): Promise ``` ## 使用示例 ```typescript import { rerank } from '@mastra/rag' const model = 'openai/gpt-5.6-sol' 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`): 用于重排序的语言 Model **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`): 要返回的顶部结果数量 rerank 函数接受 Vercel AI SDK 中的任意 LanguageModel。使用 Cohere 模型 `rerank-v3.5` 时,它会自动使用 Cohere 的重排序功能。 > **备注:** 要使重新排序期间的语义评分正常工作,每个结果都必须在其 `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)