이 페이지에서는 Gen AI Evaluation Service를 사용하여 Agent Platform에서 관리형 에이전트 API 로 빌드된 에이전트를 평가하는 방법을 설명합니다. 합성 테스트 시나리오를 생성하고, 이러한 시나리오에 대해 에이전트를 실행하고, 사전 빌드된 측정항목으로 결과 대화 추적을 점수화할 수 있습니다.
시작하기 전에
에이전트 만들기 및 관리 의 단계를 완료하여 관리형 에이전트 리소스를 만듭니다.
평가 확장 프로그램으로 Agent Platform SDK를 설치합니다.
pip install google-cloud-aiplatform[evaluation]인증을 설정하고 프로젝트를 구성합니다.
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
평가 워크플로
관리형 에이전트 평가는 다음 세 단계로 진행됩니다.
- 시나리오 생성: 에이전트의 안내 및 도구 정의에서 다양하고 멀티턴 테스트 시나리오를 자동으로 만듭니다.
- 추론 실행: 생성된 시나리오에 대해 에이전트를 실행하여 대화 추적을 캡처합니다.
- 평가: 사전 빌드된 측정항목을 사용하여 대화 추적을 점수화합니다.
1단계: 대화 시나리오 생성
generate_conversation_scenarios를 사용하여 에이전트의 구성을 기반으로 테스트 시나리오를 자동으로 만듭니다. 이 메서드는 에이전트의 시스템 안내 및 도구를 읽어 실제 사용자 프롬프트를 생성합니다.
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- AGENT_ID: 에이전트 리소스의 ID입니다. ID를 찾기 위해 커스텀 에이전트를 가져오거나 나열하는 방법에 대한 자세한 내용은 에이전트 나열을 참고하세요.
AGENT_RESOURCE = f"projects/PROJECT_ID/locations/global/agents/AGENT_ID"
scenarios = client.evals.generate_conversation_scenarios(
agent=AGENT_RESOURCE,
config={
"count": 5,
"generation_instruction": "Generate scenarios where a user asks for a refund.",
},
)
scenarios.show()
생성된 각 시나리오에는 대화의 초기 사용자 메시지를 나타내는 starting_prompt가 포함됩니다.
2단계: 추론 실행
run_inference를 사용하여 생성된 시나리오에 대해 에이전트를 실행합니다.
에이전트는 각 시나리오를 실행하고 도구 호출, 중간 단계, 최종 응답을 비롯한 전체 상호작용을 캡처하는 대화 추적을 생성합니다.
inference_results = client.evals.run_inference(
agent=AGENT_RESOURCE,
src=scenarios,
config={"user_simulator_config": {"max_turn": 5}}
)
inference_results.show()
3단계: 평가
evaluate를 사용하여 사전 빌드된 측정항목으로 대화 추적을 점수화합니다.
에이전트 평가에 사용할 수 있는 측정항목은 다음과 같습니다.
| 측정항목 | 설명 |
|---|---|
final_response_quality_v1 |
에이전트가 사용자의 작업을 성공적으로 완료했는지 평가합니다. |
safety_v1 |
에이전트의 응답이 안전한지 평가합니다. |
multi_turn_task_success_v1 |
에이전트가 사용자의 멀티턴 작업을 성공적으로 완료했는지 평가합니다. |
from agentplatform import types
eval_result = client.evals.evaluate(
dataset=inference_results,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()
show() 메서드는 집계 점수, 사례별 근거, 시스템 토폴로지 (에이전트 도구 및 안내)를 비롯한 에이전트의 대화 추적이 포함된 대화형 보고서를 표시합니다.
기존 상호작용 평가
에이전트와 이미 기록된 상호작용을 평가할 수도 있습니다. 이는 프로덕션 대화의 품질을 평가하는 데 유용합니다. 상호작용을 에이전트에 전송하는 방법과 interaction_id를 가져오는 방법에 대한 자세한 내용은 커스텀 에이전트에 상호작용 전송을 참고하세요.
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- INTERACTION_ID: 기록된 상호작용의 ID입니다.
- AGENT_RESOURCE: 에이전트의 전체 리소스 이름이며 형식은
projects/PROJECT_ID/locations/global/agents/AGENT_ID입니다.
interactions_dataset = types.EvaluationDataset(
eval_cases=[
types.EvalCase(
interactions_data_source=types.InteractionsDataSource(
interaction=f"projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID",
gemini_agent_config=types.GeminiAgentConfig(
gemini_agent=AGENT_RESOURCE,
),
),
),
]
)
eval_result = client.evals.evaluate(
dataset=interactions_dataset,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()