본문으로 건너뛰기

완전성 득점자

그만큼createCompletenessScorer()함수는 LLM의 출력이 입력에 있는 핵심 요소를 얼마나 철저하게 포함하는지 평가합니다. 명사, 동사, 주제, 용어를 분석하여 적용 범위를 결정하고 자세한 완전성 점수를 제공합니다.

매개변수
매개변수에 대한 직접 링크

그만큼createCompletenessScorer() function doesn't take any options.

이 함수는 MastraScorer 클래스의 인스턴스를 반환합니다. .run() 메서드와 해당 입력/출력에 관한 자세한 내용은 MastraScorer 레퍼런스를 참조하세요.

.run()보고
run-returns에 대한 직접 링크

runId:

string
실행 ID입니다(선택 사항).

preprocessStepResult:

object
추출된 요소와 적용 범위 세부 정보를 포함하는 객체입니다: { inputElements: string[], outputElements: string[], missingElements: string[], elementCounts: { input: number, output: number } }

score:

number
출력에서 다룬 입력 요소의 비율을 나타내는 완전성 점수입니다(0~1).

.run() 메서드는 다음 형태의 결과를 반환합니다.

{
runId: string,
extractStepResult: {
inputElements: string[],
outputElements: string[],
missingElements: string[],
elementCounts: { input: number, output: number }
},
score: number
}

요소 추출 세부정보
요소 추출 세부정보에 대한 직접 링크

채점자는 여러 유형의 요소를 추출하고 분석합니다.

  • 명사: 주요 개체, 개념 및 엔터티
  • 동사: 동작 및 상태(부정사 형태로 변환)
  • 주제 : 주요 주제 및 주제
  • 용어: 개별적인 실질적인 단어

추출 프로세스에는 다음이 포함됩니다.

  • 텍스트 정규화(발음 부호 제거, 소문자로 변환)
  • CamelCase 단어 분리
  • 단어 경계 처리
  • 짧은 단어(3자 이하)의 특수 처리
  • 요소 중복 제거

extractStepResult
extractstepresult에 대한 직접 링크

.run() 메서드에서 다음 속성을 가진 extractStepResult 객체를 가져올 수 있습니다.

  • 입력 요소: 입력에서 발견된 주요 요소(예: 명사, 동사, 주제, 용어)입니다.
  • 출력요소: 출력에서 ​​발견된 주요 요소입니다.
  • 누락된 요소: 출력에서 ​​입력 요소를 찾을 수 없습니다.
  • 요소수: 입력 및 출력의 요소 수입니다.

채점 세부정보
채점 세부정보에 대한 직접 링크

채점자는 언어적 요소 범위 분석을 통해 완성도를 평가합니다.

채점 과정
채점 과정에 대한 직접 링크

  1. 핵심 요소를 추출합니다.
    • 명사와 명명된 엔터티
    • 동작 동사
    • 주제별 용어
    • 정규화된 단어 형태
  2. 입력 요소의 적용 범위를 계산합니다.
    • 짧은 용어에 대한 정확한 일치(3자 이하)
    • 장기적으로 상당한 중복(>60%)

최종 점수:(covered_elements / total_input_elements) * scale

점수 해석
점수 해석에 대한 직접 링크

0과 1 사이의 완성도 점수:

  • 1.0: 쿼리의 모든 측면을 세부적으로 자세히 설명합니다.
  • 0.7~0.9: 가장 중요한 측면을 좋은 세부 묘사와 약간의 공백으로 다룹니다.
  • 0.4~0.6: 몇 가지 핵심 사항을 다루지만 중요한 측면이 누락되었거나 세부 정보가 부족합니다.
  • 0.1~0.3: 상당한 격차가 있는 쿼리를 부분적으로만 해결합니다.
  • 0.0: 문의사항을 해결하지 못하거나 관련 없는 정보를 제공합니다.

예에 대한 직접 링크

다양한 쿼리 복잡성 전반에 걸쳐 Agent 응답의 완전성을 평가합니다.

src/example-completeness.ts
import { runEvals } from '@mastra/core/evals'
import { createCompletenessScorer } from '@mastra/evals/scorers/prebuilt'
import { myAgent } from './agent'

const scorer = createCompletenessScorer()

const result = await runEvals({
data: [
{
input:
'Explain the process of photosynthesis, including the inputs, outputs, and stages involved.',
},
{
input: 'What are the benefits and drawbacks of remote work for both employees and employers?',
},
{
input:
'Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.',
},
],
scorers: [scorer],
target: myAgent,
onItemComplete: ({ scorerResults }) => {
console.log({
score: scorerResults[scorer.id].score,
})
},
})

console.log(result.scores)

runEvals에 관한 자세한 내용은 runEvals 레퍼런스를 참조하세요. 이 득점자를 Agent에 추가하려면 다음을 참조하세요.Scorers overview guide.