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

Aide l'utilisateur à répondre à une requête en streaming.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
name

string

Obligatoire. Nom de ressource du Assistant. Format : projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation 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)
  }
}
Champs
query

object (Query)

Facultatif. Requête de l'utilisateur actuel.

Les requêtes vides ne sont acceptées que si des fileIds sont fournis. Dans ce cas, la réponse sera générée en fonction de ces fichiers contextuels.

answerGenerationMode

enum (AnswerGenerationMode)

Facultatif. Mode de génération des réponses. Si aucune valeur n'est spécifiée, la valeur par défaut est NORMAL.

session

string

Facultatif. Session à utiliser pour la requête. Si cette option est spécifiée, l'assistant a accès à l'historique des sessions, et la requête et la réponse y sont stockées.

Si - est spécifié comme ID de session ou s'il est laissé vide, une nouvelle session est créée avec un ID généré automatiquement.

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

assistSkippingMode

enum (AssistSkippingMode)

Facultatif. Détermine les cas dans lesquels l'assistant ne répondra pas à la requête. Si la réponse est ignorée, les raisons seront listées dans AssistAnswer.assist_skipped_reasons au sein de AssistResponse.answer.

fileIds[]

string

Facultatif. ID des fichiers à utiliser pour répondre à la demande. Lorsque vous importez un fichier, son ID est renvoyé dans AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Facultatif. Informations sur l'utilisateur qui lance la requête.

languageCode
(deprecated)

string

Facultatif. Obsolète. Utilisez [preferredLanguageCode][UserMetadata.preferred_language_code] à la place. Langue à utiliser pour répondre si la détection de la langue échoue. Également utilisé comme langue des messages d'erreur créés par les actions, quels que soient les résultats de la détection de la langue.

googleSearchGroundingEnabled
(deprecated)

boolean

Facultatif. Obsolète. Veuillez ne pas utiliser ce champ.

webGroundingEnabled
(deprecated)

boolean

Facultatif. Obsolète. Veuillez ne pas utiliser ce champ.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Facultatif. Obsolète : utilisez plutôt [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs]. Spécifications définissant les DataStore sur lesquels filtrer un appel de recherche et les configurations de ces magasins de données. Cela n'est pris en compte que pour les Engine comportant plusieurs data stores.

Si vous ne définissez pas ce champ, tous les data stores du moteur seront utilisés, sauf si ignoreDataStores est défini sur "true".

agentsConfig

object (AgentsConfig)

Facultatif. Configuration des agents utilisés pour répondre à la requête.

agentsSpec

object (AgentsSpec)

Facultatif. Spécification des agents utilisés pour traiter la requête.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Facultatif. Obsolète. Utilisez plutôt generationSpec. Configuration de la génération au niveau de la requête. Permet de remplacer la configuration de génération par défaut au niveau du moteur.

cannedQuery

string

Facultatif. Nom de ressource de CannedQuery pour cette requête. Ce paramètre ne peut être défini que si la session est nouvelle. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

Une session est considérée comme nouvelle si un StreamAssistRequest.session est fourni et que le Session correspondant ne comporte aucun tour, ou si aucun StreamAssistRequest.session n'est fourni (et qu'un nouveau Session est créé).

Si le paramètre cannedQuery est fourni, le CannedQuery correspondant sera pris en compte lors du traitement. Le comportement exact est décrit et documenté dans CannedQuery.

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

toolsSpec

object (ToolsSpec)

Facultatif. Spécification des outils utilisés pour traiter la demande.

generationSpec

object (GenerationSpec)

Facultatif. Spécification de la configuration de génération pour la requête.

Corps de la réponse

Réponse pour la méthode AssistantService.StreamAssist.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Champs
answer

object (AssistAnswer)

Objet de ressource de réponse assistants.assist contenant des parties de la réponse finale de l'assistant à la requête de l'utilisateur.

Absent si la réponse actuelle n'ajoute rien aux AssistAnswer.replies précédemment envoyés.

Observez AssistAnswer.state pour voir si d'autres parties sont à prévoir. Lorsque l'état est IN_PROGRESS, le champ AssistAnswer.replies de chaque réponse contient les réponses (fragments de réponse) à ajouter à celles reçues dans les réponses précédentes. AssistAnswer.name ne sera pas rempli.

Si l'état est SUCCEEDED, FAILED ou SKIPPED, la réponse est la dernière réponse et AssistAnswer.name aura une valeur.

sessionInfo

object (SessionInfo)

Informations sur la session. Inclus uniquement dans la réponse StreamAssistResponse finale du flux de réponse.

statusUpdates[]

object (StatusUpdate)

Mises à jour de progression facultatives.

assistToken

string

ID unique global qui identifie la paire actuelle de requête et de flux de réponses. Utilisé pour les commentaires et l'assistance.

toolResult[]
(deprecated)

object (ToolResult)

Résultats des appels d'outils.

finalResultToolInvocationId

string

Si ce champ est présent, il contient l'ID de l'appel d'outil dont le résultat est utilisé comme réponse finale.

Niveaux d'accès des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Pour plus d'informations, consultez la Authentication Overview.

Autorisations IAM

Nécessite l'autorisation IAM suivante sur la ressource name :

  • discoveryengine.assistants.assist

Pour en savoir plus, consultez la documentation IAM.

AnswerGenerationMode

Modes de génération de réponses disponibles.

Enums
ANSWER_GENERATION_MODE_UNSPECIFIED Mode de génération de réponses non spécifié.
NORMAL Mode de génération de réponses normal. peut déclencher quelques recherches et actions d'appel.
RESEARCH Mode de génération des réponses de recherche. Explorations approfondies de la requête, déclenchant de nombreuses recherches sur un large éventail de sujets liés à la requête.
AGENT Le mode de génération de réponses de l'agent utilise un agent défini dans agentsConfig pour générer la réponse.

AssistSkippingMode

Comportements de désactivation disponibles pour les demandes d'assistance.

Enums
ASSIST_SKIPPING_MODE_UNSPECIFIED Valeur par défaut. Vous pouvez ignorer la réponse si la requête ne demande pas d'aide.
REQUEST_ASSIST Demandez une réponse à l'Assistant. La réponse peut toujours être ignorée si la requête ne respecte pas les règles.

AgentsConfig

Configuration des agents utilisés pour répondre à la requête.

Représentation 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.
}
Champs
Champ d'union config. Configuration des différents types d'agents. config ne peut être qu'un des éléments suivants :
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Facultatif. Obsolète : configuration des agents Agentspace sans code. Lorsqu'il est défini, la requête assistants.assist est traitée en fonction de la configuration. Utilisez plutôt agent.

assistantAgentConfigId

string

Facultatif. ID de l'agent provenant de Assistant.agent_configs

agent

string

Nom de l'agent à utiliser. Format : projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

Définition intégrée du Agent à utiliser. Si une définition est fournie, un agent basé sur celle-ci sera utilisé. Il s'agit d'une représentation temporaire d'un agent. Le champ Agent.name sera ignoré.

vertexAiAgentId

string

Facultatif. ID de l'agent à partir de Assistant.vertex_ai_agent_configs. L'ID peut être le nom complet enregistré dans la configuration ou la dernière partie après la dernière barre oblique.

NoCodeAgentsConfig

Obsolète : configuration des agents Agentspace sans code. Utilisez plutôt agent.

Représentation JSON
{
  "agent": string
}
Champs
agent

string

Facultatif. Nom de l'agent à utiliser.

AgentsSpec

Spécification des agents utilisés pour traiter la requête.

Représentation JSON
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Champs
agentSpecs[]

object (AgentSpec)

Facultatif. Spécification des agents utilisés pour traiter la requête.

AgentSpec

Spécification d'un agent.

Représentation JSON
{
  "agentId": string
}
Champs
agentId

string

Obligatoire. ID permettant d'identifier la ressource d'agent qui traite la demande.

Ce champ doit être conforme à la norme RFC-1034 et ne pas comporter plus de 63 caractères.

ToolsSpec

Spécification des outils utilisés pour traiter la demande.

Représentation JSON
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Champs
toolRegistry

string

Facultatif. Nom du registre d'outils à utiliser. Format : projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Facultatif. Spécification de l'outil Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Facultatif. Spécification de l'outil d'ancrage Web. Si le champ est présent, l'ancrage avec la recherche sur le Web est activé. Ne fonctionne que si Assistant.web_grounding_type est [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] ou [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].

imageGenerationSpec

object (ImageGenerationSpec)

Facultatif. Spécification de l'outil de génération d'images.

videoGenerationSpec

object (VideoGenerationSpec)

Facultatif. Spécification de l'outil de génération de vidéos.

VertexAiSearchSpec

Spécification de l'outil Vertex AI Search.

Représentation JSON
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Champs
disabled
(deprecated)

boolean

Facultatif. Obsolète. Veuillez ne pas utiliser ce champ. Indique si l'outil Vertex AI Search est désactivé. La valeur par défaut est "false" (l'outil est activé par défaut).

dataStoreSpecs[]

object (DataStoreSpec)

Facultatif. Spécifications définissant les DataStore sur lesquels filtrer un appel de recherche et les configurations de ces magasins de données. Cela n'est pris en compte que pour les Engine comportant plusieurs data stores.

filter

string

Facultatif. La syntaxe des filtres consiste en un langage d'expression permettant de construire un prédicat à partir d'un ou de plusieurs champs des documents filtrés. L'expression de filtre est sensible à la casse.

Si ce champ n'est pas reconnaissable, un INVALID_ARGUMENT est renvoyé.

Le filtrage dans Vertex AI Search s'effectue en mappant la clé de filtre LHS à une propriété clé définie dans le backend Vertex AI Search. Ce mappage est défini par le client dans son schéma. Par exemple, un client média peut avoir un champ "name" (nom) dans son schéma. Dans ce cas, le filtre se présenterait comme suit : filter --> name:'ANY("king kong")`

Pour en savoir plus sur le filtrage, y compris sur la syntaxe et les opérateurs de filtre, consultez Filtrer.

WebGroundingSpec

Ce type ne comporte aucun champ.

Spécification de l'outil d'ancrage Web.

ImageGenerationSpec

Ce type ne comporte aucun champ.

Spécification de l'outil de génération d'images.

VideoGenerationSpec

Ce type ne comporte aucun champ.

Spécification de l'outil de génération de vidéos.

GenerationSpec

Spécification de la génération de l'Assistant pour la requête. Cela permet de remplacer la configuration de génération par défaut au niveau du moteur.

Représentation JSON
{
  "modelId": string
}
Champs
modelId

string

Facultatif. ID du modèle Vertex AI utilisé pour le modèle génératif. Si aucune valeur n'est définie, le modèle Assistant par défaut sera utilisé.

SessionInfo

Informations sur la session.

Représentation JSON
{
  "session": string,
  "queryId": string
}
Champs
session

string

Nom de la session nouvellement générée ou poursuivie.

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

queryId

string

ID de la requête correspondant à cet appel d'API Assist. Une session peut comporter plusieurs tours, chacun avec un ID de requête unique.

En spécifiant le nom de la session et cet ID de requête dans l'appel d'API assistants.assist, la demande d'assistance se produit dans le contexte des résultats de recherche de cet appel de recherche.

StatusUpdate

Informations sur l'avancement de l'appel d'assistance.

Représentation JSON
{
  "updateText": string,
  "invocationId": string
}
Champs
updateText

string

Mise à jour de l'état sous forme de texte libre, par exemple : "Démarrer la recherche interne dans les documents RH pour les avantages" ou "La recherche sur le Web pour "alunissage" a renvoyé 12 résultats".

invocationId

string

Identifiant unique de l'invocation qui génère la mise à jour.

ToolResult

Résultat (partiel) d'un appel d'outil.

Représentation JSON
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Champs
toolInvocationId

string

Identifiant unique de l'appel d'outil qui génère le résultat.

result

object (Reply)

Contenu partiel du résultat.