REST Resource: projects.locations.apps.assistantSessions

Recurso: AssistantSession

Uma sessão do assistente representa uma conversa entre um usuário e o agente assistente.

Representação 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

Obrigatório. Identificador. O identificador exclusivo da sessão. Formato: projects/{project}/locations/{location}/apps/{app}/assistantSessions/{session}

requestor

string

Apenas saída. O usuário que iniciou a sessão.

messages[]

object (AssistantMessage)

Opcional. Histórico de mensagens na sessão.

state

enum (AssistantSessionState)

Apenas saída. O status da sessão do assistente.

createTime

string (Timestamp format)

Apenas saída. A hora em que a sessão do assistente foi criada.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. A hora em que a sessão do assistente foi atualizada pela última vez.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

userResponseSuggestions

object (UserResponseSuggestions)

Apenas saída. Respostas sugeridas do usuário pelo agente assistente.

displayName

string

Opcional. O nome de exibição da sessão do assistente.

artifacts[]

object (AssistantSessionArtifact)

Apenas saída. Artefatos de documentos (por exemplo, TDDs gerados em markdown) produzidos pelo assistente nesta sessão. Apenas ponteiros. O conteúdo do arquivo fica no bucket do Cloud Storage do cliente.

sessionCheckpoint

object (SessionCheckpoint)

Apenas saída. Ponto de verificação da sessão que contém a intenção do usuário e o resumo do histórico contínuo.

activeTurn

object (ActiveTurnInfo)

Apenas saída. Informações de anexo para a vez em execução desta sessão. Não definido quando nenhuma curva está em execução.

touchedApps[]

string

Apenas saída. Apps que essa sessão segmentou ou mudou (somente sessões com escopo de projeto), para tags de histórico. Formato: projects/{project}/locations/{location}/apps/{app}

AssistantMessage

Uma mensagem em uma sessão do assistente.

Representação JSON
{
  "role": string,
  "chunks": [
    {
      object (AssistantChunk)
    }
  ],
  "eventTime": string,
  "attachedGcsUris": [
    string
  ]
}
Campos
role

string

Obrigatório. Função na conversa "usuário" ou "modelo".

chunks[]

object (AssistantChunk)

Opcional. Conteúdo da mensagem como blocos.

eventTime

string (Timestamp format)

Obrigatório. Carimbo de data/hora de quando a mensagem foi enviada ou recebida.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

attachedGcsUris[]

string

Opcional. URIs do Cloud Storage para arquivos enviados pelo usuário durante essa rodada. Isso permite que os anexos sejam mantidos e renderizados na UI do histórico de sessões. Exemplo: "gs://cxas-transient-uploads/uuid/prd.pdf"

AssistantChunk

Um bloco de dados em uma mensagem do assistente.

Representação 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)

Opcional. Carimbo de data/hora de quando o bloco foi criado ou emitido.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Dados no bloco. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
text

string

Opcional. Dados de texto.

thought

string

Opcional. Pensamento gerado pelo modelo.

payload

object (Struct format)

Opcional. Payload que contém respostas estruturadas, como o relatório de qualidade, o nome da versão do agente, as respostas sugeridas etc.

typedPayload

object (TypedPayload)

Opcional. Payload digitado que contém respostas estruturadas.

Fim dos campos mutuamente exclusivos.

TypedPayload

Payload com um tipo. Usado pelo histórico do assistente (AssistantChunk) e pelo evento de streaming typedPayload. Ele fica aqui porque tanto assistant_service.proto quanto session_service.proto precisam dele.

Representação JSON
{
  "displayName": string,
  "type": string,
  "value": {
    object
  },
  "metadata": {
    object
  }
}
Campos
displayName

string

Obrigatório. O nome de exibição do payload.

type

string

Obrigatório. O tipo do payload.

value

object (Struct format)

Obrigatório. O valor do payload.

metadata

object (Struct format)

Opcional. Os metadados do payload.

AssistantSessionState

O status da sessão do assistente.

Tipos enumerados
ASSISTANT_SESSION_STATE_UNSPECIFIED O valor padrão. Esse valor será usado se o status não for especificado.
PROCESSING O agente assistente está processando a solicitação como uma tarefa de longa duração.
IDLE O agente assistente está inativo e não tem solicitações ou respostas pendentes.
PENDING_REVIEW O agente assistente terminou de processar uma tarefa de longa duração e tem uma resposta pronta para o usuário.

UserResponseSuggestions

Respostas sugeridas do usuário pelo agente assistente.

Representação JSON
{
  "suggestions": [
    string
  ]
}
Campos
suggestions[]

string

Obrigatório. As respostas do usuário sugeridas pelo assistente. São sugestões para o usuário sobre como interagir com o assistente.

AssistantSessionArtifact

Um artefato de documento gerado pelo assistente em uma sessão, armazenado como um arquivo no bucket do Cloud Storage do cliente.

Representação JSON
{
  "id": string,
  "displayName": string,
  "gcsUri": string,
  "mimeType": string,
  "createTime": string,
  "turnIndex": integer
}
Campos
id

string

Apenas saída. O identificador exclusivo do artefato na sessão.

displayName

string

Apenas saída. O nome do arquivo mostrado ao usuário, por exemplo, "hotel_booking_tdd.md".

gcsUri

string

Apenas saída. O objeto do Cloud Storage que contém o conteúdo do artefato. Exemplo: "gs://{project}-agent-assist-artifacts/agent-assist-generated/1_tdd.md"

mimeType

string

Apenas saída. O tipo de mídia IANA do conteúdo do artefato, por exemplo, "text/markdown".

createTime

string (Timestamp format)

Apenas saída. Quando o artefato foi mantido.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

turnIndex

integer

Apenas saída. Índice da mensagem em [AssistantSession.messages] que produziu o artefato, para colocar o ícone do artefato quando o histórico for restaurado.

SessionCheckpoint

Checkpoint da sessão que contém a intenção do usuário inferida para o título da sessão e UI.

Representação JSON
{
  "userIntent": string
}
Campos
userIntent

string

Meta ou tópico inferido do usuário para a sessão (por exemplo, "Criar um agente de suporte de e-commerce").

ActiveTurnInfo

Informações de anexo em tempo real para uma sessão que está em execução, desconectada do cliente ou estacionada para ser retirada por outra tarefa do servidor.

Representação JSON
{
  "turnId": string,
  "status": enum (ActiveTurnInfo.Status),
  "startTime": string,
  "lastProgressTime": string,
  "orphanDeadlineTime": string
}
Campos
turnId

string

Identifica a vez. É repetido por snapshots de retomada na API de streaming.

status

enum (ActiveTurnInfo.Status)

Status atual do anexo.

startTime

string (Timestamp format)

Apenas saída. Quando a vez começou.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

lastProgressTime

string (Timestamp format)

Apenas saída. Quando o turno persistiu o progresso pela última vez.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

orphanDeadlineTime

string (Timestamp format)

Apenas saída. Quando a vez será encerrada se nenhum cliente se conectar.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

ActiveTurnInfo.Status

Como a vez em andamento se relaciona com as tarefas do cliente e do servidor.

Tipos enumerados
STATUS_UNSPECIFIED Não especificado.
RUNNING A rodada está sendo executada com pelo menos um cliente conectado.
DISCONNECTED A vez está sendo executada sem nenhum cliente anexado.
RESUMING A vez é estacionada para retirada: a próxima anexação continua.
ABANDONED A concessão do servidor da rodada expirou, e nenhuma tarefa está conduzindo-a. A próxima leitura a sela para uma parcial confirmada. Não é possível anexar.

Métodos

cancelAssistantTurn

Cancela a vez em andamento da sessão do assistente, se houver: a interrupção explícita do usuário para uma vez em execução separada de qualquer stream.

create

Cria uma nova sessão do assistente no app especificado.

delete

Exclui a sessão do assistente especificada.

get

Recebe detalhes da sessão do assistente especificada.

list

Lista todas as sessões do assistente no app especificado.

streamChatAiAssistant

Executa o Arc, o assistente de IA, para a sessão de assistente especificada em um modo de streaming.