본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 16. 21:16

confident-ai/deepeval

요약

DeepEval은 LLM 시스템을 위한 오픈 소스 평가 프레임워크로, Pytest와 유사하지만 LLM 애플리케이션의 유닛 테스트에 특화되어 있습니다. 이 도구는 G-Eval, 작업 완료, 답변 관련성, 환각 등 최신 연구 기반 지표를 통합하여 AI 에이전트, RAG 파이프라인, 챗봇 등의 품질을 체계적으로 평가할 수 있게 합니다. DeepEval을 사용하면 모델, 프롬프트, 아키텍처의 최적 조합을 쉽게 찾고, Prompt Drifting 방지 및 모델 전환 등 AI 시스템 개선에 필요한 인사이트를 얻을 수 있습니다.

핵심 포인트

  • DeepEval은 LLM 애플리케이션 유닛 테스트에 특화된 오픈 소스 평가 프레임워크입니다.
  • AI 에이전트(Agent), RAG 파이프라인, 챗봇 등 다양한 LLM 시스템의 품질을 체계적으로 측정할 수 있습니다.
  • 작업 완료, 충실도(Faithfulness), 답변 관련성(Answer Relevancy) 등 광범위하고 전문화된 지표 세트를 제공합니다.
  • 사용자가 선택한 모든 LLM 및 로컬 NLP 모델을 기반으로 평가가 가능하며, 테스트 보고서 생성 및 공유 기능을 지원합니다.

Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文

DeepEval은 대규모 언어 모델 (LLM) 시스템을 평가하기 위한 사용하기 쉬운 오픈 소스 LLM 평가 프레임워크입니다. Pytest와 유사하지만 LLM 애플리케이션의 유닛 테스트 (Unit Testing)에 특화되어 있습니다. DeepEval은 G-Eval, 작업 완료 (Task Completion), 답변 관련성 (Answer Relevancy), 환각 (Hallucination) 등의 지표 (Metrics)를 통해 평가를 수행할 수 있도록 최신 연구를 통합하였으며, 이는 LLM-as-a-judge 방식 및 사용자의 로컬 머신에서 실행되는 기타 NLP 모델을 사용합니다.

LangChain 또는 OpenAI를 통해 구현된 AI 에이전트 (AI Agents), RAG 파이프라인 (RAG Pipelines), 또는 챗봇 (Chatbots)을 구축하든 상관없이 DeepEval이 도움을 줄 수 있습니다. DeepEval을 사용하면 AI 품질을 개선하기 위한 최적의 모델, 프롬프트 (Prompts), 아키텍처 (Architecture)를 쉽게 결정할 수 있으며, 프롬프트 드리프트 (Prompt Drifting)를 방지하거나 OpenAI에서 Claude로 자신 있게 전환할 수도 있습니다.

중요 사항

DeepEval 테스트 데이터를 저장할 공간이 필요하신가요 🏡❤️? DeepEval 플랫폼에 가입하여 LLM 애플리케이션의 반복 버전을 비교하고, 테스트 보고서를 생성 및 공유하는 등의 기능을 사용해 보세요.

LLM 평가에 대해 이야기하고 싶거나, 지표 선택에 도움이 필요하거나, 혹은 그냥 인사하고 싶으신가요? 저희 Discord에 참여하세요.

📐 사용자가 선택한 어떠한 LLM, 통계적 방법, 또는 사용자의 로컬 머신에서 실행되는 NLP 모델을 기반으로 하며, 모든 사용 사례를 아우르는 다양한 즉시 사용 가능한 LLM 평가 지표 (모두 설명 포함)를 제공합니다:

범용 맞춤형 지표 (Custom, All-Purpose Metrics):

에이전트 지표 (Agentic Metrics):

  • 작업 완료 (Task Completion) — 에이전트가 목표를 달성했는지 평가

  • 도구 정확성 (Tool Correctness) — 올바른 인자 (Arguments)와 함께 올바른 도구가 호출되었는지 확인

  • 목표 정확도 (Goal Accuracy) — 에이전트가 의도한 목표를 얼마나 정확하게 달성했는지 측정

  • 단계 효율성 (Step Efficiency) — 에이전트가 불필요한 단계를 거쳤는지 평가

  • 계획 준수 (Plan Adherence) — 에이전트가 예상된 계획을 따랐는지 확인

  • 계획 품질 (Plan Quality) — 에이전트 계획의 품질을 평가

  • 도구 사용 (Tool Use) — 도구 사용의 품질을 측정

  • 인자 정확성 (Argument Correctness) — 도구 호출 인자 (Tool Call Arguments)를 검증

RAG 지표 (RAG Metrics)

  • 답변 관련성 (Answer Relevancy) — RAG 파이프라인의 출력이 입력과 얼마나 관련이 있는지 측정

  • 충실도 (Faithfulness) — RAG 파이프라인의 출력이 검색된 문맥 (Retrieval Context)과 사실적으로 일치하는지 평가

  • 문맥적 재현율 (Contextual Recall) — RAG 파이프라인의 검색 문맥이 기대되는 출력과 얼마나 잘 일치하는지 측정

  • 문맥적 정밀도 (Contextual Precision) — RAG 파이프라인의 검색 문맥 내에서 관련 노드 (Nodes)가 더 높은 순위로 배치되었는지 평가

  • 문맥적 관련성 (Contextual Relevancy) — RAG 파이프라인의 검색 문맥이 입력과 가지는 전반적인 관련성을 측정

  • RAGAS — 답변 관련성, 충실도, 문맥적 정밀도, 문맥적 재현율의 평균

멀티턴 지표 (Multi-Turn Metrics)

  • 지식 유지 (Knowledge Retention) — 챗봇이 대화 전반에 걸쳐 사실 정보를 유지하는지 평가

  • 대화 완결성 (Conversation Completeness) — 챗봇이 대화 전반에 걸쳐 사용자의 요구를 충족하는지 측정

  • 턴 관련성 (Turn Relevancy) — 챗봇이 대화 전반에 걸쳐 일관되게 관련 있는 응답을 생성하는지 평가

  • 턴 충실도 (Turn Faithfulness) — 여러 턴에 걸쳐 챗봇의 응답이 검색 문맥 (Retrieval Context)에 사실적으로 근거하는지 확인

  • 역할 준수 (Role Adherence) — 챗봇이 대화 전반에 걸쳐 할당된 역할을 준수하는지 평가

MCP 지표 (MCP Metrics)

  • MCP 작업 완료 (MCP Task Completion) — MCP 기반 에이전트가 작업을 얼마나 효과적으로 수행하는지 평가

  • MCP 사용 (MCP Use) — 에이전트가 사용 가능한 MCP 서버를 얼마나 효과적으로 사용하는지 측정

  • 멀티턴 MCP 사용 (Multi-Turn MCP Use) — 대화 턴 전반에 걸친 MCP 서버 사용량을 평가

멀티모달 지표 (Multimodal Metrics)

  • 텍스트 투 이미지 (Text to Image) — 의미론적 일관성 (Semantic Consistency) 및 지각적 품질 (Perceptual Quality)을 기반으로 이미지 생성 품질을 평가

  • 이미지 편집 (Image Editing) — 의미론적 일관성 및 지각적 품질을 기반으로 이미지 편집 품질을 평가

  • 이미지 일관성 (Image Coherence) — 이미지가 동반되는 텍스트와 얼마나 잘 일치하는지 측정

  • 이미지 유용성 (Image Helpfulness) — 이미지가 사용자의 텍스트 이해에 얼마나 효과적으로 기여하는지 평가

  • 이미지 참조 (Image Reference) — 동반되는 텍스트가 이미지를 얼마나 정확하게 참조하거나 설명하는지 평가

기타 지표 (Other Metrics)

  • 환각 (Hallucination) — LLM이 제공된 문맥(Context)에 대해 사실적으로 정확한 정보를 생성하는지 확인

  • 요약 (Summarization) — 요약이 사실적으로 정확하며 필요한 세부 사항을 포함하는지 평가

  • 편향 (Bias) — LLM 출력에서 성별, 인종 또는 정치적 편향을 탐지

  • 독성 (Toxicity) — LLM 출력의 독성을 평가

  • JSON 정확성 (JSON Correctness) — 출력이 예상되는 JSON 스키마 (Schema)와 일치하는지 확인

  • 프롬프트 정렬 (Prompt Alignment) — 출력이 프롬프트 템플릿 (Prompt Template)의 지침과 일치하는지 측정

🎯 엔드 투 엔드 (End-to-end) 및 컴포넌트 수준 (Component-level) LLM 평가를 모두 지원합니다.

🧩 DeepEval의 생태계와 자동으로 통합되는 사용자 정의 맞춤형 지표 (Custom Metrics)를 구축하세요.

🔮 평가를 위한 단일 턴 및 멀티 턴 (Multi-turn) 합성 데이터셋 (Synthetic Datasets)을 생성합니다.

🔗 어떠한 (ANY) CI/CD 환경과도 원활하게 통합됩니다.

🧬 평가 결과에 따라 프롬프트를 자동으로 최적화합니다.

🏆 MMLU, HellaSwag, DROP, BIG-Bench Hard, TruthfulQA, HumanEval, GSM8K를 포함한 인기 있는 LLM 벤치마크에서 어떠한 (ANY) LLM이라도 10줄 미만의 코드로 쉽게 벤치마킹할 수 있습니다.

DeepEval은 OpenAI Agents, LangChain, CrewAI 등 모든 LLM 프레임워크에 연결됩니다. 팀 전체로 평가를 확장하거나, 코드를 작성하지 않고도 누구나 평가를 실행할 수 있도록 — Confident AI는 네이티브 플랫폼 통합을 제공합니다.

  • OpenAI — 클라이언트 래퍼 (Client Wrapper)를 통해 OpenAI 애플리케이션을 평가하고 추적
  • OpenAI Agents — OpenAI Agents를 1분 이내에 엔드 투 엔드로 평가
  • LangChain — 콜백 핸들러 (Callback Handler)를 사용하여 LangChain 애플리케이션 평가
  • LangGraph — 콜백 핸들러를 사용하여 LangGraph 에이전트 평가
  • Pydantic AI — 타입 안전 검증 (Type-safe Validation)을 통해 Pydantic AI 에이전트 평가
  • CrewAI — CrewAI 멀티 에이전트 시스템 평가
  • Anthropic — 클라이언트 래퍼를 통해 Claude 애플리케이션을 평가하고 추적
  • AWS AgentCore — Amazon AgentCore에 배포된 에이전트 평가
  • LlamaIndex — LlamaIndex로 구축된 RAG 애플리케이션 평가

Confident AI는 DeepEval과 네이티브하게 통합되는 올인원 (All-in-one) 플랫폼입니다.

  • 하나의 플랫폼에서 데이터셋 관리, LLM 애플리케이션 추적 (trace), 평가 실행, 그리고 프로덕션 환경에서의 응답 모니터링을 모두 수행할 수 있습니다.
  • UI가 필요하지 않으신가요? Confident AI는 데이터 지속성 계층 (data persistent layer) 역할도 수행할 수 있습니다. Confident AI의 MCP 서버를 통해 Claude Code, Cursor에서 직접 평가를 실행하고, 데이터셋을 가져오며, 추적 (trace) 내용을 검사할 수 있습니다.

코딩 에이전트 (coding agent)가 직접 평가를 추가하고 실패 사례를 수정해주길 원하시나요? DeepEval 스킬을 설치하고, 이를 에이전트, RAG 파이프라인 또는 챗봇에 연결한 뒤, 데이터셋 생성, 평가 스위트 (eval suite) 작성, deepeval test run 실행, 그리고 실패한 지표 (metrics)에 대한 반복 개선을 요청해 보세요.

여러분의 LLM 애플리케이션이 RAG 기반의 고객 지원 챗봇이라고 가정해 보겠습니다. DeepEval이 여러분이 구축한 것을 테스트하는 데 어떻게 도움이 될 수 있는지 알아보겠습니다.

DeepEval은 Python>=3.9+ 환경에서 작동합니다.

pip install -U deepeval

deepeval 플랫폼을 사용하면 클라우드 상에서 공유 가능한 테스트 보고서를 생성할 수 있습니다. 이는 무료이며, 설정을 위한 추가 코드가 필요하지 않으므로 꼭 사용해 보시기를 강력히 권장합니다.

로그인하려면 다음을 실행하세요:

deepeval login

CLI의 안내에 따라 계정을 생성하고, API 키를 복사하여 CLI에 붙여넣으세요. 모든 테스트 케이스는 자동으로 기록됩니다 (데이터 프라이버시에 관한 자세한 정보는 여기에서 확인하세요).

테스트 파일을 생성합니다:

touch test_chatbot.py

test_chatbot.py를 열고, DeepEval을 사용하여 LLM 앱을 블랙박스 (black-box)로 취급하는 첫 번째 엔드 투 엔드 (end-to-end) 평가 테스트 케이스를 작성합니다:

import pytest
from deepeval import assert_test
from deepeval.metrics import GEval
...

OPENAI_API_KEY를 환경 변수로 설정하세요 (자체 커스텀 모델을 사용하여 평가할 수도 있습니다. 자세한 내용은 문서의 해당 섹션을 참조하세요):

export OPENAI_API_KEY="..."

마지막으로, CLI에서 test_chatbot.py를 실행합니다:

deepeval test run test_chatbot.py

축하합니다! 테스트 케이스가 통과했을 것입니다 ✅ 어떤 일이 일어났는지 자세히 살펴보겠습니다.

  • input 변수는 사용자 입력을 모방하며, actual_output은...

is 해당 입력에 따라 귀하의 애플리케이션이 출력해야 하는 내용을 나타내는 플레이스홀더 (placeholder)입니다. - expected_output 변수는 주어진 input에 대한 이상적인 답변을 나타내며, GEvaldeepeval에서 제공하는 연구 기반의 지표 (metric)로, 인간과 유사한 정확도로 귀하의 LLM 출력을 어떤 커스텀 기준에 대해서도 평가할 수 있게 해줍니다. - 이 예시에서, 지표 (metric) criteria는 제공된 expected_output을 바탕으로 한 actual_output의 정확성 (correctness)입니다. - 모든 지표 점수 (metric scores)는 0에서 1 사이의 범위를 가지며, threshold=0.5 임계값 (threshold)이 최종적으로 귀하의 테스트 통과 여부를 결정합니다.

더 자세한 정보는 저희 문서를 참조하세요!

수동으로 계측 (instrumentation) 하든 DeepEval의 프레임워크 통합 (framework integrations) 중 하나를 사용하든, 동일한 데이터셋을 귀하의 앱에 실행하려면 evals_iterator()를 사용하세요.

다음은 수동 계측 (manual instrumentation)의 예시입니다:

from deepeval.tracing import observe, update_current_span
from deepeval.test_case import LLMTestCase
from deepeval.metrics import TaskCompletionMetric
...

OpenAI

from deepeval.openai import OpenAI
from deepeval.tracing import trace
from deepeval.metrics import TaskCompletionMetric
...

OpenAI Agents

from agents import Runner
from deepeval.metrics import TaskCompletionMetric
# 이 지표 (metric)는 귀하의 트레이스 (trace)에 대해 엔드 투 엔드 (end to end)로 실행됩니다.
...

Anthropic

from deepeval.anthropic import Anthropic
from deepeval.tracing import trace
from deepeval.metrics import TaskCompletionMetric
...

LangChain

from deepeval.integrations.langchain import CallbackHandler
from deepeval.metrics import TaskCompletionMetric
# 이 지표 (metric)는 귀하의 트레이스 (trace)에 대해 엔드 투 엔드 (end to end)로 실행됩니다.
...

LangGraph

from deepeval.integrations.langchain import CallbackHandler
from deepeval.metrics import TaskCompletionMetric
# 이 지표 (metric)는 귀하의 트레이스 (trace)에 대해 엔드 투 엔드 (end to end)로 실행됩니다.
...

Pydantic AI

Pydantic AI

from deepeval.metrics import TaskCompletionMetric
# 이 메트릭 (metric)은 귀하의 트레이스 (trace)에 대해 엔드 투 엔드 (end to end)로 실행됩니다.
for golden in dataset.evals_iterator(metrics=[TaskCompletionMetric()]):
...

CrewAI

from deepeval.integrations.crewai import instrument_crewai
from deepeval.metrics import TaskCompletionMetric
instrument_crewai()
...

AWS AgentCore

from deepeval.integrations.agentcore import instrument_agentcore
from deepeval.metrics import TaskCompletionMetric
instrument_agentcore()
...

LlamaIndex

import asyncio
from deepeval.evaluate.configs import AsyncConfig
from deepeval.metrics import TaskCompletionMetric
...

Google ADK

import asyncio
from deepeval.evaluate.configs import AsyncConfig
from deepeval.integrations.google_adk import instrument_google_adk
...

Strands

from deepeval.integrations.strands import instrument_strands
from deepeval.metrics import TaskCompletionMetric
instrument_strands()
...

컴포넌트 레벨 (component-level) 평가에 대한 자세한 내용은 여기에서 확인하세요.

또는, 노트북 (notebook) 환경에 더 적합한 Pytest 없이 평가를 수행할 수도 있습니다.

from deepeval import evaluate
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
...

DeepEval은 매우 모듈화 (modular)되어 있어, 누구나 우리의 메트릭 (metrics) 중 어떤 것이든 쉽게 사용할 수 있습니다. 이전 예시에 이어서:

from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
...

일부 메트릭 (metrics)은 RAG 파이프라인 (pipelines)을 위한 것이고, 다른 것들은 파인 튜닝 (fine-tuning)을 위한 것이라는 점에 유의하세요. 귀하의 유스 케이스 (use case)에 맞는 적절한 메트릭을 선택하려면 반드시 문서를 확인하시기 바랍니다.

DeepEval은 **임포트 시점 (at import time)**에 현재 작업 디렉토리로부터 .env.local을 먼저 로드한 다음 .env를 로드합니다.
우선순위 (Precedence): 프로세스 환경 변수 (process env) -> .env.local -> .env

DEEPEVAL_DISABLE_DOTENV=1을 사용하여 제외할 수 있습니다.

cp .env.example .env.local
# 그 다음 .env.local 수정 (git에 의해 무시됨)

Confident AI는 데이터셋을 관리하고, LLM 애플리케이션을 추적하며, 프로덕션 환경에서 평가 (Evaluation)를 실행할 수 있는 올인원 (all-in-one) 플랫폼입니다. 시작하려면 CLI에서 로그인하세요:

deepeval login

그 다음 평소처럼 테스트를 실행하면 결과가 플랫폼으로 자동 동기화됩니다:

deepeval test run test_chatbot.py

IDE에 머무는 것을 선호하시나요? Confident AI의 MCP 서버를 통해 DeepEval을 사용하면 에디터를 떠나지 않고도 평가 (evals)를 실행하고, 데이터셋을 가져오며, 추적 (traces)을 검사할 수 있는 지속성 계층 (persistent layer)으로 활용할 수 있습니다.

Confident AI의 모든 기능은 여기서 사용할 수 있습니다.

행동 강령 (code of conduct) 및 풀 리퀘스트 (pull requests) 제출 프로세스에 대한 자세한 내용은 CONTRIBUTING.md를 읽어주시기 바랍니다.

주요 기능:

  • Confident AI와의 통합
  • G-Eval 구현
  • RAG 메트릭 (metrics) 구현
  • 대화형 (Conversational) 메트릭 구현
  • 평가 데이터셋 (Evaluation Dataset) 생성
  • 레드팀 (Red-Teaming)
  • DAG 커스텀 메트릭
  • 가드레일 (Guardrails)

Confident AI의 창립자들이 제작했습니다. 모든 문의 사항은 jeffreyip@confident-ai.com으로 연락해 주세요.

DeepEval은 Apache 2.0 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE.md 파일을 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0