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

Ayuda al usuario con una consulta de forma continua.

Solicitud HTTP

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

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}

userMetadata

object (AssistUserMetadata)

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

agentsSpec

object (AgentsSpec)

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

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

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.

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.

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

string

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

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