REST Resource: projects.locations.apps.assistantSessions

Risorsa: AssistantSession

Una sessione dell'assistente rappresenta una conversazione tra un utente e l'agente dell'assistente.

Rappresentazione 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
  ]
}
Campi
name

string

Obbligatorio. Identificatore. L'identificatore univoco della sessione. Formato: projects/{project}/locations/{location}/apps/{app}/assistantSessions/{session}

requestor

string

Solo output. L'utente che ha avviato la sessione.

messages[]

object (AssistantMessage)

Facoltativo. Cronologia dei messaggi della sessione.

state

enum (AssistantSessionState)

Solo output. Lo stato della sessione dell'assistente.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata la sessione dell'assistente.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. L'ora dell'ultimo aggiornamento della sessione dell'assistente.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

userResponseSuggestions

object (UserResponseSuggestions)

Solo output. Risposte utente suggerite dall'agente dell'assistente.

displayName

string

Facoltativo. Il nome visualizzato della sessione dell'assistente.

artifacts[]

object (AssistantSessionArtifact)

Solo output. Artefatti dei documenti (ad es. TDD generati in markdown) prodotti dall'assistente in questa sessione. Solo puntatori; i contenuti dei file si trovano nel bucket Cloud Storage del cliente.

sessionCheckpoint

object (SessionCheckpoint)

Solo output. Checkpoint della sessione contenente l'intent dell'utente e il riepilogo della cronologia in sequenza.

activeTurn

object (ActiveTurnInfo)

Solo output. Informazioni sull'allegato per il turno attualmente in esecuzione di questa sessione. Non impostato quando non è in esecuzione alcun turno.

touchedApps[]

string

Solo output. App che questa sessione ha scelto come target o modificato (solo sessioni con ambito di progetto), per i tag della cronologia. Formato: projects/{project}/locations/{location}/apps/{app}

AssistantMessage

Un messaggio in una sessione dell'assistente.

Rappresentazione JSON
{
  "role": string,
  "chunks": [
    {
      object (AssistantChunk)
    }
  ],
  "eventTime": string,
  "attachedGcsUris": [
    string
  ]
}
Campi
role

string

Obbligatorio. Ruolo all'interno della conversazione "user" o "model".

chunks[]

object (AssistantChunk)

Facoltativo. Contenuto del messaggio sotto forma di blocchi.

eventTime

string (Timestamp format)

Obbligatorio. Timestamp di invio o ricezione del messaggio.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

attachedGcsUris[]

string

Facoltativo. URI Cloud Storage per i file caricati dall'utente durante questo turno. In questo modo, gli allegati possono essere mantenuti e visualizzati nell'interfaccia utente della cronologia della sessione. Esempio: "gs://cxas-transient-uploads/uuid/prd.pdf"

AssistantChunk

Un blocco di dati in un messaggio dell'assistente.

Rappresentazione 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.
}
Campi
createTime

string (Timestamp format)

Facoltativo. Timestamp di creazione o emissione del chunk.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Dati nel chunk. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
text

string

Facoltativo. Dati di testo.

thought

string

Facoltativo. Pensiero generato dal modello.

payload

object (Struct format)

Facoltativo. Payload che contiene risposte strutturate come il report sulla qualità, il nome della versione dell'agente, le risposte suggerite e così via.

typedPayload

object (TypedPayload)

Facoltativo. Payload digitato contenente risposte strutturate.

Fine dei campi che si escludono a vicenda.

TypedPayload

Payload con un tipo. Utilizzato dalla cronologia dell'assistente (AssistantChunk) e dall'evento di streaming typedPayload; si trova qui perché è necessario sia per assistant_service.proto che per session_service.proto.

Rappresentazione JSON
{
  "displayName": string,
  "type": string,
  "value": {
    object
  },
  "metadata": {
    object
  }
}
Campi
displayName

string

Obbligatorio. Il nome visualizzato del payload.

type

string

Obbligatorio. Il tipo di payload.

value

object (Struct format)

Obbligatorio. Il valore del payload.

metadata

object (Struct format)

Facoltativo. I metadati del payload.

AssistantSessionState

Lo stato della sessione dell'assistente.

Enum
ASSISTANT_SESSION_STATE_UNSPECIFIED Il valore predefinito. Questo valore viene utilizzato se lo stato non è specificato.
PROCESSING L'agente assistente sta elaborando la richiesta come un'attività a lunga esecuzione.
IDLE L'agente assistente è inattivo e non ha richieste o risposte in attesa.
PENDING_REVIEW L'agente assistente ha terminato l'elaborazione di un'attività a lunga esecuzione e ha una risposta pronta per l'utente.

UserResponseSuggestions

Risposte utente suggerite dall'agente dell'assistente.

Rappresentazione JSON
{
  "suggestions": [
    string
  ]
}
Campi
suggestions[]

string

Obbligatorio. Le risposte utente suggerite dall'assistente. Si tratta di suggerimenti per l'utente su come interagire con l'assistente.

AssistantSessionArtifact

Un artefatto di documento generato dall'assistente all'interno di una sessione, archiviato come file nel bucket Cloud Storage del cliente.

Rappresentazione JSON
{
  "id": string,
  "displayName": string,
  "gcsUri": string,
  "mimeType": string,
  "createTime": string,
  "turnIndex": integer
}
Campi
id

string

Solo output. L'identificatore univoco dell'artefatto all'interno della sessione.

displayName

string

Solo output. Il nome file mostrato all'utente, ad esempio "hotel_booking_tdd.md".

gcsUri

string

Solo output. L'oggetto Cloud Storage che contiene i contenuti dell'artefatto. Esempio: "gs://{project}-agent-assist-artifacts/agent-assist-generated/1_tdd.md"

mimeType

string

Solo output. Il tipo di media IANA dei contenuti dell'artefatto, ad esempio "text/markdown".

createTime

string (Timestamp format)

Solo output. Quando l'artefatto è stato reso persistente.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

turnIndex

integer

Solo output. Indice del messaggio in [AssistantSession.messages] il cui turno ha prodotto l'artefatto, per posizionare il chip dell'artefatto quando la cronologia viene ripristinata.

SessionCheckpoint

Checkpoint della sessione contenente l'user intent dedotto per il titolo della sessione e l'UI.

Rappresentazione JSON
{
  "userIntent": string
}
Campi
userIntent

string

Argomento o obiettivo dell'utente dedotto per la sessione (ad es. "Creazione di un agente di assistenza per l'e-commerce").

ActiveTurnInfo

Informazioni sul collegamento in tempo reale per un turno di sessione attualmente in esecuzione, disconnesso dal client o parcheggiato per essere prelevato da un'altra attività del server.

Rappresentazione JSON
{
  "turnId": string,
  "status": enum (ActiveTurnInfo.Status),
  "startTime": string,
  "lastProgressTime": string,
  "orphanDeadlineTime": string
}
Campi
turnId

string

Identifica il turno; viene ripetuto dagli snapshot di ripresa nell'API di streaming.

status

enum (ActiveTurnInfo.Status)

Stato attuale dell'allegato.

startTime

string (Timestamp format)

Solo output. Quando è iniziato il turno.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

lastProgressTime

string (Timestamp format)

Solo output. Data e ora dell'ultimo salvataggio dei progressi del turno.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

orphanDeadlineTime

string (Timestamp format)

Solo output. Quando il turno verrà chiuso se non si connette nessun client.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

ActiveTurnInfo.Status

In che modo il turno in corso è attualmente correlato ai client e alle attività del server.

Enum
STATUS_UNSPECIFIED Non specificato.
RUNNING Il turno è in esecuzione con almeno un client collegato.
DISCONNECTED Il turno è in esecuzione senza client collegato.
RESUMING Il turno è parcheggiato per il ritiro: il collegamento successivo lo continua.
ABANDONED Il lease del server del turno è scaduto e nessuna attività lo sta gestendo; la lettura successiva lo sigilla in un parziale confermato. Non collegabile.

Metodi

cancelAssistantTurn

Annulla il turno in corso della sessione dell'assistente, se presente: l'interruzione esplicita dell'utente per un turno in esecuzione scollegato da qualsiasi stream.

create

Crea una nuova sessione dell'assistente nell'app specificata.

delete

Elimina la sessione dell'assistente specificata.

get

Recupera i dettagli della sessione dell'assistente specificata.

list

Elenca tutte le sessioni dell'assistente nell'app specificata.

streamChatAiAssistant

Esegue Arc, l'assistente AI, per la sessione dell'assistente specificata in modalità di streaming.