> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 텍스트 차이 득점자 그만큼`createTextualDifferenceScorer()`함수는 시퀀스 일치를 사용하여 두 문자열 간의 텍스트 차이를 측정합니다. 한 텍스트를 다른 텍스트로 변환하는 데 필요한 작업 수를 포함하여 변경 사항에 대한 자세한 정보를 제공합니다. ## 매개변수 그만큼`createTextualDifferenceScorer()` function doesn't take any options. 이 함수는 MastraScorer 클래스의 인스턴스를 반환합니다. `.run()` 메서드와 그 입력/출력에 대한 자세한 내용은 [MastraScorer 레퍼런스](https://mastra.zisheng.pro/ko/reference/evals/mastra-scorer)를 참조하세요. ## `.run()`보고 **runId** (`string`): 실행 ID입니다(선택 사항). **analyzeStepResult** (`object`): 차이 지표가 포함된 객체: { confidence: number, changes: number, lengthDiff: number } **score** (`number`): 1이면 텍스트가 동일함을 나타내는 유사도 비율(0\~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 출력과 실제 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/ko/reference/evals/run-evals)를 참조하세요. 이 득점자를 Agent에 추가하려면 다음을 참조하세요.[Scorers overview](https://mastra.zisheng.pro/ko/docs/evals/overview) guide. ## 관련된 - [콘텐츠 유사성 점수 측정기](https://mastra.zisheng.pro/ko/reference/evals/content-similarity) - [완전성 득점자](https://mastra.zisheng.pro/ko/reference/evals/completeness) - [키워드 적용 범위 득점자](https://mastra.zisheng.pro/ko/reference/evals/keyword-coverage)