Tool: create_evaluation_dataset
Erstellt ein neues Bewertungs-Dataset.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool create_evaluation_dataset aufrufen.
| Curl-Anfrage |
|---|
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 tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
Anfragenachricht für EvaluationService.CreateEvaluationDataset.
CreateEvaluationDatasetRequest
| JSON-Darstellung |
|---|
{
"parent": string,
"evaluationDatasetId": string,
"evaluationDataset": {
object ( |
| Felder | |
|---|---|
parent |
Erforderlich. Die App, für die die Bewertung erstellt werden soll. Format: |
evaluationDatasetId |
Optional. Die für das Bewertungs-Dataset zu verwendende ID, die als letzte Komponente des Ressourcennamens des Bewertungs-Datasets verwendet wird. Wenn nicht angegeben, wird automatisch eine eindeutige ID für die Auswertung zugewiesen. |
evaluationDataset |
Erforderlich. Das Bewertungs-Dataset, das erstellt werden soll. |
EvaluationDataset
| JSON-Darstellung |
|---|
{
"name": string,
"displayName": string,
"evaluations": [
string
],
"createTime": string,
"updateTime": string,
"etag": string,
"createdBy": string,
"lastUpdatedBy": string,
"aggregatedMetrics": {
object ( |
| Felder | |
|---|---|
name |
ID. Die eindeutige Kennung dieses Auswertungs-Datasets. Format: |
displayName |
Erforderlich. Benutzerdefinierter Anzeigename des Bewertungs-Datasets. Eindeutig innerhalb einer App. |
evaluations[] |
Optional. Bewertungen, die in diesem Dataset enthalten sind. |
createTime |
Nur Ausgabe. Zeitstempel für die Erstellung des Auswertungs-Datasets. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Auswertungsdatensatzes. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
etag |
Nur Ausgabe. Etag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben. |
createdBy |
Nur Ausgabe. Der Nutzer, der das Evaluationsdataset erstellt hat. |
lastUpdatedBy |
Nur Ausgabe. Der Nutzer, der das Auswertungs-Dataset zuletzt aktualisiert hat. |
aggregatedMetrics |
Nur Ausgabe. Die aggregierten Messwerte für dieses Auswertungs-Dataset über alle Läufe hinweg. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
AggregatedMetrics
| JSON-Darstellung |
|---|
{
"metricsByAppVersion": [
{
object ( |
| Felder | |
|---|---|
metricsByAppVersion[] |
Nur Ausgabe. Zusammengefasste Messwerte, gruppiert nach App-Versions-ID. |
MetricsByAppVersion
| JSON-Darstellung |
|---|
{ "appVersionId": string, "toolMetrics": [ { object ( |
| Felder | |
|---|---|
appVersionId |
Nur Ausgabe. Die App-Versions-ID. |
toolMetrics[] |
Nur Ausgabe. Messwerte für jedes Tool in dieser App-Version. |
semanticSimilarityMetrics[] |
Nur Ausgabe. Messwerte für die semantische Ähnlichkeit in dieser App-Version. |
hallucinationMetrics[] |
Nur Ausgabe. Messwerte für Halluzinationen in dieser App-Version. |
toolCallLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Latenz von Tool-Aufrufen in dieser App-Version. |
turnLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Zuglatenz in dieser App-Version. |
passCount |
Nur Ausgabe. Die Anzahl der bestandenen Auswertungen. |
failCount |
Nur Ausgabe. Die Anzahl der fehlgeschlagenen Auswertungen. |
metricsByTurn[] |
Nur Ausgabe. Messwerte, die pro Zug in dieser App-Version zusammengefasst werden. |
ToolMetrics
| JSON-Darstellung |
|---|
{ "tool": string, "passCount": integer, "failCount": integer } |
| Felder | |
|---|---|
tool |
Nur Ausgabe. Der Name des Tools. |
passCount |
Nur Ausgabe. Die Anzahl der Durchläufe des Tools. |
failCount |
Nur Ausgabe. Die Anzahl der fehlgeschlagenen Ausführungen des Tools. |
SemanticSimilarityMetrics
| JSON-Darstellung |
|---|
{ "score": number } |
| Felder | |
|---|---|
score |
Nur Ausgabe. Der durchschnittliche Wert für die semantische Ähnlichkeit (0–4). |
HallucinationMetrics
| JSON-Darstellung |
|---|
{ "score": number } |
| Felder | |
|---|---|
score |
Nur Ausgabe. Der durchschnittliche Halluzinationswert (0 bis 1). |
ToolCallLatencyMetrics
| JSON-Darstellung |
|---|
{ "tool": string, "averageLatency": string } |
| Felder | |
|---|---|
tool |
Nur Ausgabe. Der Name des Tools. |
averageLatency |
Nur Ausgabe. Die durchschnittliche Latenz der Toolaufrufe. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
Dauer
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzwerte werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre |
nanos |
Signierte Sekundenbruchteile mit Nanosekunden-Auflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld |
TurnLatencyMetrics
| JSON-Darstellung |
|---|
{ "averageLatency": string } |
| Felder | |
|---|---|
averageLatency |
Nur Ausgabe. Die durchschnittliche Latenz der Unterhaltungen. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
MetricsByTurn
| JSON-Darstellung |
|---|
{ "turnIndex": integer, "toolMetrics": [ { object ( |
| Felder | |
|---|---|
turnIndex |
Nur Ausgabe. Der nullbasierte Index der Kurve. |
toolMetrics[] |
Nur Ausgabe. Messwerte für jedes Tool in diesem Zug. |
semanticSimilarityMetrics[] |
Nur Ausgabe. Messwerte für die semantische Ähnlichkeit in diesem Turn. |
hallucinationMetrics[] |
Nur Ausgabe. Messwerte für Halluzinationen in dieser Antwort. |
toolCallLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Latenz von Tool-Aufrufen in diesem Turn. |
turnLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Antwortlatenz in diesem Zug. |
Ausgabeschema
Ein Bewertungs-Dataset stellt eine Reihe von Bewertungen dar, die anhand gemeinsamer Tags gruppiert werden.
EvaluationDataset
| JSON-Darstellung |
|---|
{
"name": string,
"displayName": string,
"evaluations": [
string
],
"createTime": string,
"updateTime": string,
"etag": string,
"createdBy": string,
"lastUpdatedBy": string,
"aggregatedMetrics": {
object ( |
| Felder | |
|---|---|
name |
ID. Die eindeutige Kennung dieses Auswertungs-Datasets. Format: |
displayName |
Erforderlich. Benutzerdefinierter Anzeigename des Bewertungs-Datasets. Eindeutig innerhalb einer App. |
evaluations[] |
Optional. Bewertungen, die in diesem Dataset enthalten sind. |
createTime |
Nur Ausgabe. Zeitstempel für die Erstellung des Auswertungs-Datasets. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Auswertungsdatensatzes. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
etag |
Nur Ausgabe. Etag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben. |
createdBy |
Nur Ausgabe. Der Nutzer, der das Evaluationsdataset erstellt hat. |
lastUpdatedBy |
Nur Ausgabe. Der Nutzer, der das Auswertungs-Dataset zuletzt aktualisiert hat. |
aggregatedMetrics |
Nur Ausgabe. Die aggregierten Messwerte für dieses Auswertungs-Dataset über alle Läufe hinweg. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
AggregatedMetrics
| JSON-Darstellung |
|---|
{
"metricsByAppVersion": [
{
object ( |
| Felder | |
|---|---|
metricsByAppVersion[] |
Nur Ausgabe. Zusammengefasste Messwerte, gruppiert nach App-Versions-ID. |
MetricsByAppVersion
| JSON-Darstellung |
|---|
{ "appVersionId": string, "toolMetrics": [ { object ( |
| Felder | |
|---|---|
appVersionId |
Nur Ausgabe. Die App-Versions-ID. |
toolMetrics[] |
Nur Ausgabe. Messwerte für jedes Tool in dieser App-Version. |
semanticSimilarityMetrics[] |
Nur Ausgabe. Messwerte für die semantische Ähnlichkeit in dieser App-Version. |
hallucinationMetrics[] |
Nur Ausgabe. Messwerte für Halluzinationen in dieser App-Version. |
toolCallLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Latenz von Tool-Aufrufen in dieser App-Version. |
turnLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Zuglatenz in dieser App-Version. |
passCount |
Nur Ausgabe. Die Anzahl der bestandenen Auswertungen. |
failCount |
Nur Ausgabe. Die Anzahl der fehlgeschlagenen Auswertungen. |
metricsByTurn[] |
Nur Ausgabe. Messwerte, die pro Zug in dieser App-Version zusammengefasst werden. |
ToolMetrics
| JSON-Darstellung |
|---|
{ "tool": string, "passCount": integer, "failCount": integer } |
| Felder | |
|---|---|
tool |
Nur Ausgabe. Der Name des Tools. |
passCount |
Nur Ausgabe. Die Anzahl der Durchläufe des Tools. |
failCount |
Nur Ausgabe. Die Anzahl der fehlgeschlagenen Ausführungen des Tools. |
SemanticSimilarityMetrics
| JSON-Darstellung |
|---|
{ "score": number } |
| Felder | |
|---|---|
score |
Nur Ausgabe. Der durchschnittliche Wert für die semantische Ähnlichkeit (0–4). |
HallucinationMetrics
| JSON-Darstellung |
|---|
{ "score": number } |
| Felder | |
|---|---|
score |
Nur Ausgabe. Der durchschnittliche Halluzinationswert (0 bis 1). |
ToolCallLatencyMetrics
| JSON-Darstellung |
|---|
{ "tool": string, "averageLatency": string } |
| Felder | |
|---|---|
tool |
Nur Ausgabe. Der Name des Tools. |
averageLatency |
Nur Ausgabe. Die durchschnittliche Latenz der Toolaufrufe. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
Dauer
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzwerte werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre |
nanos |
Signierte Sekundenbruchteile mit Nanosekunden-Auflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld |
TurnLatencyMetrics
| JSON-Darstellung |
|---|
{ "averageLatency": string } |
| Felder | |
|---|---|
averageLatency |
Nur Ausgabe. Die durchschnittliche Latenz der Unterhaltungen. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
MetricsByTurn
| JSON-Darstellung |
|---|
{ "turnIndex": integer, "toolMetrics": [ { object ( |
| Felder | |
|---|---|
turnIndex |
Nur Ausgabe. Der nullbasierte Index der Kurve. |
toolMetrics[] |
Nur Ausgabe. Messwerte für jedes Tool in diesem Zug. |
semanticSimilarityMetrics[] |
Nur Ausgabe. Messwerte für die semantische Ähnlichkeit in diesem Turn. |
hallucinationMetrics[] |
Nur Ausgabe. Messwerte für Halluzinationen in dieser Antwort. |
toolCallLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Latenz von Tool-Aufrufen in diesem Turn. |
turnLatencyMetrics[] |
Nur Ausgabe. Messwerte für die Antwortlatenz in diesem Zug. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet wird.
Zusammen mit dem Titelstring sind die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Web-Suchtool wäre beispielsweise frei verfügbar, ein Memory-Tool jedoch nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Hinweis „Nur lesen“: ❌ | Hinweis „Offene Welt“: ❌