본문으로 건너뛰기

텍스트 차이 득점자

그만큼createTextualDifferenceScorer()함수는 시퀀스 일치를 사용하여 두 문자열 간의 텍스트 차이를 측정합니다. 한 텍스트를 다른 텍스트로 변환하는 데 필요한 작업 수를 포함하여 변경 사항에 대한 자세한 정보를 제공합니다.

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

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

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

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

runId:

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

analyzeStepResult:

object
차이 지표가 포함된 객체: { confidence: number, changes: number, lengthDiff: number }

score:

number
1이면 텍스트가 동일함을 나타내는 유사도 비율(0~1)입니다.

.run()다음과 같은 형태로 결과를 반환합니다.

{
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 출력 간의 텍스트 차이를 측정합니다.

src/example-textual-difference.ts
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 레퍼런스를 참조하세요. 이 득점자를 Agent에 추가하려면 다음을 참조하세요.Scorers overview guide.