工具: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 MCP tool 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 |
ID。評估執行的專屬 ID。格式: |
displayName |
選用。評估作業執行項目的使用者定義顯示名稱。預設值:「 |
evaluationResults[] |
僅供輸出。這項執行作業的評估結果。格式: |
createTime |
僅供輸出。建立評估作業的時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
initiatedBy |
僅供輸出。發起評估作業的使用者。 |
appVersion |
僅供輸出。要評估的應用程式版本。格式: |
appVersionDisplayName |
僅供輸出。評估作業所使用的 |
changelog |
僅供輸出。評估作業所用應用程式版本的變更記錄。如果使用者對最新/草稿執行評估,系統就會填入這項資訊。 |
changelogCreateTime |
僅供輸出。評估作業所用應用程式版本的變更記錄建立時間。如果使用者對最新/草稿執行評估,系統就會填入這項資訊。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「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 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -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 |
僅供輸出。評估結果為「失敗」的次數。(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 |
這是必要旗標,輸入音訊資料的取樣率 (以赫茲為單位)。 |
noiseSuppressionLevel |
選用。是否要對輸入音訊啟用雜訊抑制功能。可用值為「low」、「moderate」、「high」、「very_high」。 |
OutputAudioConfig
| JSON 表示法 |
|---|
{
"audioEncoding": enum ( |
| 欄位 | |
|---|---|
audioEncoding |
這是必要旗標,輸出音訊資料的編碼。 |
sampleRateHertz |
這是必要旗標,輸出音訊資料的取樣率 (以赫茲為單位)。 |
狀態
| 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 實作項目應會直接去除最後一個 所有類型網址字串都必須是合法的 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。工具的 ID。tool_identifier 只能是下列其中一個設定: |
|
tool |
僅供輸出。格式: |
toolsetTool |
僅供輸出。工具集工具 ID。 |
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 天/年 * 10000 年 |
nanos |
時間跨度 (以奈秒為單位) 的正負秒數。如果時間長度不到一秒,系統會以 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 數字。不得為 |
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 Runtime 擷取對話。 |
METRIC_CALCULATION_FAILURE |
無法計算指標 / 結果。 |
EVALUATION_UPDATE_FAILURE |
無法更新評估作業。 |
QUOTA_EXHAUSTED |
配額已用完。 |
USER_SIMULATION_FAILURE |
使用者模擬失敗。 |
OptimizationStatus
最佳化執行的狀態。
| 列舉 | |
|---|---|
OPTIMIZATION_STATUS_UNSPECIFIED |
未指定最佳化狀態。 |
RUNNING |
最佳化正在執行。 |
COMPLETED |
最佳化作業已完成。 |
ERROR |
發生內部錯誤,因此最佳化失敗。 |
NullValue
代表 JSON null。
NullValue 是信號,使用只有一個值的列舉,代表 Value 型別聯集的空值。
如果 NullValue 類型的欄位值不是 0,則視為無效。大多數 ProtoJSON 序列化程式都會發出 Value,並將 null_value 設為 JSON null (不論整數值為何),因此會來回傳輸至 0 值。
| 列舉 | |
|---|---|
NULL_VALUE |
空值。 |
GoldenRunMethod
用於執行評估的方法。
| 列舉 | |
|---|---|
GOLDEN_RUN_METHOD_UNSPECIFIED |
未指定執行方法。 |
STABLE |
以穩定重播的方式執行評估,其中每個回合都是獨立的工作階段,並會將先前預期的回合插入為情境。 |
NAIVE |
以單純重播方式執行評估,也就是在單一工作階段中執行,且不注入任何內容。 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時可能向使用者傳送確認提示。
除了標題字串,以下布林值提示的定義如下:
readOnlyHint:如果為 true,工具不會修改環境。預設值為 false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,工具只能執行加法動作。預設值:true。idempotentHint:如果為 true,以相同引數重複呼叫工具時,不會對環境產生額外影響。預設值為 false。openWorldHint:設為 true 時,工具可與外部實體的「開放世界」互動。如果為 false,工具只能與內部實體互動。舉例來說,網路搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。
破壞性提示:❌ | 等冪提示:✅ | 唯讀提示:✅ | 開放世界提示:❌