로컬 scorer는 Weave Python SDK에서만 사용할 수 있습니다. 아직 Weave TypeScript SDK에서는 지원되지 않습니다.TypeScript에서 Weave scorer를 사용하려면 함수 기반 scorer를 참조하세요.
설치
Weave의 사전 정의된 scorer를 사용하려면 추가 종속성을 설치해야 합니다.model_id만 설정하면 됩니다.
지원되는 모델은 여기에서 확인할 수 있습니다.
HallucinationFreeScorer
이 scorer는 AI 시스템의 출력이 입력 데이터를 기반으로 할 때 환각(hallucination)을 포함하고 있는지 확인합니다.
- Scorer의
system_prompt및user_prompt필드를 수정하여 사용자에게 적합한 “환각”의 의미를 정의할 수 있습니다.
score메소드는context라는 이름의 입력 컬럼을 기대합니다. Datasets에서 다른 이름을 사용하는 경우,column_map속성을 사용하여context를 데이터셋 컬럼에 매핑하세요.
SummarizationScorer
LLM을 사용하여 요약본을 원문과 비교하고 요약의 품질을 평가합니다.
- 엔티티 밀도 (Entity Density): 요약의 “정보 밀도”를 추정하기 위해 요약에 언급된 고유 엔티티(이름, 장소, 사물 등)의 수와 요약의 전체 단어 수 사이의 비율을 확인합니다. 엔티티 추출에는 LLM이 사용됩니다. 이는 Chain of Density 논문(https://arxiv.org/abs/2309.04269)에서 사용된 방식과 유사합니다.
- 품질 등급 (Quality Grading): 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을 사용하세요.
OpenAIModerationScorer
OpenAIModerationScorer는 OpenAI의 Moderation API를 사용하여 AI 시스템의 출력에 혐오 표현이나 부적절한 내용 등 허용되지 않는 콘텐츠가 포함되어 있는지 확인합니다.
- AI의 출력을 OpenAI Moderation 엔드포인트로 전송하고 콘텐츠의 플래그 지정 여부를 나타내는 구조화된 응답을 반환합니다.
EmbeddingSimilarityScorer
EmbeddingSimilarityScorer는 AI 시스템의 출력과 데이터셋의 타겟 텍스트 사이의 임베딩 코사인 유사도를 계산합니다. 이는 AI의 출력이 참조 텍스트와 얼마나 유사한지 측정하는 데 유용합니다.
threshold(float): 두 텍스트가 유사하다고 간주하기 위해 필요한 최소 코사인 유사도 점수(-1에서 1 사이, 기본값은0.5).
EmbeddingSimilarityScorer를 사용합니다.
ValidJSONScorer
ValidJSONScorer는 AI 시스템의 출력이 유효한 JSON인지 확인합니다. 이 scorer는 출력이 JSON 형식이기를 기대하고 그 유효성을 검증해야 할 때 유용합니다.
ValidXMLScorer
ValidXMLScorer는 AI 시스템의 출력이 유효한 XML인지 확인합니다. XML 형식의 출력을 기대할 때 유용합니다.
PydanticScorer
PydanticScorer는 AI 시스템의 출력을 Pydantic 모델에 대해 유효성을 검사하여 지정된 스키마 또는 데이터 구조를 준수하는지 확인합니다.
RAGAS - ContextEntityRecallScorer
ContextEntityRecallScorer는 AI 시스템의 출력과 제공된 컨텍스트 모두에서 엔티티를 추출한 다음 재현율(recall) 점수를 계산하여 컨텍스트 재현율을 추정합니다. 이는 RAGAS 평가 라이브러리를 기반으로 합니다.
- LLM을 사용하여 출력 및 컨텍스트에서 고유 엔티티를 추출하고 재현율을 계산합니다.
- **재현율 (Recall)**은 컨텍스트의 중요한 엔티티 중 출력에 캡처된 비율을 나타냅니다.
- 재현율 점수가 포함된 사전을 반환합니다.
- 데이터셋에
context컬럼이 있어야 합니다. 컬럼 이름이 다른 경우column_map속성을 사용하세요.
RAGAS - ContextRelevancyScorer
ContextRelevancyScorer는 제공된 컨텍스트가 AI 시스템의 출력과 얼마나 관련이 있는지 평가합니다. 이는 RAGAS 평가 라이브러리를 기반으로 합니다.
- LLM을 사용하여 컨텍스트와 출력의 관련성을 0에서 1 사이의 척도로 평가합니다.
relevancy_score가 포함된 사전을 반환합니다.
- 데이터셋에
context컬럼이 있어야 합니다. 컬럼 이름이 다른 경우column_map속성을 사용하세요. relevancy_prompt를 커스터마이징하여 관련성 평가 방식을 정의할 수 있습니다.
openai/gpt-4o 및 openai/text-embedding-3-small과 같은 OpenAI 모델을 사용하여 보정되었습니다. 다른 제공업체의 모델을 실험해보고 싶다면 model_id 필드를 업데이트하여 다른 모델을 사용할 수 있습니다. 예를 들어, Anthropic 모델을 사용하려면 다음과 같이 합니다.