Files
Google Team Member 6f18257117 ADK changes
Co-authored-by: George Weale <gweale@google.com>
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/6544 from allen-stephen:feat/live-workflow-evals 1f4a15fe22cf7a9231fd808ca4835e7d30dce155
PiperOrigin-RevId: 963504694
2026-08-12 09:56:00 -07:00

110 lines
3.8 KiB
JSON

{
"criteria": {
"rubric_based_final_response_quality_v1": {
"threshold": 0.7,
"judge_model_options": {
"judge_model": "gemini-3.5-flash",
"num_samples": 1
},
"rubrics": [
{
"rubric_id": "no_details_before_verification",
"rubric_content": {
"text_property": "If the agent shares appointment details in this turn, the caller's name and date of birth must already have been confirmed earlier in the conversation."
}
},
{
"rubric_id": "states_appointment_when_asked",
"rubric_content": {
"text_property": "If the caller asks about their appointment in this turn, the agent states the appointment on Tuesday, June 16th at 3 PM with Dr. Example."
}
},
{
"rubric_id": "offers_further_help",
"rubric_content": {
"text_property": "If the agent gives the caller information they requested in this turn, it also asks whether there is anything else it can help with."
}
},
{
"rubric_id": "ends_with_goodbye",
"rubric_content": {
"text_property": "If the caller indicates they have no further questions, the agent ends the conversation warmly with a goodbye."
}
}
]
},
"rubric_based_tool_use_quality_v1": {
"threshold": 0.7,
"judge_model_options": {
"judge_model": "gemini-3.5-flash",
"num_samples": 1
},
"rubrics": [
{
"rubric_id": "validates_confirmed_dob",
"rubric_content": {
"text_property": "After the caller confirms the date of birth that was read back to them, the agent calls validate_date_of_birth with the confirmed date in YYYY-MM-DD format."
}
}
]
},
"rubric_based_multi_turn_trajectory_quality_v1": {
"threshold": 0.7,
"judge_model_options": {
"judge_model": "gemini-3.5-flash",
"num_samples": 1
},
"rubrics": [
{
"rubric_id": "verifies_identity_first",
"rubric_content": {
"text_property": "Across the call, the agent confirms the caller's name and validates their date of birth before disclosing any appointment details."
}
},
{
"rubric_id": "staged_handoff_order",
"rubric_content": {
"text_property": "The conversation proceeds through the intended stages in order: greeting and name confirmation, then date-of-birth verification, then appointment delivery."
}
},
{
"rubric_id": "calls_validation_tool",
"rubric_content": {
"text_property": "The agent calls validate_date_of_birth once, only after the caller confirms the read-back date, using YYYY-MM-DD format."
}
},
{
"rubric_id": "delivers_appointment_and_answers",
"rubric_content": {
"text_property": "After identity is verified, the agent delivers the appointment on Tuesday, June 16th at 3 PM with Dr. Example and answers the caller's follow-up question."
}
},
{
"rubric_id": "closes_conversation",
"rubric_content": {
"text_property": "The agent ends the call warmly with a goodbye once the caller has no further questions."
}
}
]
}
},
"live_model_config": {
"timeout_seconds": 300
},
"user_simulator_config": {
"type": "llm_audio",
"model": "gemini-3.5-flash",
"max_allowed_invocations": 10,
"audio_model": "gemini-3.1-flash-tts-preview",
"audio_model_configuration": {
"response_modalities": ["AUDIO"],
"speech_config": {
"voice_config": {
"prebuilt_voice_config": { "voice_name": "Kore" }
},
"language_code": "en-US"
}
}
}
}