> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/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`): 用於重新排序的語言模型 **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[]`): 查詢的 embedding **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/zh-HK/reference/tools/vector-query-tool)