워크플로우 평가 퀵스타트
워크플로우 평가 퀵스타트 (Workflow Evaluation Quickstart)
workflow_eval 템플릿은 이메일 분류와 라우팅으로 복잡한 LLM 워크플로우를 평가해요. 프로젝트 생성부터 분류 정확도 기반 평가까지 진행할 수 있어요.
출처: 문서
본문
workflow_eval 템플릿은 이메일 분류와 라우팅으로 복잡한 LLM 워크플로우를 평가해요.
프로젝트 만들기
ragas quickstart workflow_eval
cd workflow_eval
의존성 설치
uv sync
API 키 설정
export OPENAI_API_KEY="your-openai-key"
평가 실행
uv run python evals.py
프로젝트 구조
workflow_eval/
├── README.md # Project documentation
├── pyproject.toml # Project configuration
├── workflow.py # Workflow implementation
├── evals.py # Evaluation workflow
├── __init__.py # Python package marker
└── evals/
├── datasets/ # Test datasets
├── experiments/ # Evaluation results
└── logs/ # Execution logs
무엇을 평가하나
템플릿은 고객 지원 이메일 분류 워크플로우를 평가해요.
- Workflow: 다단계 이메일 처리 (분류 → 추출 → 응답)
- Categories: Bug Report, Feature Request, Billing
- Test Cases: 기대 카테고리와 추출 필드가 있는 고객 이메일
- Metric: 분류 정확도를 확인하는 커스텀 이산 메트릭
코드 이해하기
워크플로우 (workflow.py)
고객 지원 이메일 워크플로우를 구현해요.
from workflow import default_workflow_client
workflow = default_workflow_client()
result = workflow.process_email("I found a bug in version 2.1.4...")
# Returns: category, extracted fields, response
평가 (evals.py)
통과 기준에 대한 워크플로우 정확도를 테스트해요.
def load_dataset():
dataset_dict = [
{
"email": "Hi, I'm getting error code XYZ-123 when using version 2.1.4...",
"pass_criteria": "category Bug Report; product_version 2.1.4; error_code XYZ-123",
},
# 테스트 케이스 더...
]
메트릭은 워크플로우가 올바르게:
- 이메일 카테고리를 분류하는지
- 관련 필드(버전, 오류 코드, 인보이스 번호 등)를 추출하는지
- 적절한 응답을 생성하는지
평가해요.
테스트 케이스
템플릿은 다양한 시나리오를 포함해요.
- Bug Reports: 버전 번호와 오류 코드 포함
- Feature Requests: 긴급도 수준과 제품 영역 포함
- Billing Issues: 인보이스 번호와 금액 포함
커스터마이즈
자신만의 워크플로우 추가
예제 워크플로우를 자신의 것으로 교체해요.
from your_workflow import YourWorkflow
workflow = YourWorkflow()
@experiment()
async def run_experiment(row):
result = await workflow.process(row["input"])
# 결과 평가...
더 알아보기 (Learn more)
- Agent Evaluation - AI 에이전트 평가
- LlamaIndex Agent Evaluation - LlamaIndex 워크플로우 평가