Method: projects.locations.collections.engines.assistants.streamAssist

Aiuta l'utente con una query in modalità di streaming.

Richiesta HTTP

POST https://discoveryengine.googleapis.com/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
name

string

Obbligatorio. Il nome della risorsa di Assistant. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "query": {
    object (Query)
  },
  "answerGenerationMode": enum (AnswerGenerationMode),
  "session": string,
  "assistSkippingMode": enum (AssistSkippingMode),
  "fileIds": [
    string
  ],
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "languageCode": string,
  "googleSearchGroundingEnabled": boolean,
  "webGroundingEnabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "agentsConfig": {
    object (AgentsConfig)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "assistGenerationConfig": {
    object (AssistGenerationConfig)
  },
  "cannedQuery": string,
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
Campi
query

object (Query)

Facoltativo. Query utente corrente.

La query vuota è supportata solo se vengono forniti fileIds. In questo caso, la risposta verrà generata in base a questi file di contesto.

answerGenerationMode

enum (AnswerGenerationMode)

Facoltativo. La modalità di generazione delle risposte. Se non specificato, il valore predefinito è NORMAL.

session

string

Facoltativo. La sessione da utilizzare per la richiesta. Se specificato, l'assistente ha accesso alla cronologia della sessione e la query e la risposta vengono memorizzate.

Se - viene specificato come ID sessione o viene lasciato vuoto, viene creata una nuova sessione con un ID generato automaticamente.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}

assistSkippingMode

enum (AssistSkippingMode)

Facoltativo. Determina i casi in cui l'assistente non risponderà alla query. Se la risposta viene ignorata, i motivi verranno elencati in AssistAnswer.assist_skipped_reasons entro AssistResponse.answer.

fileIds[]

string

Facoltativo. Gli ID dei file da utilizzare per rispondere alla richiesta. Quando carichi un file, il suo ID viene restituito in AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Facoltativo. Informazioni sull'utente che avvia la query.

languageCode
(deprecated)

string

Facoltativo. Deprecato. Utilizza [preferredLanguageCode][UserMetadata.preferred_language_code]. Lingua da utilizzare per rispondere se il rilevamento della lingua non va a buon fine. Utilizzata anche come lingua dei messaggi di errore creati dalle azioni, indipendentemente dai risultati del rilevamento della lingua.

googleSearchGroundingEnabled
(deprecated)

boolean

Facoltativo. Deprecato. Evita di utilizzare questo campo.

webGroundingEnabled
(deprecated)

boolean

Facoltativo. Deprecato. Evita di utilizzare questo campo.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Facoltativo. Deprecato: utilizza [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs]. Specifiche che definiscono i DataStore su cui filtrare in una chiamata di ricerca e le configurazioni per questi datastore. Questo aspetto viene preso in considerazione solo per i Engine con più datastore.

Se questo campo non viene impostato, verranno utilizzati tutti i datastore nel motore, tranne quando ignoreDataStores è impostato su true.

agentsConfig

object (AgentsConfig)

Facoltativo. Configurazione degli agenti utilizzati per gestire la richiesta.

agentsSpec

object (AgentsSpec)

Facoltativo. Specifica degli agenti utilizzati per gestire la richiesta.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Facoltativo. Deprecato. Utilizza invece generationSpec. Configurazione della generazione a livello di richiesta. Viene utilizzato per sostituire la configurazione di generazione predefinita a livello di motore.

cannedQuery

string

Facoltativo. Il nome della risorsa di CannedQuery per questa richiesta. Questo parametro può essere impostato solo se la sessione è nuova, altrimenti viene restituito un errore INVALID_ARGUMENT.

Una sessione viene considerata nuova se viene fornito un StreamAssistRequest.session e il Session corrispondente non contiene turni oppure se non viene fornito alcun StreamAssistRequest.session (e viene creato un nuovo Session).

Se viene fornito il parametro cannedQuery, il parametro CannedQuery corrispondente verrà preso in considerazione durante l'elaborazione. Il comportamento esatto è descritto e documentato in CannedQuery.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/cannedQueries/{cannedQuery}

toolsSpec

object (ToolsSpec)

Facoltativo. Specifica degli strumenti utilizzati per gestire la richiesta.

generationSpec

object (GenerationSpec)

Facoltativo. Specifica della configurazione di generazione per la richiesta.

Corpo della risposta

Risposta per il metodo AssistantService.StreamAssist.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Campi
answer

object (AssistAnswer)

Oggetto risorsa assistants.assist answer contenente parti della risposta finale dell'assistente alla query dell'utente.

Non presente se la risposta attuale non aggiunge nulla a AssistAnswer.replies inviato in precedenza.

Osserva AssistAnswer.state per vedere se sono previste altre parti. Mentre lo stato è IN_PROGRESS, il campo AssistAnswer.replies di ogni risposta conterrà le risposte (frammenti di risposta) da aggiungere a quelle ricevute nelle risposte precedenti. AssistAnswer.name non verrà compilato.

Se lo stato è SUCCEEDED, FAILED o SKIPPED, la risposta è l'ultima risposta e AssistAnswer.name avrà un valore.

sessionInfo

object (SessionInfo)

Informazioni sulla sessione. Incluso solo nella risposta StreamAssistResponse finale del flusso di risposte.

statusUpdates[]

object (StatusUpdate)

Aggiornamenti facoltativi sullo stato di avanzamento.

assistToken

string

Un ID univoco globale che identifica la coppia corrente di richiesta e flusso di risposte. Utilizzato per feedback e assistenza.

toolResult[]
(deprecated)

object (ToolResult)

Risultati delle chiamate agli strumenti.

finalResultToolInvocationId

string

Se questo campo è presente, contiene l'ID della chiamata dello strumento il cui risultato viene utilizzato come risposta finale.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.assist.readwrite

Per ulteriori informazioni, consulta Authentication Overview.

Autorizzazioni IAM

Richiede la seguente autorizzazione IAM per la risorsa name:

  • discoveryengine.assistants.assist

Per saperne di più, consulta la documentazione di IAM.

AnswerGenerationMode

Modalità di generazione delle risposte disponibili.

Enum
ANSWER_GENERATION_MODE_UNSPECIFIED Modalità di generazione della risposta non specificata.
NORMAL Modalità di generazione delle risposte normale. Potrebbe attivare alcune ricerche e azioni di chiamata.
RESEARCH Modalità di generazione delle risposte della ricerca. Approfondimenti sulla query, che attivano molte ricerche per un'ampia gamma di argomenti correlati.
AGENT Modalità di generazione della risposta dell'agente. Utilizza un agente definito in agentsConfig per generare la risposta.

AssistSkippingMode

Comportamenti di salto disponibili per le richieste di assistenza.

Enum
ASSIST_SKIPPING_MODE_UNSPECIFIED Valore predefinito. La risposta può essere ignorata se la query non richiede assistenza.
REQUEST_ASSIST Richiedi la risposta dell'assistente. La risposta può comunque essere ignorata se la query non supera i controlli delle norme.

AgentsConfig

Configurazione degli agenti utilizzati per gestire la richiesta.

Rappresentazione JSON
{

  // Union field config can be only one of the following:
  "noCodeAgentsConfig": {
    object (NoCodeAgentsConfig)
  },
  "assistantAgentConfigId": string,
  "agent": string,
  "inlineAgent": {
    object (Agent)
  },
  "vertexAiAgentId": string
  // End of list of possible types for union field config.
}
Campi
Campo unione config. Configurazione dei diversi tipi di agenti. config può essere solo uno dei seguenti:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Facoltativo. Ritirato: configurazione per gli agenti Agentspace no-code. Se impostata, la richiesta assistants.assist verrà gestita in base alla configurazione. Utilizza invece agent.

assistantAgentConfigId

string

(Facoltativo) ID dell'agente di Assistant.agent_configs

agent

string

Il nome dell'agente da utilizzare. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

La definizione inline di Agent da utilizzare. Se fornito, verrà utilizzato un agente basato su questa definizione. Si tratta di una rappresentazione temporanea di un agente, il campo Agent.name verrà ignorato.

vertexAiAgentId

string

(Facoltativo) ID dell'agente di Assistant.vertex_ai_agent_configs. L'ID può essere il nome completo registrato nella configurazione o l'ultima parte dopo l'ultima barra.

NoCodeAgentsConfig

Ritirato: configurazione per gli agenti Agentspace no-code. Utilizza invece agent.

Rappresentazione JSON
{
  "agent": string
}
Campi
agent

string

Facoltativo. Il nome dell'agente da utilizzare.

AgentsSpec

Specifica degli agenti utilizzati per gestire la richiesta.

Rappresentazione JSON
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Campi
agentSpecs[]

object (AgentSpec)

Facoltativo. Specifica degli agenti utilizzati per gestire la richiesta.

AgentSpec

Specifica di un agente.

Rappresentazione JSON
{
  "agentId": string
}
Campi
agentId

string

Obbligatorio. ID per identificare la risorsa agente che gestisce la richiesta.

Questo campo deve essere conforme a RFC-1034 con un limite di lunghezza di 63 caratteri.

ToolsSpec

Specifica degli strumenti utilizzati per gestire la richiesta.

Rappresentazione JSON
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Campi
toolRegistry

string

Facoltativo. Il nome del registro degli strumenti da utilizzare. Formato: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Facoltativo. Specifica dello strumento Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Facoltativo. Specifica dello strumento di grounding web. Se il campo è presente, abilita il grounding con la ricerca web. Funziona solo se Assistant.web_grounding_type è [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] o [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].

imageGenerationSpec

object (ImageGenerationSpec)

Facoltativo. Specifica dello strumento di generazione di immagini.

videoGenerationSpec

object (VideoGenerationSpec)

Facoltativo. Specifica dello strumento di generazione dei video.

VertexAiSearchSpec

Specifica dello strumento Vertex AI Search.

Rappresentazione JSON
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Campi
disabled
(deprecated)

boolean

Facoltativo. Deprecato. Evita di utilizzare questo campo. Se lo strumento Vertex AI Search è disattivato. Il valore predefinito è false, lo strumento è abilitato per impostazione predefinita.

dataStoreSpecs[]

object (DataStoreSpec)

Facoltativo. Specifiche che definiscono i DataStore su cui filtrare in una chiamata di ricerca e le configurazioni per questi datastore. Questo aspetto viene preso in considerazione solo per i Engine con più datastore.

filter

string

Facoltativo. La sintassi del filtro è costituita da un linguaggio di espressione per costruire un predicato da uno o più campi dei documenti da filtrare. L'espressione del filtro è sensibile alle maiuscole.

Se questo campo non è riconoscibile, viene restituito un INVALID_ARGUMENT.

Il filtro in Vertex AI Search viene eseguito mappando la chiave del filtro LHS a una proprietà chiave definita nel backend di Vertex AI Search. Questa mappatura viene definita dal cliente nello schema. Ad esempio, un cliente del settore dei media potrebbe avere un campo "nome" nel proprio schema. In questo caso, il filtro sarà simile a questo: filter --> name:'ANY("king kong")'

Per saperne di più sul filtraggio, inclusi sintassi e operatori di filtro, consulta Filtro.

WebGroundingSpec

Questo tipo non contiene campi.

Specifica dello strumento di grounding web.

ImageGenerationSpec

Questo tipo non contiene campi.

Specifica dello strumento di generazione di immagini.

VideoGenerationSpec

Questo tipo non contiene campi.

Specifica dello strumento di generazione dei video.

GenerationSpec

Specifica di generazione dell'assistente per la richiesta. Ciò consente di eseguire l'override della configurazione di generazione predefinita a livello di motore.

Rappresentazione JSON
{
  "modelId": string
}
Campi
modelId

string

Facoltativo. L'ID modello Vertex AI utilizzato per il modello generativo. Se non impostato, verrà utilizzato il modello dell'assistente predefinito.

SessionInfo

Informazioni sulla sessione.

Rappresentazione JSON
{
  "session": string,
  "queryId": string
}
Campi
session

string

Nome della sessione appena generata o continuata.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}.

queryId

string

ID query corrispondente a questa chiamata API Assist. Una sessione può avere più turni, ognuno con un ID query univoco.

Se specifichi il nome della sessione e questo ID query nella chiamata API assistants.assist, la richiesta di assistenza viene eseguita nel contesto dei risultati di ricerca di questa chiamata di ricerca.

StatusUpdate

Aggiornamento sullo stato di avanzamento della chiamata di assistenza.

Rappresentazione JSON
{
  "updateText": string,
  "invocationId": string
}
Campi
updateText

string

Aggiornamento dello stato di testo libero, ad es. "Avvio della ricerca interna nei documenti delle RU per i benefit" o "La ricerca web di "allunaggio" ha restituito 12 risultati".

invocationId

string

Identificatore univoco dell'invocazione che genera l'aggiornamento.

ToolResult

Risultato (parziale) dell'invocazione di uno strumento.

Rappresentazione JSON
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Campi
toolInvocationId

string

Identificatore univoco dell'invocazione dello strumento che genera il risultato.

result

object (Reply)

Contenuto parziale del risultato.