Method: projects.locations.apps.generateAppResource

Erstellt mithilfe des LLM-Assistenten bestimmte Ressourcen (z.B. einen Kundenservicemitarbeiter) in der App.

HTTP-Anfrage

POST https://ces.googleapis.com/v1beta/{parent=projects/*/locations/*/apps/*}:generateAppResource

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
parent

string

Erforderlich. Der Ressourcenname der App, für die die Ressource generiert werden soll.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "refineInstructions": [
    {
      object (GenerateAppResourceRequest.RefineInstructions)
    }
  ],
  "toolGenerationConfig": {
    object (GenerateAppResourceRequest.ToolGenerationConfig)
  },
  "appGenerationConfig": {
    object (GenerateAppResourceRequest.AppGenerationConfig)
  },
  "evaluationGenerationConfig": {
    object (GenerateAppResourceRequest.EvaluationGenerationConfig)
  },
  "evaluationPersonasGenerationConfig": {
    object (GenerateAppResourceRequest.EvaluationPersonasGenerationConfig)
  },
  "qualityReportGenerationConfig": {
    object (GenerateAppResourceRequest.QualityReportGenerationConfig)
  },
  "hillClimbingFixConfig": {
    object (GenerateAppResourceRequest.HillClimbingFixConfig)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agent": {
    object (Agent)
  },
  "tool": {
    object (Tool)
  },
  "toolset": {
    object (Toolset)
  },
  "appVersionContext": {
    object (GenerateAppResourceRequest.AppVersionContext)
  }
  // End of mutually exclusive fields.
}
Felder
refineInstructions[]

object (GenerateAppResourceRequest.RefineInstructions)

Optional. Liste der Anweisungen zum Verfeinern, die zum Verfeinern der Ressource verwendet werden sollen.

toolGenerationConfig

object (GenerateAppResourceRequest.ToolGenerationConfig)

Optional. Die Konfiguration, die zum Generieren des Tools verwendet werden soll.

appGenerationConfig

object (GenerateAppResourceRequest.AppGenerationConfig)

Optional. Die Konfiguration, die zum Generieren der Agenten und Tools verwendet werden soll.

evaluationGenerationConfig

object (GenerateAppResourceRequest.EvaluationGenerationConfig)

Optional. Die Konfiguration, die zum Generieren der Bewertungen verwendet werden soll.

evaluationPersonasGenerationConfig

object (GenerateAppResourceRequest.EvaluationPersonasGenerationConfig)

Optional. Die Konfiguration, die zum Generieren der Bewertungs-Personas verwendet werden soll.

qualityReportGenerationConfig

object (GenerateAppResourceRequest.QualityReportGenerationConfig)

Optional. Die Konfiguration, die für die Erstellung von Qualitätsberichten verwendet werden soll.

hillClimbingFixConfig

object (GenerateAppResourceRequest.HillClimbingFixConfig)

Optional. Die Konfiguration, die für Hillclimbing-Korrekturen verwendet werden soll.

Die zu generierende Ressource. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
agent

object (Agent)

Die Agent-Ressource, die vom LLM-Assistenten verwendet werden soll. Sie kann leer sein, um einen neuen Agenten zu generieren.

tool

object (Tool)

Die vom LLM-Assistenten zu verwendende Tool-Ressource kann leer sein, wenn ein neues Tool generiert werden soll.

toolset

object (Toolset)

Die Toolset-Ressource, die vom LLM-Assistenten verwendet werden soll. Sie kann leer sein, um ein neues Toolset zu generieren.

appVersionContext

object (GenerateAppResourceRequest.AppVersionContext)

Der Kontext der App-Version, der den Basis-Snapshot und den Ziel-Agenten angibt.

Ende der sich gegenseitig ausschließenden Felder.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Weitere Informationen finden Sie unter Authentication Overview.

IAM-Berechtigungen

Erfordert die folgende IAM-Berechtigung für die Ressource parent:

  • ces.apps.update

Weitere Informationen finden Sie in der IAM-Dokumentation.

GenerateAppResourceRequest.AppVersionContext

Der Kontext der App-Version, der den Basis-Snapshot und den Ziel-Agenten angibt.

JSON-Darstellung
{
  "appVersion": string,
  "agentResourceName": string
}
Felder
appVersion

string

Der Ressourcenname der App-Version, die vom LLM-Assistenten verwendet werden soll. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

agentResourceName

string

Der Ressourcenname des Ziel-Agents, der vom LLM-Assistenten verwendet werden soll. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerateAppResourceRequest.RefineInstructions

Die Anweisungen, die zum Verfeinern eines Teils der Ressource verwendet werden sollen. Der Teil der Ressource kann mit einem Start- und Endindex sowie einer Feldmaske angegeben werden. Wenn Sie beispielsweise einen Teil der Agent-Anweisungen optimieren möchten, können Sie den Index des ersten Zeichens der Anweisungen, den Index des letzten Zeichens der Anweisungen und die Feldmaske als „instructions“ angeben.

JSON-Darstellung
{
  "startIndex": string,
  "endIndex": string,
  "fieldMask": string,
  "instructions": string
}
Felder
startIndex

string (int64 format)

Erforderlich. Das erste Zeichen (einschließlich) des zu optimierenden Texts.

endIndex

string (int64 format)

Erforderlich. Das letzte Zeichen (einschließlich) des zu optimierenden Texts.

fieldMask

string (FieldMask format)

Erforderlich. Das Feld der Ressource, das verfeinert wird. Pro „RefineInstructions“ ist nur ein Feld zulässig. Wenn Sie die Anweisungen für den Agenten optimieren, sollte die Feldmaske „instructions“ lauten.

Dies ist eine kommagetrennte Liste vollständig qualifizierter Feldnamen. Beispiel: "user.displayName,photo".

instructions

string

Erforderlich. Die Anweisungen zum Optimieren der Ressource.

GenerateAppResourceRequest.ToolGenerationConfig

Die Konfiguration, die zum Generieren eines Tools verwendet werden soll.

JSON-Darstellung
{
  "context": string,
  "fileContexts": [
    {
      object (FileContext)
    }
  ],
  "openApiToolsetGenerationConfig": {
    object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig)
  }
}
Felder
context

string

Optional. Der Kontext, der das zu generierende Tool beschreibt. Dieses Feld kann leer sein, wenn die Tool-Anfrage und ‑Antwort angegeben sind.

fileContexts[]

object (FileContext)

Optional. Die Dateien, die als Kontext verwendet werden sollen.

openApiToolsetGenerationConfig

object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig)

Optional. Die Konfiguration, die zum Generieren eines Open API-Schemas verwendet werden soll.

FileContext

Dateien, die als Kontext verwendet werden sollen. Dateien können als Rohbytes bereitgestellt werden.

JSON-Darstellung
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "fileBytes": {
    object (FileContext.FileBytes)
  }
  // End of mutually exclusive fields.
}
Felder
Die Datei wird als Kontext bereitgestellt. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
fileBytes

object (FileContext.FileBytes)

Optional. Datei als Rohbyte bereitgestellt.

Ende der sich gegenseitig ausschließenden Felder.

FileContext.FileBytes

Datei als Rohbyte bereitgestellt.

JSON-Darstellung
{
  "fileName": string,
  "mimeType": string,
  "data": string
}
Felder
fileName

string

Erforderlich. Der Name der Datei, die als Rohbytes angegeben wird.

mimeType

string

Erforderlich. Der IANA-Standard-MIME-Typ der Quelldaten.

data

string (bytes format)

Erforderlich. Rohbyte der Datei.

Ein base64-codierter String.

GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig

Die Konfiguration, die zum Generieren eines Open API-Schemas verwendet werden soll.

JSON-Darstellung
{
  "uri": string,
  "operationGenerationConfigs": [
    {
      object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig)
    }
  ]
}
Felder
uri

string

Erforderlich. Der Basis-URI des Tools.

operationGenerationConfigs[]

object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig)

Erforderlich. Die Liste der Vorgänge, die dem Open API-Schema hinzugefügt werden sollen.

GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig

Die Konfiguration, die zum Generieren eines Vorgangs im Open API-Schema verwendet werden soll.

JSON-Darstellung
{
  "method": string,
  "path": string,
  "requestJson": string,
  "responseJson": string
}
Felder
method

string

Erforderlich. Die URI des Tools. Dazu gehören auch Abfrage- und Pfadparameter, falls vorhanden.

path

string

Erforderlich. Der Pfad des Tools, der an den Basis-URI angehängt werden soll. Dazu gehören auch Abfrage- und Pfadparameter, falls vorhanden.

requestJson

string

Erforderlich. Eine Beispielanfrage an das Tool im JSON-Format. Überspringen Sie diesen Schritt, wenn das Tool keinen Anfragetext unterstützt.

responseJson

string

Erforderlich. Eine Beispielantwort des Tools im JSON-Format.

GenerateAppResourceRequest.AppGenerationConfig

Die Konfiguration, die zum Generieren der App verwendet werden soll.

JSON-Darstellung
{
  "context": string,
  "fileContexts": [
    {
      object (FileContext)
    }
  ],
  "datasetId": string,
  "generateEvaluations": boolean,
  "gcsLocation": string
}
Felder
context

string

Optional. Der Kontext, der die Anforderungen an die zu generierenden Agents und Tools beschreibt.

fileContexts[]

object (FileContext)

Optional. Die Dateien, die als Kontext verwendet werden sollen.

datasetId

string

Optional. Das Insights-Dataset, das zum Abrufen von Konversationsdaten zum Generieren der Agents und Tools verwendet werden soll. Format: projects/{project}/locations/{location}/datasets/{dataset}.

generateEvaluations

boolean

Optional. Gibt an, ob die Bewertungen für die App generiert werden sollen. Wenn „true“, werden die bereitgestellten Kontextinformationen verwendet, um die Bewertungsdaten zu generieren.

gcsLocation

string

Optional. Der Cloud Storage-Speicherort, an dem die generierten Frage-Antwort-Daten gespeichert werden, die vom Datastore-Tool verwendet werden sollen. Diese Daten werden nur generiert, wenn Konversationsdaten als Eingabequelle verwendet werden. Der Speicherort muss sich im selben Projekt wie die App befinden. Format: gs://....

GenerateAppResourceRequest.EvaluationGenerationConfig

Die Konfiguration, die zum Generieren der Bewertungen verwendet werden soll.

JSON-Darstellung
{
  "datasetId": string
}
Felder
datasetId

string

Optional. Das Insights-Dataset, das zum Abrufen von Konversationsdaten zum Generieren der Analysen verwendet werden soll. Format: projects/{project}/locations/{location}/datasets/{dataset}.

GenerateAppResourceRequest.EvaluationPersonasGenerationConfig

Dieser Typ hat keine Felder.

Die Konfiguration, die zum Generieren der Bewertungs-Personas verwendet werden soll.

GenerateAppResourceRequest.QualityReportGenerationConfig

Die Konfiguration, die für die Erstellung von Qualitätsberichten verwendet werden soll.

JSON-Darstellung
{
  "evaluationRun": string,
  "algorithm": enum (GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm)
}
Felder
evaluationRun

string

Erforderlich. Der Testlauf, der für die Analyse des Qualitätsberichts verwendet wird.

algorithm

enum (GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm)

Optional. Der Algorithmus für die Verlustzuordnung, der verwendet werden soll.

GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm

Der Algorithmus, der für die Verlustzuordnung verwendet werden soll.

Enums
LOSS_ATTRIBUTION_ALGORITHM_UNSPECIFIED Nicht angegeben.
APP_CENTRIC App-zentrierte Verlustzuordnung. Die App wird als eine Einheit behandelt.
AGENT_CENTRIC Agentenbezogene Verlustzuordnung. Ordnet den Verlust einzelnen Agenten zu.

GenerateAppResourceRequest.HillClimbingFixConfig

Die Konfiguration, die für Hillclimbing-Korrekturen verwendet werden soll.

JSON-Darstellung
{
  "qualityReport": {
    object (QualityReport)
  }
}
Felder
qualityReport

object (QualityReport)

Erforderlich. Der Qualitätsbericht, der zur Korrektur der Befolgung von Anweisungen verwendet wurde.

QualityReport

Der Bericht, in dem alle festgestellten Qualitätsprobleme in der App beschrieben werden.

JSON-Darstellung
{
  "issues": [
    {
      object (QualityReport.AgentIssues)
    }
  ],
  "evaluationRuns": [
    string
  ],
  "generalIssues": [
    {
      object (QualityReport.Issue)
    }
  ]
}
Felder
issues[]

object (QualityReport.AgentIssues)

Optional. Die nach Agent gruppierten Probleme.

evaluationRuns[]

string

Optional. Eine Liste der Testläufe, die zum Generieren des Qualitätsberichts verwendet wurden. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluationRun}.

generalIssues[]

object (QualityReport.Issue)

Optional. Allgemeine Probleme, die nicht spezifisch für einen bestimmten Agenten sind.

QualityReport.AgentIssues

Probleme, die für einen einzelnen Agenten ermittelt wurden.

JSON-Darstellung
{
  "agent": string,
  "issues": [
    {
      object (QualityReport.Issue)
    }
  ]
}
Felder
agent

string

Optional. Der Name des KI-Agenten, auf den sich die Probleme beziehen. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

issues[]

object (QualityReport.Issue)

Optional. Liste der Probleme, die für diesen KI-Agenten gefunden wurden.

QualityReport.Issue

Das identifizierte Problem.

JSON-Darstellung
{
  "description": string,
  "occurrenceCount": integer,
  "proposedSolution": string
}
Felder
description

string

Optional. Beschreibung des gefundenen Problems.

occurrenceCount

integer

Optional. Wie oft dieses Problem aufgetreten ist.

proposedSolution

string

Optional. Vorgeschlagene Lösung zur Behebung des Problems durch Ändern von Anweisungen oder Tools.