En la aplicación web, puedes obtener respuestas a tus preguntas en forma de respuestas de streaming. En este documento se explica cómo usar la API REST para obtener respuestas. Si quieres usar la aplicación web de Gemini Enterprise, consulta el artículo Chatear con el asistente.
Información general sobre StreamAssist
StreamAssist ofrece una forma potente e interactiva de gestionar las consultas de los usuarios. Funciona en streaming, lo que permite interacciones bidireccionales en tiempo real.
Estas son las principales funciones de la API:
Mantener el contexto de la conversación: usa sesiones para mantener el contexto de la conversación, lo que le permite entender las consultas posteriores dentro del ámbito de las interacciones anteriores.
Incorporación de archivos proporcionados: incluye los archivos adjuntos como contexto para ofrecer respuestas más informadas y relevantes.
Integración perfecta: se integra con varios agentes y herramientas para satisfacer una amplia gama de solicitudes de los usuarios.
Antes de empezar
Asegúrate de que tienes lo siguiente:
La API Discovery Engine habilitada para tu Google Cloud. Puedes habilitarla en la página API Discovery Engine de la consolaGoogle Cloud .
Un rol de Discovery Engine que tenga asignado el permiso
discoveryengine.assistants.assist.Una aplicación de Gemini Enterprise. Para crear una aplicación, consulta Crear una aplicación.
Obtener resultados de búsqueda
Puedes usar el método streamAssist
para consultar y obtener respuestas de
Gemini Enterprise. El siguiente comando curl muestra los campos obligatorios.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"query": {
"text": "QUERY_TEXT_1"
}
}'
Haz los cambios siguientes:
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
us-para la multirregión de EE. UU.eu-para la multirregión de la UEglobal-para la ubicación global
- PROJECT_ID: el ID de tu proyecto de Google Cloud .
- APP_ID: identificador único de la aplicación Gemini Enterprise.
- LOCATION: la multirregión de tu almacén de datos:
global,usoeu - QUERY_TEXT_1: el texto de la consulta de búsqueda.
Para obtener más información sobre los campos y lo que se devuelve, consulta Cuerpo de la respuesta.
Obtener resultados de búsqueda usando la misma sesión
Para continuar una conversación y obtener respuestas de Gemini Enterprise en una sesión, usa el método streamAssist. En el siguiente ejemplo de código se muestran los campos obligatorios:
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID",
"query": {
"text": "QUERY_TEXT_2"
}
}'
Haz los cambios siguientes:
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
us-para la multirregión de EE. UU.eu-para la multirregión de la UEglobal-para la ubicación global
- PROJECT_ID: el ID de tu proyecto de Google Cloud .
- APP_ID: identificador único de la aplicación Gemini Enterprise.
- LOCATION: la multirregión de tu almacén de datos:
global,usoeu - QUERY_TEXT_2: el texto de la consulta de búsqueda.
- SESSION_ID: el ID de una sesión de una conversación o consulta anterior.
Para obtener más información sobre los campos y lo que se devuelve, consulta Cuerpo de la respuesta.
Subir un archivo y obtener resultados de búsqueda (vista previa)
Para dar más contexto al asistente, sube un archivo a una sesión y, a continuación, consulta su contenido. Sigue estos pasos:
Sube un archivo a una sesión con el método
addContextFile.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/sessions/SESSION_ID:addContextFile" \ -d ' { "fileName": "FILE_NAME", "mimeType": "MIME_TYPE", "fileContents": "BASE64_ENCODED_FILE" }'Haz los cambios siguientes:
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
us-para la multirregión de EE. UU.eu-para la multirregión de la UEglobal-para la ubicación global
- PROJECT_ID: el ID de tu proyecto de Google Cloud .
- LOCATION: la multirregión de tu almacén de datos:
global,usoeu - APP_ID: identificador único de la aplicación Gemini Enterprise.
- SESSION_ID: el ID de una sesión de una conversación o consulta anterior.
- FILE_NAME: el nombre del archivo.
- MIME_TYPE: el tipo MIME del archivo. Por ejemplo,
text/plainoapplication/pdf. Para obtener más información sobre los distintos tipos de contenido multimedia, consulta Tipos de contenido multimedia. - BASE64_ENCODED_FILE: la representación codificada en base64 del archivo.
Para obtener más información sobre los campos y lo que se devuelve, consulta Cuerpo de la respuesta.
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
Usa la misma sesión para hacer una pregunta sobre el archivo que has subido con el método
streamAssist.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \ -d ' { "session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID", "fileIds": ["FILE_ID"], "query": { "text": "QUERY_TEXT_3" } }'Haz los cambios siguientes:
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
us-para la multirregión de EE. UU.eu-para la multirregión de la UEglobal-para la ubicación global
- PROJECT_ID: el ID de tu proyecto de Google Cloud .
- APP_ID: identificador único de la aplicación Gemini Enterprise.
- LOCATION: la multirregión de tu almacén de datos:
global,usoeu - QUERY_TEXT_3: el texto de la consulta de búsqueda.
- SESSION_ID: el ID de una sesión de una conversación o consulta anterior.
- FILE_ID: el ID del archivo que has subido al asistente.
Para obtener más información sobre los campos y lo que se devuelve, consulta Cuerpo de la respuesta.
- ENDPOINT_LOCATION-: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores: