Method: projects.locations.apps.sessions.streamRunSession

Leitet eine Interaktion mit dem CES-Agenten ein, die nur eine Runde umfasst. Verwendet serverseitiges Streaming, um inkrementelle Ergebnisse und Teilantworten zu liefern, sobald sie generiert werden.

Standardmäßig werden vollständige Antworten (z.B. Nachrichten von Callbacks oder vollständige LLM-Antworten) an den Client gesendet, sobald sie verfügbar sind. Wenn Sie das Streaming einzelner Textblöcke direkt aus dem Modell aktivieren möchten, legen Sie enableTextStreaming auf „true“ fest.

HTTP-Anfrage

POST https://ces.googleapis.com/v1/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
config.session

string

Erforderlich. Die eindeutige ID der Sitzung. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "config": {
    "session": string,
    "inputAudioConfig": {
      "audioEncoding": enum (AudioEncoding),
      "sampleRateHertz": integer,
      "noiseSuppressionLevel": string
    },
    "outputAudioConfig": {
      "audioEncoding": enum (AudioEncoding),
      "sampleRateHertz": integer
    },
    "historicalContexts": [
      {
        "role": string,
        "chunks": [
          {
            object (Chunk)
          }
        ],
        "eventTime": string
      }
    ],
    "entryAgent": string,
    "deployment": string,
    "timeZone": string,
    "useToolFakes": boolean,
    "remoteDialogflowQueryParameters": {
      "webhookHeaders": {
        string: string,
        ...
      },
      "payload": {
        object
      },
      "endUserMetadata": {
        object
      }
    },
    "enableTextStreaming": boolean,
    "excludeDiagnosticInfo": boolean
  },
  "inputs": [
    {
      object (SessionInput)
    }
  ]
}
Felder
config.inputAudioConfig

object (InputAudioConfig)

Optional. Konfiguration für die Verarbeitung des Audioeingabe.

config.outputAudioConfig

object (OutputAudioConfig)

Optional. Konfiguration zum Generieren der Audioausgabe.

config.historicalContexts[]

object (Message)

Optional. Der bisherige Kontext der Sitzung, einschließlich Nutzereingaben, Agentenantworten und anderer Nachrichten. Normalerweise verwaltet der CES-Agent die Sitzung automatisch, sodass der Kunde dieses Feld nicht explizit ausfüllen muss. Der Client kann den bisherigen Kontext jedoch optional überschreiben, um den Sitzungsstart in einem bestimmten Zustand zu erzwingen.

config.entryAgent

string

Optional. Der Einstiegs-Agent, der die Sitzung verarbeitet. Wenn nicht angegeben, wird die Sitzung von der root agent der App verarbeitet. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

config.deployment

string

Optional. Die Bereitstellung der App, die für die Sitzung verwendet werden soll. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

config.timeZone

string

Optional. Die Zeitzone des Nutzers. Falls angegeben, verwendet der Agent die Zeitzone für datums- und uhrzeitbezogene Variablen. Andernfalls wird die im App.time_zone_settings angegebene Zeitzone verwendet.

Das Format ist die Zeitzone aus der IANA-Zeitzonendatenbank, z.B. „America/Los_Angeles“.

config.useToolFakes

boolean

Optional. Gibt an, ob Tool-Fakes für die Sitzung verwendet werden sollen. Wenn dieses Feld festgelegt ist, versucht der Agent, Tool-Fakes zu verwenden, anstatt die echten Tools aufzurufen.

config.remoteDialogflowQueryParameters

object (SessionConfig.RemoteDialogflowQueryParameters)

Optional. QueryParameters, die an den Dialogflow-Remote-Agent gesendet werden sollen, wenn die Sitzungssteuerung an den Remote-Agent übertragen wird.

config.enableTextStreaming

boolean

Optional. Gibt an, ob das Streaming von Textausgaben aus dem Modell aktiviert werden soll. Standardmäßig werden Textausgaben des Modells gesammelt, bevor sie an den Client gesendet werden. HINWEIS: Dies wird nur für Text- (nicht Sprach-)Sitzungen über sessions.streamRunSession oder BidiRunSession unterstützt.

config.excludeDiagnosticInfo

boolean

Optional. Gibt an, ob Diagnoseinformationen aus der Sitzungsausgabe ausgeschlossen werden sollen.

inputs[]

object (SessionInput)

Erforderlich. Eingaben für die Sitzung.

Antworttext

Bei Erfolg enthält der Antworttext einen Stream von RunSessionResponse-Instanzen.

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 session:

  • ces.sessions.runSession

Weitere Informationen finden Sie in der IAM-Dokumentation.