En esta página se explica cómo previsualizar los resultados de búsqueda con la consola Google Cloud y cómo obtenerlos con la API.
Además, en lugar de usar la interfaz de usuario de la aplicación web, puedes hacer llamadas a la API e integrar esas llamadas en tu servidor o aplicación. En esta página se incluyen ejemplos de código sobre cómo hacer consultas de búsqueda mediante las bibliotecas de cliente de gRPC con una cuenta de servicio.
Obtener resultados de búsqueda
Puedes previsualizar los resultados de búsqueda desde la Google Cloud consola u obtenerlos mediante la API.
Consola
Para usar la Google Cloud consola y previsualizar los resultados de búsqueda de una aplicación con datos estructurados o sin estructurar, sigue estos pasos:
- Abre la página Vista previa en la consola.
- Escribe una consulta de búsqueda.
- Si has habilitado la función Autocompletar en el paso 1, verás una lista de sugerencias de autocompletado debajo de la barra de búsqueda a medida que escribas.
- (Opcional) Si has conectado varias tiendas de datos a tu aplicación, pero solo quieres obtener resultados de una tienda de datos específica, selecciona la tienda de datos de la que quieras obtener resultados.
- Haz clic en Intro para enviar la consulta.
- Debajo de la barra de búsqueda se muestra una lista de resultados.
- Si no se define ninguna asignación de atributos en la página Configuraciones, cada resultado de búsqueda se muestra como una lista de nombres y valores de atributos sin procesar.
- Si se ha guardado alguna asignación de atributos en la página Configuraciones, los resultados de búsqueda mostrarán las mismas imágenes que se ven en la vista previa de la página Configuraciones.
- Si se han especificado facetas en la página Configuraciones, se mostrarán de la misma forma.
- Haz clic en la flecha situada debajo de la lista de resultados para cargar la siguiente página.
REST
Para usar la API y obtener resultados de búsqueda de una aplicación con datos estructurados o no estructurados, usa el método engines.servingConfigs.search
:
Busca el ID de tu aplicación. Si ya tienes el ID de tu aplicación, ve al siguiente paso.
En la Google Cloud consola, ve a la página Gemini Enterprise.
En la página Aplicaciones, busca el nombre de tu aplicación y consulta su ID en la columna ID.
Previsualiza los resultados de búsqueda.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "QUERY", "userPseudoId": "USER_PSEUDO_ID", "pageSize": "PAGE_SIZE", "offset": "OFFSET", "orderBy": "ORDER_BY", "filter": "FILTER", "boostSpec": "BOOST_SPEC", "facetSpec": "FACET_SPEC", "queryExpansionSpec": "QUERY_EXPANSION_SPEC", "spellCorrectionSpec": "SPELL_CORRECTION_SPEC", "contentSearchSpec": "CONTENT_SEARCH_SPEC", "dataStoreSpecs": [{"DATA_STORE_SPEC"}], }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto.APP_ID
: el ID de la aplicación que quieres consultar.QUERY
: el texto de la consulta que se va a buscar.USER_PSEUDO_ID
: una cadena codificada en UTF-8 que actúa como identificador seudonimizado único que monitoriza a los usuarios. Puede tener una longitud máxima de 128 caracteres. Google recomienda encarecidamente usar este campo porque mejora el rendimiento del modelo y la calidad de la personalización. Puede usar una cookie HTTP para este campo, que identifica de forma única a un visitante en un solo dispositivo. Estas son algunas consideraciones importantes:- Este identificador no cambia cuando el visitante inicia o cierra sesión en un sitio web.
- Este campo no debe tener el mismo identificador para varios usuarios. De lo contrario, si usa el mismo ID de usuario para varios usuarios, se pueden combinar los historiales de eventos de diferentes usuarios y reducir la calidad del modelo.
- Este campo no debe incluir información personal identificable (IPI).
- En una solicitud de búsqueda o de navegación determinada, este campo debe corresponderse con el campo
userPseudoId
correspondiente de los eventos de usuario.
Para obtener más información, consulta
userPseudoId
.PAGE_SIZE
: el número de resultados devueltos por la búsqueda. El tamaño máximo de página permitido depende del tipo de datos. Los tamaños de página superiores al valor máximo se ajustan a este valor.OFFSET
: opcional. Índice de inicio de los resultados. El valor predeterminado es 0.Por ejemplo, si el desplazamiento es 2, el tamaño de la página es 10 y hay 15 resultados que devolver, los resultados del 2 al 11 se devuelven en la primera página.
ORDER_BY
: opcional. El orden en el que se organizan los resultados.FILTER
: opcional. Un campo de texto para filtrar tu búsqueda con una expresión de filtro. El valor predeterminado es una cadena vacía, lo que significa que no se aplica ningún filtro.Ejemplo:
color: ANY("red", "blue") AND score: IN(*, 100.0e)
Para obtener más información, consulta Filtrar búsquedas de datos estructurados o no estructurados.
BOOST_SPEC
: opcional. Una especificación para impulsar o ocultar documentos. Valores:BOOST
: un número de punto flotante en el intervalo [-1,1]. Si el valor es negativo, los resultados se degradan (aparecen más abajo en los resultados). Si el valor es positivo, los resultados se promocionan (aparecen más arriba en los resultados).CONDITION
: una expresión de filtro de texto para seleccionar los documentos a los que se aplica el refuerzo. El filtro debe dar como resultado un valor booleano.
Para obtener información sobre la mejora de la búsqueda estructurada, consulta Mejorar los resultados de búsqueda.
FACET_SPEC
: opcional. Especificación de una faceta para realizar una búsqueda por facetas.QUERY_EXPANSION_SPEC
: opcional. Especificación para determinar en qué condiciones se debe producir la ampliación de la consulta. El valor predeterminado esDISABLED
.SPELL_CORRECTION_SPEC
: opcional. Especificación para determinar en qué condiciones se debe realizar la corrección ortográfica. El valor predeterminado esAUTO
.CONTENT_SEARCH_SPEC
: opcional. Para obtener fragmentos, respuestas extractivas, segmentos extractivos y resúmenes de búsqueda. Solo para datos sin estructurar. Para obtener más información, consulta estos artículos:DATA_STORE_SPEC
: filtra un almacén de datos específico en el que buscar. Puede usarlo si su aplicación de búsqueda está conectada a varios almacenes de datos. Para obtener más información, consulta DataStoreSpec.Para ver los resultados de búsqueda guiada en la respuesta de búsqueda, sigue estos pasos:
Los resultados de búsqueda guiada se devuelven con las respuestas de búsqueda estructurada y no estructurada. El resultado de la búsqueda guiada contiene una lista de pares clave-valor de atributos extraídos basados en documentos de resultados de búsqueda. De esta forma, los usuarios pueden acotar los resultados de búsqueda usando algunas claves y valores de atributos como filtros.
En este ejemplo de respuesta, se ha usado el color verde para acotar los resultados de búsqueda. Para ello, se ha enviado una nueva solicitud de búsqueda con el campo de filtro especificado como
_gs.color: ANY("green")
:{ "guidedSearchResult": { "refinementAttributes": [ { "attributeKey": "_gs.color", "attributeValue": "green" }, { "attributeKey": "_gs.category", "attributeValue": "shoe" } ] } }
Obtener puntuaciones de relevancia de documentos con los resultados de búsqueda
Las puntuaciones de relevancia de los documentos se basan en la similitud de la consulta con el documento. Las puntuaciones se dividen en 11 grupos en el intervalo de 0 a 1,0 (0, 0,1, 0,2, etc.). Cuanto mayor sea la puntuación, más relevante será el documento.
Ten en cuenta las puntuaciones de relevancia de los documentos en estos casos prácticos:
Filtrado posterior a la búsqueda basado en la puntuación de relevancia para eliminar los resultados irrelevantes
Clasificación posterior a la búsqueda o como entrada para otras aplicaciones
Depuración: las puntuaciones de relevancia pueden proporcionar información sobre por qué se devuelven algunos resultados de búsqueda
En cada resultado de búsqueda se puede devolver una puntuación de relevancia:
"results": [ { "id": "DOCUMENT_ID", "document": { ... }, "modelScores": { "relevance_score": { "values": [ DOCUMENT-RELEVANCE-SCORE ] } } }, ...
También puedes consultar el comando de ejemplo en el procedimiento que se indica más abajo.
Antes de empezar: asegúrate de que la aplicación de búsqueda esté asociada a un almacén de datos estructurados o no estructurados.
REST
Para solicitar que se devuelvan las puntuaciones de relevancia de los documentos con los resultados de búsqueda, utiliza el método engines.servingConfigs.search
de la siguiente manera:
Busca el ID de tu aplicación. Si ya tienes el ID de tu aplicación, ve al siguiente paso.
En la Google Cloud consola, ve a la página Gemini Enterprise.
En la página Aplicaciones, busca el nombre de tu aplicación y consulta su ID en la columna ID.
Ejecuta el siguiente comando curl para obtener las puntuaciones devueltas con los resultados de búsqueda.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "relevanceScoreSpec": { "returnRelevanceScore": true } }'
PROJECT_ID
: el ID de tu proyecto.APP_ID
: el ID de la aplicación que quieres consultar.QUERY
: el texto de la consulta que se va a buscar.
El resumen de búsqueda varía según el modelo
Si generas resúmenes de búsqueda para tus consultas, es posible que observes que los resúmenes difieren entre los resultados de la consola y los de la API. Si ves este mensaje, lo más probable es que la consola esté usando un modelo LLM diferente al de la API. Los ejemplos de curl y de código de esta página usan el modelo LLM estable.
Para cambiar o ver el modelo LLM que se usa en la página Vista previa de la interfaz de usuario, ve a la página Configuraciones > pestaña Interfaz de usuario de tu aplicación.
En el caso de las llamadas a métodos, el modelo estable es el predeterminado. Para usar un modelo de LLM que no sea el estable, consulta Especificar el modelo de resumen y Especificar el modelo de respuesta.