AI 에이전트 평가하기
AI 에이전트 평가하기 (Evaluate an AI agent)
이 튜토리얼에서는 Ragas로 AI 에이전트를 평가하는 방법을 배워요. 예제는 원자적 연산과 함수 호출 기능으로 복잡한 수식을 푸는 수학 에이전트예요. 평가 주도 개발(evaluation-driven development)로 에이전트를 평가하고 개선하는 흐름을 익힐 수 있어요.
출처: 문서
본문
graph TD
A[User Input<br/>Math Expression] --> B[MathToolsAgent]
subgraph LLM Agent Loop
B --> D{Need to use a Tool?}
D -- Yes --> E[Call Tool<br/>add/sub/mul/div]
E --> F[Tool Result]
F --> B
D -- No --> G[Emit Final Answer]
end
G --> H[Final Answer]
먼저 원자적 연산과 함수 호출 기능으로 수학 수식을 푸는 간단한 에이전트를 테스트해 볼게요.
python -m ragas_examples.agent_evals.agent
다음으로 에이전트를 위한 몇 가지 샘플 수식과 기대 출력을 만들고, 이를 CSV 파일로 변환해요.
import pandas as pd
dataset = [
{"expression": "(2 + 3) * (4 - 1)", "expected": 15},
{"expression": "5 * (6 + 2)", "expected": 40},
{"expression": "10 - (3 + 2)", "expected": 5},
]
df = pd.DataFrame(dataset)
df.to_csv("datasets/test_dataset.csv", index=False)
에이전트의 성능을 평가하기 위해, 에이전트 출력이 기대 출력과 일정 오차 범위 안에 있는지 비교해서 1/0을 돌려주는 비-LLM 지표를 정의해요.
from ragas.metrics import numeric_metric
from ragas.metrics.result import MetricResult
@numeric_metric(name="correctness")
def correctness_metric(prediction: float, actual: float):
"""Calculate correctness of the prediction."""
if isinstance(prediction, str) and "ERROR" in prediction:
return 0.0
result = 1.0 if abs(prediction - actual) < 1e-5 else 0.0
return MetricResult(value=result, reason=f"Prediction: {prediction}, Actual: {actual}")
이제 테스트 데이터셋에서 에이전트를 실행하고 지표로 평가한 뒤 결과를 CSV 파일에 저장하는 실험 루프(experiment loop)를 작성해요.
from ragas import experiment
@experiment()
async def run_experiment(row):
expression = row["expression"]
expected_result = row["expected"]
# Get the model's prediction
prediction = math_agent.solve(expression)
# Calculate the correctness metric
correctness = correctness_metric.score(prediction=prediction.get("result"), actual=expected_result)
return {
"expression": expression,
"expected_result": expected_result,
"prediction": prediction.get("result"),
"log_file": prediction.get("log_file"),
"correctness": correctness.value
}
이제 에이전트에 어떤 변경을 가하든 실험을 실행해서 성능에 어떤 영향을 주는지 확인할 수 있어요.
예제를 처음부터 끝까지 실행하기
- OpenAI API 키 설정하기
export OPENAI_API_KEY="your_api_key_here"
- 평가 실행하기
python -m ragas_examples.agent_evals.evals
축하해요! Ragas로 AI 에이전트 평가를 성공적으로 마쳤어요. 이제 experiments/experiment_name.csv 파일을 열어 결과를 확인하면 돼요.