Method: projects.locations.apps.sessions.streamRunSession

Avvia un'interazione a turno singolo con l'agente CES. Utilizza lo streaming lato server per fornire risultati incrementali e risposte parziali man mano che vengono generati.

Per impostazione predefinita, le risposte complete (ad es. i messaggi dei callback o le risposte LLM complete) vengono inviate al client non appena sono disponibili. Per abilitare lo streaming di singoli blocchi di testo direttamente dal modello, imposta enableTextStreaming su true.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
config.session

string

Obbligatorio. L'identificatore univoco della sessione. Formato: projects/{project}/locations/{location}/apps/{app}/sessions/{session}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "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)
    }
  ]
}
Campi
config.inputAudioConfig

object (InputAudioConfig)

Facoltativo. Configurazione per l'elaborazione dell'audio di input.

config.outputAudioConfig

object (OutputAudioConfig)

Facoltativo. Configurazione per la generazione dell'audio di output.

config.historicalContexts[]

object (Message)

Facoltativo. Il contesto storico della sessione, inclusi gli input dell'utente, le risposte dell'agente e altri messaggi. In genere, l'agente CES gestisce automaticamente la sessione, quindi il client non deve compilare esplicitamente questo campo. Tuttavia, il client può facoltativamente sostituire i contesti storici per forzare l'avvio della sessione da un determinato stato.

config.entryAgent

string

Facoltativo. L'agente di ingresso per gestire la sessione. Se non viene specificato, la sessione verrà gestita dal root agent dell'app. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

config.deployment

string

Facoltativo. Il deployment dell'app da utilizzare per la sessione. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

config.timeZone

string

Facoltativo. Il fuso orario dell'utente. Se viene fornito, l'agente utilizzerà il fuso orario per le variabili relative a data e ora. In caso contrario, l'agente utilizzerà il fuso orario specificato in App.time_zone_settings.

Il formato è il fuso orario del database dei fusi orari IANA, ad es. "America/Los_Angeles".

config.useToolFakes

boolean

Facoltativo. Se utilizzare strumenti fittizi per la sessione. Se questo campo è impostato, l'agente tenterà di utilizzare strumenti fittizi anziché chiamare gli strumenti reali.

config.remoteDialogflowQueryParameters

object (SessionConfig.RemoteDialogflowQueryParameters)

Facoltativo. QueryParameters da inviare all'agente Dialogflow remoto quando il controllo della sessione viene trasferito all'agente remoto.

config.enableTextStreaming

boolean

Facoltativo. Se abilitare lo streaming degli output di testo dal modello. Per impostazione predefinita, gli output di testo del modello vengono raccolti prima di essere inviati al client. NOTA: questa funzionalità è supportata solo per le sessioni di testo (non vocali) tramite sessions.streamRunSession o BidiRunSession.

config.excludeDiagnosticInfo

boolean

Facoltativo. Se escludere le informazioni diagnostiche dall'output della sessione.

inputs[]

object (SessionInput)

Obbligatorio. Input per la sessione.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene uno stream di istanze RunSessionResponse.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

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

Per saperne di più, consulta la Authentication Overview.

Autorizzazioni IAM

Richiede la seguente autorizzazione IAM per la risorsa session:

  • ces.sessions.runSession

Per saperne di più, consulta la documentazione di IAM.