MCP Tools Reference: ces.googleapis.com

Herramienta: create_evaluation_dataset

Crea un conjunto de datos de evaluación nuevo.

En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP create_evaluation_dataset.

Solicitud de 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": "create_evaluation_dataset",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

Mensaje de solicitud para EvaluationService.CreateEvaluationDataset.

CreateEvaluationDatasetRequest

Representación JSON
{
  "parent": string,
  "evaluationDatasetId": string,
  "evaluationDataset": {
    object (EvaluationDataset)
  }
}
Campos
parent

string

Obligatorio. Es la app para la que se creará la evaluación. Formato: projects/{project}/locations/{location}/apps/{app}

evaluationDatasetId

string

Es opcional. Es el ID que se usará para el conjunto de datos de evaluación, que se convertirá en el componente final del nombre del recurso del conjunto de datos de evaluación. Si no se proporciona, se asignará automáticamente un ID único para la evaluación.

evaluationDataset

object (EvaluationDataset)

Obligatorio. Es el conjunto de datos de evaluación que se creará.

EvaluationDataset

Representación JSON
{
  "name": string,
  "displayName": string,
  "evaluations": [
    string
  ],
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "createdBy": string,
  "lastUpdatedBy": string,
  "aggregatedMetrics": {
    object (AggregatedMetrics)
  }
}
Campos
name

string

Es el identificador. Es el identificador único de este conjunto de datos de evaluación. Formato: projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}

displayName

string

Obligatorio. Es el nombre visible definido por el usuario del conjunto de datos de evaluación. Es único dentro de una app.

evaluations[]

string

Es opcional. Son las evaluaciones que se incluyen en este conjunto de datos.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el conjunto de datos de evaluación.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del conjunto de datos de evaluación.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Solo salida. Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

createdBy

string

Solo salida. Es el usuario que creó el conjunto de datos de evaluación.

lastUpdatedBy

string

Solo salida. Es el usuario que actualizó el conjunto de datos de evaluación por última vez.

aggregatedMetrics

object (AggregatedMetrics)

Solo salida. Son las métricas agregadas para este conjunto de datos de evaluación en todas las ejecuciones.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

AggregatedMetrics

Representación JSON
{
  "metricsByAppVersion": [
    {
      object (MetricsByAppVersion)
    }
  ]
}
Campos
metricsByAppVersion[]

object (MetricsByAppVersion)

Solo salida. Son las métricas agregadas, agrupadas por el ID de la versión de la app.

MetricsByAppVersion

Representación JSON
{
  "appVersionId": string,
  "toolMetrics": [
    {
      object (ToolMetrics)
    }
  ],
  "semanticSimilarityMetrics": [
    {
      object (SemanticSimilarityMetrics)
    }
  ],
  "hallucinationMetrics": [
    {
      object (HallucinationMetrics)
    }
  ],
  "toolCallLatencyMetrics": [
    {
      object (ToolCallLatencyMetrics)
    }
  ],
  "turnLatencyMetrics": [
    {
      object (TurnLatencyMetrics)
    }
  ],
  "passCount": integer,
  "failCount": integer,
  "metricsByTurn": [
    {
      object (MetricsByTurn)
    }
  ]
}
Campos
appVersionId

string

Solo salida. Es el ID de la versión de la app.

toolMetrics[]

object (ToolMetrics)

Solo salida. Son las métricas de cada herramienta dentro de esta versión de la app.

semanticSimilarityMetrics[]

object (SemanticSimilarityMetrics)

Solo salida. Son las métricas de similitud semántica dentro de esta versión de la app.

hallucinationMetrics[]

object (HallucinationMetrics)

Solo salida. Son las métricas de alucinación dentro de esta versión de la app.

toolCallLatencyMetrics[]

object (ToolCallLatencyMetrics)

Solo salida. Son las métricas de latencia de la llamada a la herramienta dentro de esta versión de la app.

turnLatencyMetrics[]

object (TurnLatencyMetrics)

Solo salida. Son las métricas de latencia de turnos dentro de esta versión de la app.

passCount

integer

Solo salida. Es la cantidad de veces que se aprobó la evaluación.

failCount

integer

Solo salida. Es la cantidad de veces que falló la evaluación.

metricsByTurn[]

object (MetricsByTurn)

Solo salida. Son las métricas agregadas por turno dentro de esta versión de la app.

ToolMetrics

Representación JSON
{
  "tool": string,
  "passCount": integer,
  "failCount": integer
}
Campos
tool

string

Solo salida. Es el nombre de la herramienta.

passCount

integer

Solo salida. Es la cantidad de veces que la herramienta pasó la prueba.

failCount

integer

Solo salida. Es la cantidad de veces que falló la herramienta.

SemanticSimilarityMetrics

Representación JSON
{
  "score": number
}
Campos
score

number

Solo salida. Es la puntuación promedio de similitud semántica (de 0 a 4).

HallucinationMetrics

Representación JSON
{
  "score": number
}
Campos
score

number

Solo salida. Es la puntuación promedio de alucinación (de 0 a 1).

ToolCallLatencyMetrics

Representación JSON
{
  "tool": string,
  "averageLatency": string
}
Campos
tool

string

Solo salida. Es el nombre de la herramienta.

averageLatency

string (Duration format)

Solo salida. Es la latencia promedio de las llamadas a herramientas.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

Duración

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Debe ser un valor entre -999,999,999 y +999,999,999, inclusive.

TurnLatencyMetrics

Representación JSON
{
  "averageLatency": string
}
Campos
averageLatency

string (Duration format)

Solo salida. Es la latencia promedio de los turnos.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

MetricsByTurn

Representación JSON
{
  "turnIndex": integer,
  "toolMetrics": [
    {
      object (ToolMetrics)
    }
  ],
  "semanticSimilarityMetrics": [
    {
      object (SemanticSimilarityMetrics)
    }
  ],
  "hallucinationMetrics": [
    {
      object (HallucinationMetrics)
    }
  ],
  "toolCallLatencyMetrics": [
    {
      object (ToolCallLatencyMetrics)
    }
  ],
  "turnLatencyMetrics": [
    {
      object (TurnLatencyMetrics)
    }
  ]
}
Campos
turnIndex

integer

Solo salida. Índice de turno (basado en 0).

toolMetrics[]

object (ToolMetrics)

Solo salida. Son las métricas de cada herramienta dentro de este turno.

semanticSimilarityMetrics[]

object (SemanticSimilarityMetrics)

Solo salida. Son las métricas de similitud semántica dentro de este turno.

hallucinationMetrics[]

object (HallucinationMetrics)

Solo salida. Son las métricas de alucinación dentro de este turno.

toolCallLatencyMetrics[]

object (ToolCallLatencyMetrics)

Solo salida. Son las métricas de latencia de la llamada a la herramienta dentro de este turno.

turnLatencyMetrics[]

object (TurnLatencyMetrics)

Solo salida. Son las métricas de latencia del turno dentro de este turno.

Esquema de salida

Un conjunto de datos de evaluación representa un conjunto de evaluaciones que se agrupan según etiquetas compartidas.

EvaluationDataset

Representación JSON
{
  "name": string,
  "displayName": string,
  "evaluations": [
    string
  ],
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "createdBy": string,
  "lastUpdatedBy": string,
  "aggregatedMetrics": {
    object (AggregatedMetrics)
  }
}
Campos
name

string

Es el identificador. Es el identificador único de este conjunto de datos de evaluación. Formato: projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}

displayName

string

Obligatorio. Es el nombre visible definido por el usuario del conjunto de datos de evaluación. Es único dentro de una app.

evaluations[]

string

Es opcional. Son las evaluaciones que se incluyen en este conjunto de datos.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el conjunto de datos de evaluación.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del conjunto de datos de evaluación.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Solo salida. Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

createdBy

string

Solo salida. Es el usuario que creó el conjunto de datos de evaluación.

lastUpdatedBy

string

Solo salida. Es el usuario que actualizó el conjunto de datos de evaluación por última vez.

aggregatedMetrics

object (AggregatedMetrics)

Solo salida. Son las métricas agregadas para este conjunto de datos de evaluación en todas las ejecuciones.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

AggregatedMetrics

Representación JSON
{
  "metricsByAppVersion": [
    {
      object (MetricsByAppVersion)
    }
  ]
}
Campos
metricsByAppVersion[]

object (MetricsByAppVersion)

Solo salida. Son las métricas agregadas, agrupadas por el ID de la versión de la app.

MetricsByAppVersion

Representación JSON
{
  "appVersionId": string,
  "toolMetrics": [
    {
      object (ToolMetrics)
    }
  ],
  "semanticSimilarityMetrics": [
    {
      object (SemanticSimilarityMetrics)
    }
  ],
  "hallucinationMetrics": [
    {
      object (HallucinationMetrics)
    }
  ],
  "toolCallLatencyMetrics": [
    {
      object (ToolCallLatencyMetrics)
    }
  ],
  "turnLatencyMetrics": [
    {
      object (TurnLatencyMetrics)
    }
  ],
  "passCount": integer,
  "failCount": integer,
  "metricsByTurn": [
    {
      object (MetricsByTurn)
    }
  ]
}
Campos
appVersionId

string

Solo salida. Es el ID de la versión de la app.

toolMetrics[]

object (ToolMetrics)

Solo salida. Son las métricas de cada herramienta dentro de esta versión de la app.

semanticSimilarityMetrics[]

object (SemanticSimilarityMetrics)

Solo salida. Son las métricas de similitud semántica dentro de esta versión de la app.

hallucinationMetrics[]

object (HallucinationMetrics)

Solo salida. Son las métricas de alucinación dentro de esta versión de la app.

toolCallLatencyMetrics[]

object (ToolCallLatencyMetrics)

Solo salida. Son las métricas de latencia de la llamada a la herramienta dentro de esta versión de la app.

turnLatencyMetrics[]

object (TurnLatencyMetrics)

Solo salida. Son las métricas de latencia de turnos dentro de esta versión de la app.

passCount

integer

Solo salida. Es la cantidad de veces que se aprobó la evaluación.

failCount

integer

Solo salida. Es la cantidad de veces que falló la evaluación.

metricsByTurn[]

object (MetricsByTurn)

Solo salida. Son las métricas agregadas por turno dentro de esta versión de la app.

ToolMetrics

Representación JSON
{
  "tool": string,
  "passCount": integer,
  "failCount": integer
}
Campos
tool

string

Solo salida. Es el nombre de la herramienta.

passCount

integer

Solo salida. Es la cantidad de veces que la herramienta pasó la prueba.

failCount

integer

Solo salida. Es la cantidad de veces que falló la herramienta.

SemanticSimilarityMetrics

Representación JSON
{
  "score": number
}
Campos
score

number

Solo salida. Es la puntuación promedio de similitud semántica (de 0 a 4).

HallucinationMetrics

Representación JSON
{
  "score": number
}
Campos
score

number

Solo salida. Es la puntuación promedio de alucinación (de 0 a 1).

ToolCallLatencyMetrics

Representación JSON
{
  "tool": string,
  "averageLatency": string
}
Campos
tool

string

Solo salida. Es el nombre de la herramienta.

averageLatency

string (Duration format)

Solo salida. Es la latencia promedio de las llamadas a herramientas.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

Duración

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Debe ser un valor entre -999,999,999 y +999,999,999, inclusive.

TurnLatencyMetrics

Representación JSON
{
  "averageLatency": string
}
Campos
averageLatency

string (Duration format)

Solo salida. Es la latencia promedio de los turnos.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

MetricsByTurn

Representación JSON
{
  "turnIndex": integer,
  "toolMetrics": [
    {
      object (ToolMetrics)
    }
  ],
  "semanticSimilarityMetrics": [
    {
      object (SemanticSimilarityMetrics)
    }
  ],
  "hallucinationMetrics": [
    {
      object (HallucinationMetrics)
    }
  ],
  "toolCallLatencyMetrics": [
    {
      object (ToolCallLatencyMetrics)
    }
  ],
  "turnLatencyMetrics": [
    {
      object (TurnLatencyMetrics)
    }
  ]
}
Campos
turnIndex

integer

Solo salida. Índice de turno (basado en 0).

toolMetrics[]

object (ToolMetrics)

Solo salida. Son las métricas de cada herramienta dentro de este turno.

semanticSimilarityMetrics[]

object (SemanticSimilarityMetrics)

Solo salida. Son las métricas de similitud semántica dentro de este turno.

hallucinationMetrics[]

object (HallucinationMetrics)

Solo salida. Son las métricas de alucinación dentro de este turno.

toolCallLatencyMetrics[]

object (ToolCallLatencyMetrics)

Solo salida. Son las métricas de latencia de la llamada a la herramienta dentro de este turno.

turnLatencyMetrics[]

object (TurnLatencyMetrics)

Solo salida. Son las métricas de latencia del turno dentro de este turno.

Anotaciones de herramientas

Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.

Junto con la cadena de título, se definen las siguientes sugerencias booleanas:

  • readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.
  • destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.
  • idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.
  • openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.

Pista destructiva: ❌ | Pista idempotente: ❌ | Pista de solo lectura: ❌ | Pista de mundo abierto: ❌