Skip to main content
Weave는 AI 애플리케이션 평가에 활용할 수 있도록 환각 탐지, 요약 품질 등 여러 가지 사전 정의된 Scorer를 제공합니다. 이를 활용하면 평가를 빠르게 정의하고 애플리케이션의 출력에 점수를 매길 수 있습니다. 이 페이지에서는 각 기본 제공 Scorer가 무엇을 측정하는지, 그리고 평가에서 어떻게 사용하는지 설명합니다.
로컬 Scorer는 Weave Python SDK에서만 사용할 수 있으며, Weave TypeScript SDK에서는 아직 지원되지 않습니다.TypeScript에서 Weave Scorer를 사용하려면 함수 기반 Scorer를 참조하세요.

설치

Weave의 사전 정의된 Scorer를 사용하려면 다음과 같이 추가 의존성을 설치하세요.
LLM 평가자 LLM을 사용하는 사전 정의된 Scorer는 litellm과 자동으로 통합됩니다. LLM 클라이언트를 전달할 필요 없이 model_id만 설정하면 됩니다. 지원되는 모델을 참조하세요.

HallucinationFreeScorer

이 Scorer는 입력 데이터를 기준으로 AI 시스템의 출력에 환각이 포함되어 있는지 확인합니다.
사용자 지정
  • Scorer의 system_prompt 및 user_prompt 필드를 사용자 지정하여 “환각(hallucination)“의 의미를 사용 사례에 맞게 정의하세요.
참고
  • score 메서드에는 context라는 이름의 입력 열이 필요합니다. 데이터셋에서 다른 열 이름을 사용하는 경우 column_map 속성을 사용하여 context를 해당 데이터셋 열에 매핑하세요.
다음 예시는 평가에서 HallucinationFreeScorer를 사용하는 방법을 보여 줍니다.

SummarizationScorer

LLM을 사용해 요약을 원본 텍스트와 비교하고 요약 품질을 평가합니다.
작동 방식 이 Scorer는 두 가지 방식으로 요약을 평가합니다.
  1. 엔티티 밀도: 요약의 전체 단어 수 대비 요약에 언급된 고유 엔티티(이름, 장소, 사물 등)의 비율을 확인하여 요약의 “정보 밀도”를 추정합니다. 엔티티 추출에는 LLM을 사용합니다. Chain of Density 논문에서 엔티티 밀도를 활용하는 방식과 유사합니다.
  2. 품질 등급 평가: LLM 평가자가 요약을 poor, ok, excellent 중 하나로 평가합니다. 이 등급은 전체 성능을 종합 평가할 수 있도록 점수(poor는 0.0, ok는 0.5, excellent는 1.0)로 매핑됩니다.
맞춤 설정
  • summarization_evaluation_system_prompt와 summarization_evaluation_prompt를 수정하여 평가 과정을 필요에 맞게 조정하세요.
참고 사항
  • 이 Scorer는 내부적으로 litellm을 사용합니다.
  • score 메서드를 사용하려면 원본 텍스트(요약 대상 텍스트)가 input 열에 있어야 합니다. 데이터셋에서 다른 열 이름을 사용하는 경우 column_map 속성을 사용하세요.
다음 예시는 평가에서 SummarizationScorer를 사용하는 방법을 보여줍니다.

OpenAIModerationScorer

OpenAIModerationScorer는 OpenAI의 Moderation API를 사용하여 AI 시스템의 출력에 혐오 발언이나 음란물 같은 허용되지 않는 콘텐츠가 포함되어 있는지 확인합니다.
작동 방식
  • AI의 출력을 OpenAI Moderation 엔드포인트로 전송하고, 콘텐츠가 플래그되었는지 여부를 나타내는 구조화된 응답을 반환합니다.
다음 예시는 평가에서 OpenAIModerationScorer를 사용하는 방법을 보여줍니다.

EmbeddingSimilarityScorer

EmbeddingSimilarityScorer는 AI 시스템 출력의 임베딩과 데이터셋에 있는 대상 텍스트의 임베딩 간 코사인 유사도를 계산합니다. AI의 출력이 레퍼런스 텍스트와 얼마나 유사한지 측정할 때 사용하세요.
매개변수
  • threshold (float): 두 텍스트를 유사하다고 판단하기 위한 최소 코사인 유사도 점수(-1~1)입니다(기본값: 0.5).
다음 예시에서는 평가 과정에서 EmbeddingSimilarityScorer를 사용합니다.

ValidJSONScorer

ValidJSONScorer는 AI 시스템의 출력이 유효한 JSON인지 확인합니다. 이 Scorer는 출력이 JSON 형식이어야 하고, 그 유효성을 확인해야 할 때 유용합니다.
다음 예시는 평가에서 ValidJSONScorer를 사용하는 방법을 보여줍니다.

ValidXMLScorer

ValidXMLScorer는 AI 시스템의 출력이 유효한 XML인지 확인합니다. XML 형식의 출력을 기대하는 경우에 사용하세요.
다음 예시는 평가에서 ValidXMLScorer를 사용하는 방법을 보여 줍니다.

PydanticScorer

PydanticScorer는 Pydantic 모델을 기준으로 AI 시스템의 출력을 검증하여, 출력이 지정된 스키마나 데이터 구조를 준수하는지 확인합니다.

RAGAS - ContextEntityRecallScorer

ContextEntityRecallScorer는 AI 시스템의 출력과 제공된 컨텍스트 모두에서 엔티티를 추출한 뒤 재현율 점수를 계산하여 컨텍스트 재현율을 추정합니다. 이 Scorer는 Retrieval Augmented Generation Assessment(RAGAS) 평가 라이브러리를 기반으로 합니다.
작동 방식
  • LLM을 사용해 출력과 컨텍스트에서 고유한 엔티티를 추출하고 재현율(recall)을 계산합니다.
  • 재현율(Recall)은 컨텍스트에 있는 중요한 엔티티 중 출력에 캡처된 엔티티의 비율을 나타냅니다.
  • 재현율 점수가 담긴 딕셔너리를 반환합니다.
참고

RAGAS - ContextRelevancyScorer

ContextRelevancyScorer는 제공된 컨텍스트가 AI 시스템의 출력과 얼마나 관련이 있는지 평가합니다. 이 Scorer는 RAGAS 평가 라이브러리를 기반으로 합니다.
작동 방식
  • LLM을 사용하여 컨텍스트가 출력과 얼마나 관련이 있는지 0에서 1 사이의 점수로 평가합니다.
  • relevancy_score가 포함된 딕셔너리를 반환합니다.
참고 사항
  • 데이터셋에 context 열이 있어야 합니다. 열 이름이 다른 경우 column_map 속성을 사용하세요.
  • 관련성 평가 방식을 정의하려면 relevancy_prompt를 사용자 지정하세요.
다음 예시에서는 평가에서 ContextEntityRecallScorer와 ContextRelevancyScorer를 함께 사용합니다.
참고: 기본 제공 Scorer는 openai/gpt-4o, openai/text-embedding-3-small 등의 OpenAI 모델을 기준으로 보정되었습니다. 다른 공급자를 사용하려면 model_id 필드를 변경하세요. 예를 들어 Anthropic 모델을 사용하려면 다음과 같이 설정합니다.
마지막 수정일 2026년 10월 5일