Method: projects.locations.apps.sessions.streamRunSession

Inicia una interacción de un solo turno con el agente de CES. Usa la transmisión del servidor para entregar resultados incrementales y respuestas parciales a medida que se generan.

De forma predeterminada, las respuestas completas (p.ej., mensajes de devoluciones de llamada o respuestas completas de LLM) se envían al cliente en cuanto están disponibles. Para habilitar la transmisión de fragmentos de texto individuales directamente desde el modelo, establece enableTextStreaming en verdadero.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
config.session

string

Obligatorio. Es el identificador único de la sesión. Formato: projects/{project}/locations/{location}/apps/{app}/sessions/{session}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación 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)
    }
  ]
}
Campos
config.inputAudioConfig

object (InputAudioConfig)

Es opcional. Es la configuración para procesar el audio de entrada.

config.outputAudioConfig

object (OutputAudioConfig)

Es opcional. Es la configuración para generar el audio de salida.

config.historicalContexts[]

object (Message)

Es opcional. Es el contexto histórico de la sesión, incluidas las entradas del usuario, las respuestas del agente y otros mensajes. Por lo general, el agente de CES administraría la sesión automáticamente, por lo que el cliente no necesita propagar este campo de forma explícita. Sin embargo, el cliente puede anular de forma opcional los contextos históricos para forzar el inicio de la sesión desde un estado determinado.

config.entryAgent

string

Es opcional. Es el agente de entrada para controlar la sesión. Si no se especifica, la sesión la controlará el root agent de la app. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

config.deployment

string

Es opcional. Es la implementación de la app que se usará para la sesión. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

config.timeZone

string

Es opcional. Es la zona horaria del usuario. Si se proporciona, el agente usará la zona horaria para las variables relacionadas con la fecha y la hora. De lo contrario, el agente usará la zona horaria especificada en App.time_zone_settings.

El formato es la zona horaria de la base de datos de zonas horarias de IANA, p.ej., "America/Los_Angeles".

config.useToolFakes

boolean

Es opcional. Indica si se deben usar falsificaciones de herramientas para la sesión. Si se configura este campo, el agente intentará usar falsificaciones de herramientas en lugar de llamar a las herramientas reales.

config.remoteDialogflowQueryParameters

object (SessionConfig.RemoteDialogflowQueryParameters)

Es opcional. QueryParameters son los parámetros de consulta que se enviarán al agente de Dialogflow remoto cuando el control de la sesión se transfiera al agente remoto.

config.enableTextStreaming

boolean

Es opcional. Indica si se deben habilitar las salidas de texto de transmisión desde el modelo. De forma predeterminada, las salidas de texto del modelo se recopilan antes de enviarlas al cliente. NOTA: Esto solo es compatible con sesiones de texto (no de voz) a través de sessions.streamRunSession o BidiRunSession.

config.excludeDiagnosticInfo

boolean

Es opcional. Indica si se debe excluir la información de diagnóstico del resultado de la sesión.

inputs[]

object (SessionInput)

Obligatorio. Son las entradas para la sesión.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contiene un flujo de instancias de RunSessionResponse.

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

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

Para obtener más información, consulta Authentication Overview.

Permisos de IAM

Se requiere el siguiente permiso de IAM en el recurso session:

  • ces.sessions.runSession

Para obtener más información, consulta la documentación de IAM.