> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 답변 관련성 득점자 그만큼`createAnswerRelevancyScorer()`함수는 다음 속성을 가진 단일 옵션 개체를 허용합니다. ## 매개변수 **model** (`LanguageModel`): 관련성 평가에 사용되는 Model의 구성입니다. **uncertaintyWeight** (`number`): 채점에서 'unsure' 판정에 부여하는 가중치입니다(0\~1). (Default: `0.3`) **scale** (`number`): 최대 점수 값입니다. (Default: `1`) 이 함수는 MastraScorer 클래스의 인스턴스를 반환합니다. `.run()` 메서드는 다른 채점기와 동일한 입력을 받지만([MastraScorer 레퍼런스](https://mastra.zisheng.pro/ko/reference/evals/mastra-scorer) 참조), 반환값에는 아래에 설명된 LLM 관련 필드가 포함됩니다. ## `.run()`보고 **runId** (`string`): 실행 ID입니다(선택 사항). **score** (`number`): 관련성 점수입니다(0\~scale, 기본값 0\~1). **preprocessPrompt** (`string`): 전처리 단계에서 LLM으로 전송된 Prompt입니다(선택 사항). **preprocessStepResult** (`object`): 추출된 문장을 포함하는 객체입니다: { statements: string\[] } **analyzePrompt** (`string`): 분석 단계에서 LLM으로 전송된 Prompt입니다(선택 사항). **analyzeStepResult** (`object`): 결과를 포함하는 객체입니다: { results: Array<{ result: 'yes' | 'unsure' | 'no', reason: string }> } **generateReasonPrompt** (`string`): 근거 생성 단계에서 LLM으로 전송된 Prompt입니다(선택 사항). **reason** (`string`): 점수에 대한 설명입니다. ## 채점 세부정보 채점자는 질의-답변 정렬을 통해 관련성을 평가하지만 사실의 정확성은 고려하지 않고 완전성과 세부 수준을 고려합니다. ### 채점 과정 1. **명령문 전처리:** - 컨텍스트를 유지하면서 출력을 유용한 명령문으로 나눕니다. 2. **관련성 분석:** - 각 문은 다음과 같이 평가됩니다. - "yes": 직접 일치의 전체 가중치 - "unsure": 대략적인 일치를 위한 부분 가중치(기본값: 0.3) - "아니요": 관련 없는 콘텐츠에 대해서는 가중치가 0입니다. 3. **점수 계산:** - `((direct + uncertainty * partial) / total_statements) * 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 { createAnswerRelevancyScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createAnswerRelevancyScorer({ model: 'openai/gpt-5.6-sol' }) const result = await runEvals({ data: [ { input: 'What are the health benefits of regular exercise?', }, { input: 'What should a healthy breakfast include?', }, { input: 'What are the benefits of meditation?', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, reason: scorerResults[scorer.id].reason, }) }, }) 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/faithfulness)