> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/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/zh-TW/reference/tools/vector-query-tool)