> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # 文本差異評分器 `createTextualDifferenceScorer()` 函式使用序列配對,量度兩個字串之間的文本差異。它會提供變更的詳細資料,包括將一段文本轉換成另一段文本所需的操作數目。 ## 參數 `createTextualDifferenceScorer()` 函式不接受任何選項。 此函式會傳回 MastraScorer 類別的實例。有關 `.run()` 方法及其輸入/輸出的詳情,請參閱 [MastraScorer 參考](https://mastra.zisheng.pro/zh-HK/reference/evals/mastra-scorer)。 ## `.run()` 傳回值 **runId** (`string`): 執行的 ID(選填)。 **analyzeStepResult** (`object`): 包含差異指標的物件:{ confidence: number, changes: number, lengthDiff: number } **score** (`number`): 相似度比率(0 至 1),1 表示文本完全相同。 `.run()` 會傳回以下結構的結果: ```typescript { runId: string, analyzeStepResult: { confidence: number, ratio: number, changes: number, lengthDiff: number }, score: number } ``` ## 評分詳情 評分器會計算多項指標: - **相似度比率**:根據文本之間的序列配對計算(0 至 1) - **變更**:所需的不相符操作數目 - **長度差異**:文本長度差異的標準化值 - **置信度**:與長度差異成反比 ### 評分流程 1. 分析文本差異: - 對輸入和輸出執行序列配對 - 計算所需的變更操作數目 - 量度長度差異 2. 計算指標: - 計算相似度比率 - 判定置信度分數 - 合併為加權分數 最終分數:`(similarity_ratio * confidence) * scale` ### 分數解讀 文本差異分數介乎 0 至 1: - **1.0**:文本完全相同。 - **0.7 至 0.9**:差異輕微,只需少量變更。 - **0.4 至 0.6**:差異中等,需要明顯變更。 - **0.1 至 0.3**:差異較大,需要大量變更。 - **0.0**:文本完全不同。 ## 範例 量度預期與實際 Agent 輸出之間的文本差異: ```typescript import { runEvals } from '@mastra/core/evals' import { createTextualDifferenceScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createTextualDifferenceScorer() const result = await runEvals({ data: [ { input: 'Summarize the concept of recursion', groundTruth: 'Recursion is when a function calls itself to solve a problem by breaking it into smaller subproblems.', }, { input: 'What is the capital of France?', groundTruth: 'The capital of France is Paris.', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, groundTruth: scorerResults[scorer.id].groundTruth, }) }, }) console.log(result.scores) ``` 有關 `runEvals` 的詳情,請參閱 [runEvals 參考](https://mastra.zisheng.pro/zh-HK/reference/evals/run-evals)。 如要將此評分器加入 Agent,請參閱 [評分器概覽](https://mastra.zisheng.pro/zh-HK/docs/evals/overview)指南。 ## 相關內容 - [內容相似度評分器](https://mastra.zisheng.pro/zh-HK/reference/evals/content-similarity) - [完整度評分器](https://mastra.zisheng.pro/zh-HK/reference/evals/completeness) - [關鍵字涵蓋率評分器](https://mastra.zisheng.pro/zh-HK/reference/evals/keyword-coverage)