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

Ayuda al usuario con una consulta de forma continua.

Solicitud HTTP

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

La URL utiliza la sintaxis de transcodificación a gRPC.

Parámetros de ruta

Parámetros
name

string

Obligatorio. Nombre de recurso de Assistant. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos que presentan la siguiente estructura:

Representación 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)
  }
}
Campos
query

object (Query)

Opcional. Consulta del usuario actual.

Las consultas vacías solo se admiten si se proporcionan fileIds. En este caso, la respuesta se generará a partir de esos archivos de contexto.

answerGenerationMode

enum (AnswerGenerationMode)

Opcional. El modo de generación de respuestas. Si no se especifica ningún valor, se utiliza NORMAL de forma predeterminada.

session

string

Opcional. La sesión que se va a usar en la solicitud. Si se especifica, el asistente tiene acceso al historial de la sesión, y la consulta y la respuesta se almacenan ahí.

Si se especifica - como ID de sesión o se deja vacío, se crea una sesión con un ID generado automáticamente.

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

assistSkippingMode

enum (AssistSkippingMode)

Opcional. Determina los casos en los que el asistente no responderá a la consulta. Si se omite la respuesta, los motivos se mostrarán en AssistAnswer.assist_skipped_reasons dentro de AssistResponse.answer.

fileIds[]

string

Opcional. Los IDs de los archivos que se usarán para responder a la solicitud. Al subir un archivo, su ID se devuelve en AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Opcional. Información sobre el usuario que inicia la consulta.

languageCode
(deprecated)

string

Opcional. Obsoleto. En su lugar, usa [preferredLanguageCode][UserMetadata.preferred_language_code]. Idioma que se usará para responder si no se puede detectar el idioma. También se usa como idioma de los mensajes de error creados por las acciones, independientemente de los resultados de la detección de idiomas.

googleSearchGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. No utilices este campo.

webGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. No utilices este campo.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Opcional. Obsoleto: usa [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs] en su lugar. Especificaciones que definen los DataStore por los que se va a filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. Esto solo se tiene en cuenta en los Engines con varios almacenes de datos.

Si no se define este campo, se usarán todos los almacenes de datos del motor, excepto cuando ignoreDataStores tenga el valor true.

agentsConfig

object (AgentsConfig)

Opcional. Configuración de los agentes que se usan para atender la solicitud.

agentsSpec

object (AgentsSpec)

Opcional. Especificación de los agentes que se usan para atender la solicitud.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Opcional. Obsoleto. En su lugar, usa generationSpec. Configuración de la generación a nivel de solicitud. Se usa para anular la configuración de generación predeterminada a nivel del motor.

cannedQuery

string

Opcional. Nombre de recurso del CannedQuery de esta solicitud. Este parámetro solo se puede definir si la sesión es nueva. De lo contrario, se devuelve un error INVALID_ARGUMENT.

Se considera que una sesión es nueva si se proporciona un StreamAssistRequest.session y el Session correspondiente no tiene ningún turno, o si no se proporciona ningún StreamAssistRequest.session (y se crea un Session).

Si se proporciona el parámetro cannedQuery, se tendrá en cuenta el CannedQuery correspondiente durante el procesamiento. El comportamiento exacto se describe y documenta en CannedQuery.

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

toolsSpec

object (ToolsSpec)

Opcional. Especificación de las herramientas que se usan para atender la solicitud.

generationSpec

object (GenerationSpec)

Opcional. Especificación de la configuración de generación de la solicitud.

Cuerpo de la respuesta

Respuesta del método AssistantService.StreamAssist.

Si la solicitud se realiza correctamente, el cuerpo de la respuesta proporciona datos con la siguiente estructura:

Representación JSON
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Campos
answer

object (AssistAnswer)

Objeto de recurso de respuesta de assistants.assist que contiene partes de la respuesta final del asistente a la consulta del usuario.

No se incluye si la respuesta actual no añade nada a la AssistAnswer.replies enviada anteriormente.

Consulta AssistAnswer.state para ver si se esperan más partes. Mientras el estado sea IN_PROGRESS, el campo AssistAnswer.replies de cada respuesta contendrá las respuestas (fragmentos de respuesta) que se añadirán a las recibidas en las respuestas anteriores. AssistAnswer.name no se rellenará.

Si el estado es SUCCEEDED, FAILED o SKIPPED, la respuesta es la última respuesta y AssistAnswer.name tendrá un valor.

sessionInfo

object (SessionInfo)

Información de la sesión. Solo se incluye en el StreamAssistResponse final de la respuesta encadenada.

statusUpdates[]

object (StatusUpdate)

Actualizaciones de progreso opcionales.

assistToken

string

Un ID único global que identifica el par actual de solicitud y flujo de respuestas. Se usa para enviar comentarios y recibir asistencia.

toolResult[]
(deprecated)

object (ToolResult)

Resultados de las invocaciones de herramientas.

finalResultToolInvocationId

string

Si este campo está presente, contiene el ID de la invocación de la herramienta cuyo resultado se utiliza como respuesta final.

Permisos de autorización

Debes disponer de uno de los siguientes permisos de OAuth:

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

Para obtener más información, consulta el Authentication Overview.

Permisos de IAM

Requiere el siguiente permiso de gestión de identidades y accesos en el recurso name:

  • discoveryengine.assistants.assist

Para obtener más información, consulta la documentación de gestión de identidades y accesos.

AnswerGenerationMode

Modos de generación de respuestas disponibles.

Enumeraciones
ANSWER_GENERATION_MODE_UNSPECIFIED Modo de generación de respuestas sin especificar.
NORMAL Modo de generación de respuestas normal. Puede activar algunas búsquedas y llamadas a la acción.
RESEARCH Modo de generación de respuestas de investigación. Analiza la consulta en profundidad, lo que activa muchas búsquedas de una amplia gama de temas relacionados con la consulta.
AGENT Modo de generación de respuestas del agente. Usa un agente definido en agentsConfig para generar la respuesta.

AssistSkippingMode

Comportamientos de omisión disponibles para las solicitudes de asistencia.

Enumeraciones
ASSIST_SKIPPING_MODE_UNSPECIFIED Valor predeterminado. La respuesta se puede omitir si la consulta no busca asistencia.
REQUEST_ASSIST Solicita la respuesta del Asistente. La respuesta se puede omitir si la consulta no supera las comprobaciones de las políticas.

AgentsConfig

Configuración de los agentes que se usan para atender la solicitud.

Representación 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.
}
Campos
Campo de unión config. Configuración de los diferentes tipos de agentes. config solo puede ser una de estas dos opciones:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Opcional. Obsoleto: configuración de agentes de Agentspace sin código. Cuando se define, la solicitud assistants.assist se atenderá de acuerdo con la configuración. En su lugar, usa agent.

assistantAgentConfigId

string

Opcional. ID del agente de Assistant.agent_configs.

agent

string

Nombre del agente que se va a usar. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

Definición insertada del Agent que se va a usar. Si se proporciona, se usará un agente basado en esta definición. Se trata de una representación temporal de un agente. El campo Agent.name se ignorará.

vertexAiAgentId

string

Opcional. ID del agente de Assistant.vertex_ai_agent_configs. El ID puede ser el nombre completo registrado en la configuración o la última parte después de la última barra.

NoCodeAgentsConfig

Obsoleto: configuración de agentes de Agentspace sin código. En su lugar, usa agent.

Representación JSON
{
  "agent": string
}
Campos
agent

string

Opcional. Nombre del agente que se va a usar.

AgentsSpec

Especificación de los agentes que se usan para atender la solicitud.

Representación JSON
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Campos
agentSpecs[]

object (AgentSpec)

Opcional. Especificación de los agentes que se usan para atender la solicitud.

AgentSpec

Especificación de un agente.

Representación JSON
{
  "agentId": string
}
Campos
agentId

string

Obligatorio. ID para identificar el recurso de agente que sirve la solicitud.

Este campo debe cumplir la RFC-1034 y tener una longitud máxima de 63 caracteres.

ToolsSpec

Especificación de las herramientas que se usan para atender la solicitud.

Representación JSON
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Campos
toolRegistry

string

Opcional. Nombre del registro de herramientas que se va a usar. Formato: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Opcional. Especificación de la herramienta Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Opcional. Especificación de la herramienta de fundamentación web. Si el campo está presente, se habilita la fundamentación con la búsqueda web. Solo funciona si Assistant.web_grounding_type es [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] o [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].

imageGenerationSpec

object (ImageGenerationSpec)

Opcional. Especificación de la herramienta de generación de imágenes.

videoGenerationSpec

object (VideoGenerationSpec)

Opcional. Especificación de la herramienta de generación de vídeo.

VertexAiSearchSpec

Especificación de la herramienta Vertex AI Search.

Representación JSON
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Campos
disabled
(deprecated)

boolean

Opcional. Obsoleto. No utilices este campo. Si la herramienta Vertex AI Search está inhabilitada. El valor predeterminado es false, por lo que la herramienta está habilitada de forma predeterminada.

dataStoreSpecs[]

object (DataStoreSpec)

Opcional. Especificaciones que definen los DataStore por los que se va a filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. Esto solo se tiene en cuenta en los Engines con varios almacenes de datos.

filter

string

Opcional. La sintaxis del filtro consta de un lenguaje de expresiones para crear un predicado a partir de uno o varios campos de los documentos que se van a filtrar. La expresión de filtro distingue entre mayúsculas y minúsculas.

Si este campo no se reconoce, se devuelve un INVALID_ARGUMENT.

El filtrado en Vertex AI Search se realiza asignando la clave de filtro del lado izquierdo a una propiedad de clave definida en el backend de Vertex AI Search. El cliente define esta asignación en su esquema. Por ejemplo, un cliente de medios puede tener un campo "nombre" en su esquema. En este caso, el filtro sería el siguiente: filter --> name:'ANY("king kong")'

Para obtener más información sobre el filtrado, incluida la sintaxis y los operadores de filtro, consulta Filtrar.

WebGroundingSpec

Este tipo no tiene campos.

Especificación de la herramienta de fundamentación web.

ImageGenerationSpec

Este tipo no tiene campos.

Especificación de la herramienta de generación de imágenes.

VideoGenerationSpec

Este tipo no tiene campos.

Especificación de la herramienta de generación de vídeo.

GenerationSpec

Especificación de la generación del Asistente para la solicitud. Esto permite anular la configuración de generación predeterminada a nivel de motor.

Representación JSON
{
  "modelId": string
}
Campos
modelId

string

Opcional. El ID de modelo de Vertex AI que se usa para el modelo generativo. Si no se define, se usará el modelo predeterminado del Asistente.

SessionInfo

Información sobre la sesión.

Representación JSON
{
  "session": string,
  "queryId": string
}
Campos
session

string

Nombre de la sesión recién generada o continuada.

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

queryId

string

ID de consulta que corresponde a esta llamada a la API de asistencia. Una sesión puede tener varias interacciones, cada una con un ID de consulta único.

Si especificas el nombre de la sesión y este ID de consulta en la llamada a la API assistants.assist, la solicitud de asistencia se producirá en el contexto de los resultados de búsqueda de esta llamada de búsqueda.

StatusUpdate

Información sobre el estado de la llamada de asistencia.

Representación JSON
{
  "updateText": string,
  "invocationId": string
}
Campos
updateText

string

Actualización del estado de texto libre, por ejemplo: "Starting internal search in HR docs for benefits" ("Iniciando búsqueda interna en documentos de RR. HH. sobre ventajas") o "Web search for "Moon landing" got 12 results" ("La búsqueda web de "Aterrizaje en la Luna" ha devuelto 12 resultados").

invocationId

string

Identificador único de la invocación que genera la actualización.

ToolResult

Resultado (parcial) de una invocación de herramienta.

Representación JSON
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Campos
toolInvocationId

string

Identificador único de la invocación de la herramienta que genera el resultado.

result

object (Reply)

Contenido parcial del resultado.