이 페이지에서는 Gen AI Evaluation Service를 사용하여 Agent Platform의 관리형 에이전트 API로 빌드된 에이전트를 평가하는 방법을 설명합니다. 합성 테스트 시나리오를 생성하고, 이에 대해 에이전트를 실행하고, 사전 빌드된 측정항목으로 결과 대화 트레이스를 평가할 수 있습니다.
시작하기 전에
에이전트 만들기 및 관리의 단계를 완료하여 관리 에이전트 리소스를 만듭니다.
평가 확장 프로그램과 함께 Agent Platform SDK를 설치합니다.
pip install google-cloud-aiplatform[evaluation]인증을 설정하고 프로젝트를 구성합니다.
다음을 바꿉니다.
- PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
평가 워크플로
관리 에이전트 평가는 다음 세 단계로 진행됩니다.
- 시나리오 생성: 에이전트의 안내와 도구 정의를 기반으로 다양한 멀티턴 테스트 시나리오를 자동으로 만듭니다.
- 추론 실행: 생성된 시나리오에 대해 에이전트를 실행하여 대화 추적을 캡처합니다.
- 평가: 사전 빌드된 측정항목을 사용하여 대화 트레이스의 점수를 매깁니다.
1단계: 대화 시나리오 생성
generate_conversation_scenarios를 사용하여 에이전트의 구성을 기반으로 테스트 시나리오를 자동으로 만듭니다. 이 메서드는 에이전트의 시스템 요청 사항과 도구를 읽어 현실적인 사용자 프롬프트를 생성합니다.
다음을 바꿉니다.
- PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 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: Cloud de Confiance by S3NS 프로젝트 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()