도구: get_evaluation_run
지정된 평가 실행의 세부정보를 가져옵니다.
다음 코드 샘플은 curl를 사용하여 get_evaluation_run MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_evaluation_run", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
EvaluationService.GetEvaluationRun에 대한 요청 메시지입니다.
GetEvaluationRunRequest
| JSON 표현 |
|---|
{ "name": string } |
| 필드 | |
|---|---|
name |
필수 항목입니다. 가져올 평가 실행의 리소스 이름입니다. |
출력 스키마
평가 실행은 평가 실행의 모든 평가 결과를 나타냅니다.
EvaluationRun
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "evaluationResults": [ string ], "createTime": string, "initiatedBy": string, "appVersion": string, "appVersionDisplayName": string, "changelog": string, "changelogCreateTime": string, "evaluations": [ string ], "evaluationDataset": string, "evaluationType": enum ( |
| 필드 | |
|---|---|
name |
식별자. 평가 실행의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 평가 실행의 사용자 정의 표시 이름입니다. 기본값: ' |
evaluationResults[] |
출력 전용입니다. 이 실행에 포함된 평가 결과입니다. 형식: |
createTime |
출력 전용입니다. 평가 실행이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
initiatedBy |
출력 전용입니다. 평가 실행을 시작한 사용자입니다. |
appVersion |
출력 전용입니다. 평가할 앱 버전입니다. 형식: |
appVersionDisplayName |
출력 전용입니다. 평가가 실행된 |
changelog |
출력 전용입니다. 평가가 실행된 앱 버전의 변경사항입니다. 사용자가 최신/초안에서 평가를 실행하는 경우 이 값이 채워집니다. |
changelogCreateTime |
출력 전용입니다. 평가가 실행된 앱 버전의 변경사항 생성 시간입니다. 사용자가 최신/초안에서 평가를 실행하는 경우 이 값이 채워집니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
evaluations[] |
출력 전용입니다. 이 실행에 포함된 평가입니다. 목록에는 두 유형의 평가가 모두 포함될 수 있습니다. 이 필드는 |
evaluationDataset |
출력 전용입니다. 이 실행과 연결된 평가 데이터 세트입니다. 이 필드는 |
evaluationType |
출력 전용입니다. 이 실행의 평가 유형입니다. |
state |
출력 전용입니다. 평가 실행 상태입니다. |
progress |
출력 전용입니다. 평가 실행의 진행 상황입니다. |
config |
출력 전용입니다. 실행에 사용된 구성입니다. |
error |
출력 전용입니다. 지원 중단됨: 대신 error_info를 사용하세요. 실행 중에 오류가 발생했습니다. |
errorInfo |
출력 전용입니다. 평가 실행에 대한 오류 정보입니다. |
evaluationRunSummaries |
출력 전용입니다. 평가 이름에서 EvaluationRunSummary로 매핑되는 맵입니다.
|
latencyReport |
출력 전용입니다. 평가 실행의 지연 시간 보고서입니다. |
runCount |
출력 전용입니다. 실행 내 평가가 실행된 횟수입니다. |
personaRunConfigs[] |
출력 전용입니다. 페르소나별 실행에 사용할 구성입니다. |
optimizationConfig |
선택사항입니다. 평가 실행 후 최적화 단계를 실행하기 위한 구성입니다. 설정하지 않으면 최적화 단계가 실행되지 않습니다. |
scheduledEvaluationRun |
출력 전용입니다. 이 평가 실행을 만든 예약된 평가 실행 리소스 이름입니다. 이 필드는 평가 실행이 예약된 평가 실행에 의해 생성된 경우에만 설정됩니다. 형식: |
goldenRunMethod |
출력 전용입니다. 평가를 실행하는 데 사용된 방법입니다. |
operation |
출력 전용입니다. 이 평가 실행을 생성한 작업입니다. 형식: |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
진행률
| JSON 표현 |
|---|
{ "totalCount": integer, "failedCount": integer, "errorCount": integer, "completedCount": integer, "passedCount": integer, "cancelledCount": integer } |
| 필드 | |
|---|---|
totalCount |
출력 전용입니다. 이 실행의 총 평가 결과 수입니다. |
failedCount |
출력 전용입니다. 결과가 FAIL인 완료된 평가 결과의 수입니다. (EvaluationResult.execution_state가 COMPLETED이고 EvaluationResult.evaluation_status가 FAIL임) |
errorCount |
출력 전용입니다. 실행에 실패한 평가 결과의 수입니다. (EvaluationResult.execution_state가 ERROR임) |
completedCount |
출력 전용입니다. 성공적으로 완료된 평가 결과의 수입니다. (EvaluationResult.execution_state가 COMPLETED임) |
passedCount |
출력 전용입니다. 결과가 통과인 완료된 평가 결과의 수입니다. (EvaluationResult.execution_state가 COMPLETED이고 EvaluationResult.evaluation_status가 PASS인 경우) |
cancelledCount |
출력 전용입니다. 취소된 평가 결과 수입니다. (EvaluationResult.execution_state가 CANCELLED임) |
EvaluationConfig
| JSON 표현 |
|---|
{ "inputAudioConfig": { object ( |
| 필드 | |
|---|---|
inputAudioConfig |
선택사항입니다. 입력 오디오 처리 구성입니다. |
outputAudioConfig |
선택사항입니다. 출력 오디오를 생성하기 위한 구성입니다. |
evaluationChannel |
선택사항입니다. 평가할 채널입니다. |
toolCallBehaviour |
선택사항입니다. 평가에서 실제 도구 호출을 사용할지 아니면 가짜 도구를 사용할지 지정합니다. |
InputAudioConfig
| JSON 표현 |
|---|
{
"audioEncoding": enum ( |
| 필드 | |
|---|---|
audioEncoding |
필수 항목입니다. 입력 오디오 데이터의 인코딩입니다. |
sampleRateHertz |
필수 항목입니다. 입력 오디오 데이터의 샘플링 레이트 (Hz)입니다. |
noiseSuppressionLevel |
선택사항입니다. 입력 오디오에서 노이즈 제거를 사용 설정할지 여부입니다. 사용 가능한 값은 'low', 'moderate', 'high', 'very_high'입니다. |
OutputAudioConfig
| JSON 표현 |
|---|
{
"audioEncoding": enum ( |
| 필드 | |
|---|---|
audioEncoding |
필수 항목입니다. 출력 오디오 데이터의 인코딩입니다. |
sampleRateHertz |
필수 항목입니다. 출력 오디오 데이터의 샘플링 레이트 (Hz)입니다. |
상태
| JSON 표현 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 필드 | |
|---|---|
code |
상태 코드로, |
message |
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 |
details[] |
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
모두
| JSON 표현 |
|---|
{ "typeUrl": string, "value": string } |
| 필드 | |
|---|---|
typeUrl |
슬래시로 끝나는 접두사와 정규화된 유형 이름으로 구성된 URI 참조를 사용하여 직렬화된 Protobuf 메시지의 유형을 식별합니다. 예: type.googleapis.com/google.protobuf.StringValue 이 문자열에는 접두사는 임의적이며 Protobuf 구현은 유형을 식별하기 위해 마지막 모든 유형 URL 문자열은 참조의 콘텐츠가 영숫자, 퍼센트 인코딩된 이스케이프, 다음 집합의 문자(외부 백틱 제외)로만 구성되어야 한다는 추가 제한사항이 있는 합법적인 URI 참조여야 합니다.
|
value |
type_url로 설명된 유형의 Protobuf 직렬화를 보유합니다. base64 인코딩 문자열입니다. |
EvaluationErrorInfo
| JSON 표현 |
|---|
{
"errorType": enum ( |
| 필드 | |
|---|---|
errorType |
출력 전용입니다. 오류 유형입니다. |
errorMessage |
출력 전용입니다. 오류 메시지. |
sessionId |
출력 전용입니다. 오류를 일으킨 대화의 세션 ID입니다. |
userFacingErrorMessage |
출력 전용입니다. 사용자에게 표시되는 오류 메시지입니다. |
EvaluationRunSummariesEntry
| JSON 표현 |
|---|
{
"key": string,
"value": {
object ( |
| 필드 | |
|---|---|
key |
|
value |
|
EvaluationRunSummary
| JSON 표현 |
|---|
{ "passedCount": integer, "failedCount": integer, "errorCount": integer } |
| 필드 | |
|---|---|
passedCount |
출력 전용입니다. 이 실행에서 연결된 평가의 통과된 결과 수입니다. |
failedCount |
출력 전용입니다. 이 실행에서 연결된 평가의 실패한 결과 수입니다. |
errorCount |
출력 전용입니다. 이 실행에서 연결된 평가의 오류 결과 수입니다. |
LatencyReport
| JSON 표현 |
|---|
{ "toolLatencies": [ { object ( |
| 필드 | |
|---|---|
toolLatencies[] |
출력 전용입니다. 순서가 지정되지 않은 목록 각 도구의 지연 시간 측정항목 |
callbackLatencies[] |
출력 전용입니다. 순서가 지정되지 않은 목록 각 콜백의 지연 시간 측정항목입니다. |
guardrailLatencies[] |
출력 전용입니다. 순서가 지정되지 않은 목록 각 가드레일의 지연 시간 측정항목입니다. |
llmCallLatencies[] |
출력 전용입니다. 순서가 지정되지 않은 목록 각 LLM 호출의 지연 시간 측정항목입니다. |
sessionCount |
출력 전용입니다. 지연 시간 보고서에서 고려된 총 세션 수입니다. |
ToolLatency
| JSON 표현 |
|---|
{ "toolDisplayName": string, "latencyMetrics": { object ( |
| 필드 | |
|---|---|
toolDisplayName |
출력 전용입니다. 도구의 표시 이름입니다. |
latencyMetrics |
출력 전용입니다. 도구의 지연 시간 측정항목입니다. |
통합 필드 tool_identifier. 도구의 식별자입니다. tool_identifier은 다음 중 하나여야 합니다. |
|
tool |
출력 전용입니다. 형식은 |
toolsetTool |
출력 전용입니다. 툴셋 도구 식별자입니다. |
ToolsetTool
| JSON 표현 |
|---|
{ "toolset": string, "toolId": string } |
| 필드 | |
|---|---|
toolset |
필수 항목입니다. 이 도구가 파생된 도구 세트의 리소스 이름입니다. 형식: |
toolId |
선택사항입니다. 스키마를 가져올 도구를 필터링할 도구 ID입니다. |
LatencyMetrics
| JSON 표현 |
|---|
{ "p50Latency": string, "p90Latency": string, "p99Latency": string, "callCount": integer } |
| 필드 | |
|---|---|
p50Latency |
출력 전용입니다. 50번째 백분위수 지연 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
p90Latency |
출력 전용입니다. 90번째 백분위수 지연 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
p99Latency |
출력 전용입니다. 99번째 백분위수 지연 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
callCount |
출력 전용입니다. 리소스가 호출된 횟수입니다. |
소요 시간
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다. |
nanos |
시간 범위의 나노초 단위로 된 부호가 있는 초수입니다. 1초 미만의 기간은 0 |
CallbackLatency
| JSON 표현 |
|---|
{
"stage": string,
"latencyMetrics": {
object ( |
| 필드 | |
|---|---|
stage |
출력 전용입니다. 콜백의 단계입니다. |
latencyMetrics |
출력 전용입니다. 콜백의 지연 시간 측정항목입니다. |
GuardrailLatency
| JSON 표현 |
|---|
{
"guardrail": string,
"guardrailDisplayName": string,
"latencyMetrics": {
object ( |
| 필드 | |
|---|---|
guardrail |
출력 전용입니다. 가드레일의 이름입니다. 형식은 |
guardrailDisplayName |
출력 전용입니다. 가드레일의 표시 이름입니다. |
latencyMetrics |
출력 전용입니다. 가드레일의 지연 시간 측정항목입니다. |
LlmCallLatency
| JSON 표현 |
|---|
{
"model": string,
"latencyMetrics": {
object ( |
| 필드 | |
|---|---|
model |
출력 전용입니다. 모델의 이름입니다. |
latencyMetrics |
출력 전용입니다. LLM 호출의 지연 시간 측정항목입니다. |
PersonaRunConfig
| JSON 표현 |
|---|
{ "persona": string, "taskCount": integer } |
| 필드 | |
|---|---|
persona |
선택사항입니다. 평가에 사용할 페르소나입니다. 형식: |
taskCount |
선택사항입니다. 페르소나에 대해 실행할 작업 수입니다. |
OptimizationConfig
| JSON 표현 |
|---|
{
"generateLossReport": boolean,
"assistantSession": string,
"reportSummary": string,
"shouldSuggestFix": boolean,
"status": enum ( |
| 필드 | |
|---|---|
generateLossReport |
선택사항입니다. 손실 보고서를 생성할지 여부입니다. |
assistantSession |
출력 전용입니다. 이 평가 실행을 기반으로 최적화하는 데 사용할 어시스턴트 세션입니다. 형식: |
reportSummary |
출력 전용입니다. 손실 신고의 요약입니다. |
shouldSuggestFix |
출력 전용입니다. 손실에 대한 수정 사항을 제안할지 여부입니다. |
status |
출력 전용입니다. 최적화 실행의 상태입니다. |
errorMessage |
출력 전용입니다. 최적화 실행이 실패한 경우의 오류 메시지입니다. |
lossReport |
출력 전용입니다. 생성된 손실 보고서입니다. |
구조체
| JSON 표현 |
|---|
{ "fields": { string: value, ... } } |
| 필드 | |
|---|---|
fields |
동적으로 입력된 값의 순서가 지정되지 않은 맵입니다.
|
FieldsEntry
| JSON 표현 |
|---|
{ "key": string, "value": value } |
| 필드 | |
|---|---|
key |
|
value |
|
값
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 kind. 값의 종류입니다. kind은 다음 중 하나여야 합니다. |
|
nullValue |
JSON |
numberValue |
JSON 숫자를 나타냅니다. JSON에서는 |
stringValue |
JSON 문자열을 나타냅니다. |
boolValue |
JSON 불리언 (JSON의 |
structValue |
JSON 객체를 나타냅니다. |
listValue |
JSON 배열을 나타냅니다. |
ListValue
| JSON 표현 |
|---|
{ "values": [ value ] } |
| 필드 | |
|---|---|
values[] |
동적으로 입력된 값의 반복 필드입니다. |
EvaluationType
이 실행의 평가 유형입니다. 향후 값이 추가될 수 있습니다.
| 열거형 | |
|---|---|
EVALUATION_TYPE_UNSPECIFIED |
평가 유형이 지정되지 않았습니다. |
GOLDEN |
골든 평가 |
SCENARIO |
시나리오 평가 |
MIXED |
실행에 골든 평가와 시나리오 평가가 혼합되어 있음을 나타냅니다. |
EvaluationRunState
평가 실행 상태입니다.
| 열거형 | |
|---|---|
EVALUATION_RUN_STATE_UNSPECIFIED |
평가 실행 상태가 지정되지 않았습니다. |
QUEUED |
평가 실행이 대기열에 추가되었음을 나타냅니다. |
RUNNING |
평가 실행이 실행 중입니다. |
COMPLETED |
평가 실행이 완료되었습니다. |
ERROR |
평가 실행에 오류가 있습니다. |
CANCELLED |
평가 실행이 취소되었습니다. |
AudioEncoding
AudioEncoding은 오디오 데이터의 인코딩 형식을 지정합니다.
| 열거형 | |
|---|---|
AUDIO_ENCODING_UNSPECIFIED |
지정되지 않은 오디오 인코딩입니다. |
LINEAR16 |
16비트 선형 PCM 오디오 인코딩 |
MULAW |
G.711 PCMU/mu-law를 사용하여 14비트 오디오 샘플을 압축하는 8비트 샘플입니다. |
ALAW |
G.711 PCMU/A-law를 사용하여 14비트 오디오 샘플을 압축하는 8비트 샘플입니다. |
EvaluationChannel
평가할 채널입니다.
| 열거형 | |
|---|---|
EVALUATION_CHANNEL_UNSPECIFIED |
지정되지 않은 평가 채널입니다. |
TEXT |
텍스트 전용 평가 채널입니다. |
AUDIO |
오디오 평가 채널입니다. |
EvaluationToolCallBehaviour
평가 실행의 도구 호출 동작을 구성합니다.
| 열거형 | |
|---|---|
EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED |
지정되지 않은 도구 호출 동작입니다. 실제 도구 호출이 기본값입니다. |
REAL |
실제 도구 호출을 사용합니다. |
FAKE |
가짜 도구 호출을 사용합니다. |
ErrorType
오류 유형
| 열거형 | |
|---|---|
ERROR_TYPE_UNSPECIFIED |
지정되지 않은 오류 유형입니다. |
RUNTIME_FAILURE |
런타임 실행 중 오류가 발생했습니다. |
CONVERSATION_RETRIEVAL_FAILURE |
CES 런타임에서 대화를 가져오지 못함 |
METRIC_CALCULATION_FAILURE |
측정항목 / 결과를 계산할 수 없습니다. |
EVALUATION_UPDATE_FAILURE |
평가를 업데이트할 수 없습니다. |
QUOTA_EXHAUSTED |
할당량이 소진되었습니다. |
USER_SIMULATION_FAILURE |
사용자 시뮬레이션 중 오류가 발생했습니다. |
OptimizationStatus
최적화 실행의 상태입니다.
| 열거형 | |
|---|---|
OPTIMIZATION_STATUS_UNSPECIFIED |
최적화 상태가 지정되지 않았습니다. |
RUNNING |
최적화가 실행 중입니다. |
COMPLETED |
최적화가 완료되었습니다. |
ERROR |
내부 오류로 인해 최적화에 실패했습니다. |
NullValue
JSON null를 나타냅니다.
NullValue는 Value 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.
0 이외의 값이 있는 NullValue 유형의 필드는 잘못된 것으로 간주됩니다. 대부분의 ProtoJSON 직렬화 프로그램은 정수 값과 관계없이 null_value이 JSON null로 설정된 Value를 내보내므로 0 값으로 왕복합니다.
| 열거형 | |
|---|---|
NULL_VALUE |
null 값입니다. |
GoldenRunMethod
평가를 실행하는 데 사용된 방법입니다.
| 열거형 | |
|---|---|
GOLDEN_RUN_METHOD_UNSPECIFIED |
실행 메서드가 지정되지 않았습니다. |
STABLE |
각 턴이 이전 예상 턴이 컨텍스트로 삽입된 고유 세션인 안정적인 리플레이로 평가를 실행합니다. |
NAIVE |
실행이 컨텍스트가 삽입되지 않은 단일 세션인 단순 리플레이로 평가를 실행합니다. |
도구 주석
도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 전송할 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌