REST Resource: projects.locations.apps.assistantSessions

Recurso: AssistantSession

Una sesión de asistente representa una conversación entre un usuario y el agente de asistencia.

Representación JSON
{
  "name": string,
  "requestor": string,
  "messages": [
    {
      object (AssistantMessage)
    }
  ],
  "state": enum (AssistantSessionState),
  "createTime": string,
  "updateTime": string,
  "userResponseSuggestions": {
    object (UserResponseSuggestions)
  },
  "displayName": string,
  "artifacts": [
    {
      object (AssistantSessionArtifact)
    }
  ],
  "sessionCheckpoint": {
    object (SessionCheckpoint)
  },
  "activeTurn": {
    object (ActiveTurnInfo)
  },
  "touchedApps": [
    string
  ]
}
Campos
name

string

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

requestor

string

Solo salida. Es el usuario que inició la sesión.

messages[]

object (AssistantMessage)

Es opcional. Es el historial de mensajes de la sesión.

state

enum (AssistantSessionState)

Solo salida. Es el estado de la sesión de asistente.

createTime

string (Timestamp format)

Solo salida. Es la hora en la que se creó la sesión de asistencia.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. La hora en la que se actualizó la sesión del asistente por última vez.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

userResponseSuggestions

object (UserResponseSuggestions)

Solo salida. Son las respuestas sugeridas del usuario del agente de asistencia.

displayName

string

Es opcional. Es el nombre visible de la sesión de asistencia.

artifacts[]

object (AssistantSessionArtifact)

Solo salida. Artefactos de documentos (p.ej., TDD generados en Markdown) producidos por el asistente en esta sesión. Solo punteros; el contenido del archivo se encuentra en el bucket de Cloud Storage del cliente.

sessionCheckpoint

object (SessionCheckpoint)

Solo salida. Es el punto de control de la sesión que contiene la intención del usuario y el resumen del historial continuo.

activeTurn

object (ActiveTurnInfo)

Solo salida. Información del archivo adjunto para el turno que se está ejecutando actualmente en esta sesión. No se establece cuando no se está ejecutando ningún turno.

touchedApps[]

string

Solo salida. Son las apps a las que se orientó o que se cambiaron en esta sesión (solo para sesiones con alcance de proyecto), para las etiquetas de historial. Formato: projects/{project}/locations/{location}/apps/{app}

AssistantMessage

Es un mensaje en una sesión de asistente.

Representación JSON
{
  "role": string,
  "chunks": [
    {
      object (AssistantChunk)
    }
  ],
  "eventTime": string,
  "attachedGcsUris": [
    string
  ]
}
Campos
role

string

Obligatorio. Es el rol dentro de la conversación "user" o "model".

chunks[]

object (AssistantChunk)

Es opcional. Contenido del mensaje como fragmentos.

eventTime

string (Timestamp format)

Obligatorio. Es la marca de tiempo del momento en que se envió o recibió el mensaje.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

attachedGcsUris[]

string

Es opcional. Son los URIs de Cloud Storage para los archivos que subió el usuario durante este turno. Esto permite que los archivos adjuntos se conserven y se rendericen en la IU del historial de sesiones. Ejemplo: "gs://cxas-transient-uploads/uuid/prd.pdf"

AssistantChunk

Un fragmento de datos en un mensaje del asistente.

Representación JSON
{
  "createTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": string,
  "thought": string,
  "payload": {
    object
  },
  "typedPayload": {
    object (TypedPayload)
  }
  // End of mutually exclusive fields.
}
Campos
createTime

string (Timestamp format)

Es opcional. Es la marca de tiempo de cuando se creó o emitió el fragmento.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Son los datos del fragmento. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
text

string

Es opcional. Datos de texto.

thought

string

Es opcional. Pensamiento generado por el modelo.

payload

object (Struct format)

Es opcional. Carga útil que contiene respuestas estructuradas, como el informe de calidad, el nombre de la versión del agente, las respuestas sugeridas, etcétera.

typedPayload

object (TypedPayload)

Es opcional. Es la carga útil con tipo que contiene respuestas estructuradas.

Fin de los campos mutuamente excluyentes.

TypedPayload

Carga útil con un tipo. Lo usa el historial del asistente (AssistantChunk) y el evento de transmisión typedPayload. Se encuentra aquí porque tanto assistant_service.proto como session_service.proto lo necesitan.

Representación JSON
{
  "displayName": string,
  "type": string,
  "value": {
    object
  },
  "metadata": {
    object
  }
}
Campos
displayName

string

Obligatorio. Es el nombre visible de la carga útil.

type

string

Obligatorio. Es el tipo de carga útil.

value

object (Struct format)

Obligatorio. Es el valor de la carga útil.

metadata

object (Struct format)

Es opcional. Son los metadatos de la carga útil.

AssistantSessionState

Es el estado de la sesión de asistente.

Enums
ASSISTANT_SESSION_STATE_UNSPECIFIED Es el valor predeterminado. Este valor se usa si no se especifica el estado.
PROCESSING El agente asistente está procesando la solicitud como una tarea de larga duración.
IDLE El agente asistente está inactivo y no tiene solicitudes ni respuestas pendientes.
PENDING_REVIEW El agente asistente terminó de procesar una tarea de larga duración y tiene una respuesta lista para el usuario.

UserResponseSuggestions

Son las respuestas sugeridas del usuario del agente de asistencia.

Representación JSON
{
  "suggestions": [
    string
  ]
}
Campos
suggestions[]

string

Obligatorio. El asistente sugirió respuestas del usuario. Estas son sugerencias para el usuario sobre cómo interactuar con el asistente.

AssistantSessionArtifact

Es un artefacto de documento que genera el asistente dentro de una sesión y que se almacena como un archivo en el bucket de Cloud Storage del cliente.

Representación JSON
{
  "id": string,
  "displayName": string,
  "gcsUri": string,
  "mimeType": string,
  "createTime": string,
  "turnIndex": integer
}
Campos
id

string

Solo salida. Es el identificador único del artefacto dentro de la sesión.

displayName

string

Solo salida. Es el nombre del archivo que se muestra al usuario, p.ej., "hotel_booking_tdd.md".

gcsUri

string

Solo salida. Es el objeto de Cloud Storage que contiene el contenido del artefacto. Ejemplo: "gs://{project}-agent-assist-artifacts/agent-assist-generated/1_tdd.md"

mimeType

string

Solo salida. Es el tipo de medio de IANA del contenido del artefacto, p.ej., "text/markdown".

createTime

string (Timestamp format)

Solo salida. Cuándo se conservó el artefacto.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

turnIndex

integer

Solo salida. Es el índice del mensaje en [AssistantSession.messages] cuyo turno produjo el artefacto, para colocar el chip del artefacto cuando se restablece el historial.

SessionCheckpoint

Es el punto de control de la sesión que contiene la intención del usuario inferida para el título y la IU de la sesión.

Representación JSON
{
  "userIntent": string
}
Campos
userIntent

string

Es el objetivo o tema inferido del usuario para la sesión (p.ej., "Creación de un agente de asistencia para comercio electrónico").

ActiveTurnInfo

Información de conexión en vivo para un turno de sesión que se está ejecutando, que se desconectó de su cliente o que se estacionó para que lo recoja otra tarea del servidor.

Representación JSON
{
  "turnId": string,
  "status": enum (ActiveTurnInfo.Status),
  "startTime": string,
  "lastProgressTime": string,
  "orphanDeadlineTime": string
}
Campos
turnId

string

Identifica el turno; se repite en las instantáneas de reanudación de la API de transmisión.

status

enum (ActiveTurnInfo.Status)

Es el estado actual del archivo adjunto.

startTime

string (Timestamp format)

Solo salida. Cuándo comenzó el turno

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

lastProgressTime

string (Timestamp format)

Solo salida. Cuándo se guardó el progreso por última vez en el turno.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

orphanDeadlineTime

string (Timestamp format)

Solo salida. Cuándo se cerrará el turno si no se conecta ningún cliente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

ActiveTurnInfo.Status

Cómo se relaciona actualmente el turno en ejecución con los clientes y las tareas del servidor.

Enums
STATUS_UNSPECIFIED Sin especificar.
RUNNING El turno se está ejecutando con al menos un cliente conectado.
DISCONNECTED El turno se está ejecutando sin ningún cliente conectado.
RESUMING El turno se estaciona para la recogida: la siguiente conexión lo continúa.
ABANDONED El arrendamiento del servidor del turno venció y ninguna tarea lo controla. La próxima lectura lo sella como parcial confirmado. No se puede adjuntar.

Métodos

cancelAssistantTurn

Cancela el turno en curso de la sesión del asistente, si lo hay: la detención explícita del usuario para un turno que se ejecuta de forma independiente de cualquier transmisión.

create

Crea una nueva sesión de asistente en la app determinada.

delete

Borra la sesión de asistente especificada.

get

Obtiene detalles de la sesión de asistente especificada.

list

Enumera todas las sesiones de asistente en la app determinada.

streamChatAiAssistant

Ejecuta Arc, el asistente de IA, para la sesión de asistente especificada en un formato de transmisión.