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

Ayuda al usuario con una consulta de forma continua.

Solicitud HTTP

POST https://discoveryengine.googleapis.com/v1beta/{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)
  },
  "session": string,
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "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.

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}

userMetadata

object (AssistUserMetadata)

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

agentsSpec

object (AgentsSpec)

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

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)
  },
  "assistToken": 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.

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.

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.

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
{
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Campos
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
{
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Campos
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
}
Campos
session

string

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

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