상황별 정밀 득점자
그만큼createContextPrecisionScorer()함수는 검색된 컨텍스트 조각이 예상 출력을 생성하는 데 얼마나 적절하고 위치가 잘 잡혀 있는지 평가하는 채점자를 생성합니다. 그것은 사용한다평균 평균 정밀도(MAP)시퀀스의 앞부분에 관련 컨텍스트를 배치하는 시스템에 보상을 제공합니다.
다음과 같은 사용 사례에 특히 유용합니다.
RAG 시스템 평가RAG 시스템 평가에 대한 직접 링크
다음과 같은 경우 RAG 파이프라인에서 검색된 컨텍스트를 평가하는 데 적합합니다.
- Model 성능에 대한 컨텍스트 순서가 중요합니다.
- 기본적인 관련성을 넘어서 검색 품질을 측정해야 합니다.
- 초기 관련 컨텍스트가 이후 관련 컨텍스트보다 더 가치가 있습니다.
컨텍스트 창 최적화컨텍스트 창 최적화에 대한 직접 링크
다음에 대한 컨텍스트 선택을 최적화할 때 사용합니다.
- 제한된 컨텍스트 창
- 토큰 예산 제약
- 다단계 추론 작업
매개변수매개변수에 대한 직접 링크
model:
MastraModelConfig
컨텍스트 관련성 평가에 사용할 언어 Model입니다.
options:
ContextPrecisionMetricOptions
채점기의 구성 옵션입니다.
context 또는 contextExtractor 중 하나를 제공해야 합니다. 둘 다 제공하면 contextExtractor가 우선합니다.
.run()보고run-returns에 대한 직접 링크
score:
number
0과 scale 사이의 평균 정밀도 점수입니다(기본값 0~1).
reason:
string
컨텍스트 정밀도 평가에 대한 사람이 읽기 쉬운 설명입니다.
채점 세부정보채점 세부정보에 대한 직접 링크
평균 평균 정밀도(MAP)평균 평균 정밀도(MAP)에 대한 직접 링크
컨텍스트 정밀도는 **평균 정밀도(Mean Average Precision)**를 사용하여 관련성과 위치를 모두 평가합니다.
- 맥락 평가: 각 컨텍스트 조각은 예상 출력을 생성하기 위해 관련성 또는 관련성이 없는 것으로 분류됩니다.
- 정밀 계산: 위치의 각 관련 컨텍스트에 대해
i, precision =relevant_items_so_far / (i + 1) - 평균 정밀도: 모든 정밀도 값을 합산하여 전체 해당 항목으로 나눕니다.
- 최종 점수: 축척계수를 곱하고 소수점 이하 2자리로 반올림
채점 공식채점 공식에 대한 직접 링크
MAP = (Σ Precision@k) / R
Where:
- Precision@k = (relevant items in positions 1...k) / k
- R = total number of relevant items
- Only calculated at positions where relevant items appear
점수 해석점수 해석에 대한 직접 링크
- 0.9-1.0: 뛰어난 정밀도 - 시퀀스 초기에 관련된 모든 컨텍스트
- 0.7-0.8: 좋은 정밀도 - 가장 관련성이 높은 컨텍스트가 잘 배치되어 있음
- 0.4-0.6: 적당한 정밀도 - 관련 문맥과 관련 없는 문맥이 혼합되어 있음
- 0.1-0.3: 정밀도가 낮음 - 관련 컨텍스트가 거의 없거나 위치가 잘못됨
- 0.0: 관련 컨텍스트를 찾을 수 없습니다.
이유분석이유분석에 대한 직접 링크
이유 필드는 다음을 설명합니다.
- 어떤 맥락 부분이 관련성/부적절하다고 간주되었는지
- 위치 지정이 MAP 계산에 미치는 영향
- 평가에 사용되는 특정 관련성 기준
최적화 통찰력최적화 통찰력에 대한 직접 링크
결과를 사용하여 다음을 수행합니다.
- 검색 개선: 순위를 매기기 전에 관련 없는 컨텍스트를 필터링합니다.
- 순위 최적화: 관련 컨텍스트 표면을 조기에 확보합니다.
- 청크 크기 조정: 컨텍스트 세부정보와 관련성 정확성의 균형을 유지하세요.
- 임베딩 평가: 더 나은 검색을 위해 다양한 임베딩 Model을 테스트합니다.
계산 예계산 예에 대한 직접 링크
문맥:[relevant, irrelevant, relevant, irrelevant]
- 위치 0: 관련성 → 정밀도 = 1/1 = 1.0
- 위치 1: 건너뛰기(관련 없음)
- 위치 2: 관련성 → 정밀도 = 2/3 = 0.67
- 위치 3: 건너뛰기(관련 없음)
MAP = (1.0 + 0.67) / 2 = 0.835 ≒0.83
득점자 구성득점자 구성에 대한 직접 링크
동적 컨텍스트 추출동적 컨텍스트 추출에 대한 직접 링크
const scorer = createContextPrecisionScorer({
model: 'openai/gpt-5.6-sol',
options: {
contextExtractor: (input, output) => {
// Extract context dynamically based on the query
const query = input?.inputMessages?.[0]?.content || ''
// Example: Retrieve from a vector database
const searchResults = vectorDB.search(query, { limit: 10 })
return searchResults.map(result => result.content)
},
scale: 1,
},
})
대규모 컨텍스트 평가대규모 컨텍스트 평가에 대한 직접 링크
const scorer = createContextPrecisionScorer({
model: 'openai/gpt-5.6-sol',
options: {
context: [
// Simulate retrieved documents from vector database
'Document 1: Highly relevant content...',
'Document 2: Somewhat related content...',
'Document 3: Tangentially related...',
'Document 4: Not relevant...',
'Document 5: Highly relevant content...',
// ... up to dozens of context pieces
],
},
})
예예에 대한 직접 링크
다양한 쿼리에 대한 RAG 시스템 컨텍스트 검색 정밀도를 평가합니다.
src/example-context-precision.ts
import { runEvals } from '@mastra/core/evals'
import { createContextPrecisionScorer } from '@mastra/evals/scorers/prebuilt'
import { myAgent } from './agent'
const scorer = createContextPrecisionScorer({
model: 'openai/gpt-5.6-sol',
options: {
contextExtractor: (input, output) => {
// Extract context from agent's retrieved documents
return output.metadata?.retrievedContext || []
},
},
})
const result = await runEvals({
data: [
{
input: 'How does photosynthesis work in plants?',
},
{
input: 'What are the mental and physical benefits of exercise?',
},
],
scorers: [scorer],
target: myAgent,
onItemComplete: ({ scorerResults }) => {
console.log({
score: scorerResults[scorer.id].score,
reason: scorerResults[scorer.id].reason,
})
},
})
console.log(result.scores)
runEvals에 관한 자세한 내용은 runEvals 레퍼런스를 참조하세요.
이 득점자를 Agent에 추가하려면 다음을 참조하세요.Scorers overview guide.
문맥 관련성과 비교문맥 관련성과 비교에 대한 직접 링크
귀하의 필요에 맞는 채점자를 선택하십시오:
| 사용 사례 | 컨텍스트 관련성 | 컨텍스트 정밀도 |
|---|---|---|
| RAG 평가 | 사용 여부가 중요할 때 | 순위가 중요할 때 |
| 컨텍스트 품질 | 세분화된 수준 | 이진 관련성 |
| 누락 감지 | ✓ 누락을 식별함 | ✗ 평가하지 않음 |
| 사용 추적 | ✓ 활용도를 추적함 | ✗ 고려하지 않음 |
| 위치 민감도 | ✗ 위치와 무관함 | ✓ 앞쪽 배치에 가점을 부여함 |
관련된관련된에 대한 직접 링크
- 답변 관련성 득점자: 답변이 질문에 대한 답변인지 평가합니다.
- 성실성 득점자: 문맥에 따른 답변 근거성을 측정합니다.
- 맞춤 채점자: 나만의 평가 지표 만들기