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/v1/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri di 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,
    "includeLlmThoughtSummary": boolean,
    "excludeDiagnosticInfo": boolean,
    "includeProgressUpdate": 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 la sessione automaticamente, quindi il client non deve compilare esplicitamente questo campo. Tuttavia, il client può facoltativamente eseguire l'override dei 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 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 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 esempio "America/Los_Angeles".

config.useToolFakes

boolean

Facoltativo. Indica se utilizzare i tool fake per la sessione. Se questo campo è impostato, l'agente tenterà di utilizzare i falsi strumenti anziché chiamare quelli 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. Indica se trasmettere in streaming l'output di testo dal modello al client in modo incrementale man mano che viene generato. Il valore predefinito è false.

  • Se l'opzione è disattivata, l'output di testo del modello viene memorizzato nel buffer e ogni output di testo inviato al client è una frase completa. I client possono eseguire il rendering di ogni output di testo su una nuova riga.
  • Se abilitata, ogni output di testo può contenere solo una parte di una frase. I client devono concatenare gli output di testo consecutivi per visualizzare la risposta completa.

NOTA: questa funzionalità è supportata solo per le sessioni di testo (non vocali) che utilizzano sessions.streamRunSession o BidiRunSession.

config.includeLlmThoughtSummary

boolean

Facoltativo. Indica se includere i riepiloghi dei ragionamenti dell'LLM negli output della sessione.

config.excludeDiagnosticInfo

boolean

Facoltativo. Indica se escludere le informazioni diagnostiche dall'output della sessione.

config.includeProgressUpdate

boolean

Facoltativo. Indica se includere l'aggiornamento dell'elaborazione intermedia per il client. Se l'opzione è abilitata, l'aggiornamento verrà inviato nuovamente in SessionOutput.progress.

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.