- Recurso: AssistantSession
- AssistantMessage
- AssistantChunk
- TypedPayload
- AssistantSessionState
- UserResponseSuggestions
- AssistantSessionArtifact
- SessionCheckpoint
- ActiveTurnInfo
- ActiveTurnInfo.Status
- Métodos
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 ( |
| Campos | |
|---|---|
name |
Obligatorio. Es el identificador. Es el identificador único de la sesión. Formato: |
requestor |
Solo salida. Es el usuario que inició la sesión. |
messages[] |
Es opcional. Es el historial de mensajes de la sesión. |
state |
Solo salida. Es el estado de la sesión de asistente. |
createTime |
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: |
updateTime |
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: |
userResponseSuggestions |
Solo salida. Son las respuestas sugeridas del usuario del agente de asistencia. |
displayName |
Es opcional. Es el nombre visible de la sesión de asistencia. |
artifacts[] |
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 |
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 |
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[] |
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: |
AssistantMessage
Es un mensaje en una sesión de asistente.
| Representación JSON |
|---|
{
"role": string,
"chunks": [
{
object ( |
| Campos | |
|---|---|
role |
Obligatorio. Es el rol dentro de la conversación "user" o "model". |
chunks[] |
Es opcional. Contenido del mensaje como fragmentos. |
eventTime |
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: |
attachedGcsUris[] |
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 ( |
| Campos | |
|---|---|
createTime |
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: |
| 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 |
Es opcional. Datos de texto. |
thought |
Es opcional. Pensamiento generado por el modelo. |
payload |
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 |
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 |
Obligatorio. Es el nombre visible de la carga útil. |
type |
Obligatorio. Es el tipo de carga útil. |
value |
Obligatorio. Es el valor de la carga útil. |
metadata |
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[] |
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 |
Solo salida. Es el identificador único del artefacto dentro de la sesión. |
displayName |
Solo salida. Es el nombre del archivo que se muestra al usuario, p.ej., "hotel_booking_tdd.md". |
gcsUri |
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 |
Solo salida. Es el tipo de medio de IANA del contenido del artefacto, p.ej., "text/markdown". |
createTime |
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: |
turnIndex |
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 |
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 ( |
| Campos | |
|---|---|
turnId |
Identifica el turno; se repite en las instantáneas de reanudación de la API de transmisión. |
status |
Es el estado actual del archivo adjunto. |
startTime |
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: |
lastProgressTime |
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: |
orphanDeadlineTime |
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: |
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 |
|
|---|---|
|
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. |
|
Crea una nueva sesión de asistente en la app determinada. |
|
Borra la sesión de asistente especificada. |
|
Obtiene detalles de la sesión de asistente especificada. |
|
Enumera todas las sesiones de asistente en la app determinada. |
|
Ejecuta Arc, el asistente de IA, para la sesión de asistente especificada en un formato de transmisión. |