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 usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
name

string

Obligatorio. Es el nombre del recurso Assistant. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con 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. Es la consulta del usuario actual.

Solo se admite la búsqueda vacía si se proporciona fileIds. En este caso, la respuesta se generará en función de esos archivos de contexto.

answerGenerationMode

enum (AnswerGenerationMode)

Opcional. Es el modo de generación de respuestas. Si no se especifica, el valor predeterminado es NORMAL.

session

string

Opcional. Es la sesión que se usará para la solicitud. Si se especifica, el asistente tiene acceso al historial de la sesión, y la búsqueda y la respuesta se almacenan allí.

Si se especifica - como el ID de sesión o se deja vacío, se crea una sesión nueva 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á la búsqueda. Si se omite la respuesta, los motivos se incluirán en AssistAnswer.assist_skipped_reasons dentro de AssistResponse.answer.

fileIds[]

string

Opcional. Son los IDs de los archivos que se usarán para responder la solicitud. Cuando se sube un archivo, su ID se muestra en AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Opcional. Es información sobre el usuario que inicia la búsqueda.

languageCode
(deprecated)

string

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

googleSearchGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. Evita usar este campo.

webGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. Evita usar este campo.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Opcional. Obsoleto: Usa [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs] en su lugar. Son especificaciones que definen los DataStores para filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. Esto solo se considera para los Engines con varios almacenes de datos.

Si no se configura este campo, se usarán todos los almacenes de datos del motor, excepto cuando ignoreDataStores se establece como verdadero.

agentsConfig

object (AgentsConfig)

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

agentsSpec

object (AgentsSpec)

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

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Opcional. Obsoleto. Utiliza generationSpec en lugar de esta función. Es la configuración de generación a nivel de la solicitud. Se usa para anular la configuración de generación predeterminada a nivel del motor.

cannedQuery

string

Opcional. Es el nombre del recurso del CannedQuery para esta solicitud. Este parámetro solo se puede establecer si la sesión es nueva. De lo contrario, se devolverá 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 nuevo).

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. Es la especificación de las herramientas que se usan para atender la solicitud.

generationSpec

object (GenerationSpec)

Opcional. Es la especificación de la configuración de generación para la solicitud.

Cuerpo de la respuesta

Respuesta del método AssistantService.StreamAssist.

Si se ejecuta correctamente, el cuerpo de la respuesta contiene 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)

Es un objeto de recurso de respuesta de asistentes que contiene partes de la respuesta final del asistente a la búsqueda del usuario.

No está presente si la respuesta actual no agrega nada a la AssistAnswer.replies enviada anteriormente.

Observa AssistAnswer.state para ver si se esperan más partes. Mientras el estado sea IN_PROGRESS, el campo AssistAnswer.replies de cada respuesta contendrá respuestas (fragmentos de respuestas) que se agregarán a las que se recibieron en respuestas anteriores. No se completará AssistAnswer.name.

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

sessionInfo

object (SessionInfo)

Es la información de la sesión. Solo se incluye en el StreamAssistResponse final de la transmisión de respuesta.

statusUpdates[]

object (StatusUpdate)

Actualizaciones de progreso opcionales

assistToken

string

Es un ID único global que identifica el par actual de solicitud y flujo de respuestas. Se usa para brindar comentarios y asistencia.

toolResult[]
(deprecated)

object (ToolResult)

Son los 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 usa como respuesta final.

Permisos de autorización

Se necesita 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 Authentication Overview.

Permisos de IAM

Se requiere el siguiente permiso de IAM en el recurso name:

  • discoveryengine.assistants.assist

Para obtener más información, consulta la documentación de IAM.

AnswerGenerationMode

Son los modos de generación de respuestas disponibles.

Enums
ANSWER_GENERATION_MODE_UNSPECIFIED Modo de generación de respuestas sin especificar.
NORMAL Modo normal de generación de respuestas. Es posible que se activen algunas búsquedas y acciones de llamada.
RESEARCH Modo de generación de respuestas de investigación. Se profundiza en la búsqueda, lo que activa muchas búsquedas sobre una amplia variedad de temas relacionados con ella.
AGENT Es el modo de generación de respuestas del agente. Usa un agente definido en agentsConfig para generar la respuesta.

AssistSkippingMode

Son los comportamientos de omisión disponibles para las solicitudes de asistencia.

Enums
ASSIST_SKIPPING_MODE_UNSPECIFIED Valor predeterminado. Se puede omitir la respuesta si la búsqueda no requiere asistencia.
REQUEST_ASSIST Solicita la respuesta del asistente. Aun así, es posible que se omita la respuesta si la búsqueda no supera las verificaciones de políticas.

AgentsConfig

Es la 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. Es la configuración de los diferentes tipos de agentes. config puede ser solo uno de los siguientes:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Opcional. Obsoleto: Es la configuración para los agentes de Agentspace sin código. Cuando se establece, la solicitud de assistants.assist se publicará según la configuración. Utiliza agent en lugar de esta función.

assistantAgentConfigId

string

Opcional. Es el ID del agente de Assistant.agent_configs.

agent

string

Es el nombre del agente que se usará. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

Es la definición intercalada del Agent que se usará. Si se proporciona, se usará un agente basado en esta definición. Esta es una representación temporal de un agente. Se ignorará el campo Agent.name.

vertexAiAgentId

string

Opcional. Es el 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: Es la configuración para los agentes de Agentspace sin código. Utiliza agent en lugar de esta función.

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

string

Opcional. Es el nombre del agente que se usará.

AgentsSpec

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

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

object (AgentSpec)

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

AgentSpec

Es la especificación de un agente.

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

string

Obligatorio. Es el ID que identifica el recurso del agente que procesa la solicitud.

Este campo debe cumplir con RFC-1034 y tener un límite de 63 caracteres.

ToolsSpec

Es la 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. Es el nombre del registro de herramientas que se usará. Formato: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Opcional. Es la especificación de la herramienta de Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Opcional. Es la especificación de la herramienta de fundamentación web. Si el campo está presente, 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. Es la especificación de la herramienta de generación de imágenes.

videoGenerationSpec

object (VideoGenerationSpec)

Opcional. Es la especificación de la herramienta de generación de videos.

VertexAiSearchSpec

Es la especificación de la herramienta de Vertex AI Search.

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

boolean

Opcional. Obsoleto. Evita usar este campo. Indica si la herramienta de Vertex AI Search está inhabilitada. El valor predeterminado es falso, por lo que la herramienta está habilitada de forma predeterminada.

dataStoreSpecs[]

object (DataStoreSpec)

Opcional. Son especificaciones que definen los DataStores para filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. Esto solo se considera para los Engines con varios almacenes de datos.

filter

string

Opcional. La sintaxis del filtro consta de un lenguaje de expresión para construir un predicado a partir de uno o más campos de los documentos que se filtran. La expresión del filtro distingue mayúsculas de minúsculas.

Si este campo no se puede reconocer, se devuelve un INVALID_ARGUMENT.

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

Para obtener más información sobre los filtros, incluidos los operadores y la sintaxis de filtros, consulta Filtro.

WebGroundingSpec

Este tipo no tiene campos.

Es la especificación de la herramienta de fundamentación web.

ImageGenerationSpec

Este tipo no tiene campos.

Es la especificación de la herramienta de generación de imágenes.

VideoGenerationSpec

Este tipo no tiene campos.

Es la especificación de la herramienta de generación de videos.

GenerationSpec

Es la especificación de generación del asistente para la solicitud. Esto permite anular la configuración de generación predeterminada a nivel del motor.

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

string

Opcional. Es el ID del modelo de Vertex AI que se usa para el modelo generativo. Si no se configura, se usará el modelo predeterminado de Assistant.

SessionInfo

Es 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

Es el ID de la búsqueda que corresponde a esta llamada a la API de asistencia. Una sesión puede tener varios turnos, cada uno con un ID de búsqueda único.

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

StatusUpdate

Actualización sobre el progreso de la llamada de asistencia.

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

string

Actualización del estado de estado de texto libre, p.ej., "Se inició la búsqueda interna en los documentos de RR.HH. para obtener información sobre los beneficios" o "La búsqueda web de "Aterrizaje lunar" obtuvo 12 resultados".

invocationId

string

Es el identificador único de la invocación que genera la actualización.

ToolResult

Es el resultado (parcial) de una invocación de herramienta.

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

string

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

result

object (Reply)

Es el contenido parcial del resultado.