En esta página, se muestra cómo obtener resultados de la búsqueda con la API.
Puedes hacer llamadas a la API y, luego, integrarlas en tu servidor o aplicación. En esta página, se incluyen ejemplos de código para realizar búsquedas con las bibliotecas cliente de gRPC con una cuenta de servicio.
Cómo obtener resultados de búsqueda
Puedes obtener resultados de la búsqueda con la API.
REST
Para usar la API y obtener resultados de la búsqueda para una app con datos estructurados o no estructurados
datos, usa el engines.servingConfigs.search método:
Encuentra el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la Google Cloud consola de, ve a la página Gemini Enterprise.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Obtén una vista previa de los resultados de la 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"}], }'Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.APP_ID: el ID de la app que deseas consultar.QUERY: el texto de la consulta que se buscará.USER_PSEUDO_ID: una cadena codificada en UTF-8, que actúa como un identificador seudonimizado único que hace un seguimiento de los usuarios. Puede tener una longitud máxima de 128 caracteres. Google recomienda usar este campo, ya que mejora el rendimiento del modelo y la calidad de la personalización. Puedes 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 accede a un sitio web o sale de él.
- Este campo no debe establecerse en el mismo identificador para varios usuarios. De lo contrario, usar el mismo ID de usuario para varios usuarios puede combinar los historiales de eventos de diferentes usuarios y degradar la calidad del modelo.
- Este campo no debe incluir información de identificación personal (PII).
- Para una búsqueda o una solicitud de exploración determinada, este campo debe asignarse al
campo
userPseudoIdcorrespondiente en los eventos del usuario.
Para obtener más información, consulta
userPseudoId.PAGE_SIZE: la cantidad de resultados que muestra 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 fuerzan al valor máximo.OFFSET: es opcional. Es el índice inicial 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 para mostrar, los resultados del 2 al 11 se muestran en la primera página.
ORDER_BY: es opcional. Es el orden en el que se organizan los resultados.FILTER: es opcional. Es 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 Cómo filtrar la búsqueda de datos estructurados o no estructurados data.
BOOST_SPEC: es opcional. Es una especificación para destacar o ocultar documentos. Valores:BOOST: un número de punto flotante en el rango [-1,1]. Cuando el valor es negativo, los resultados se degradan (aparecen más abajo en los resultados). Cuando 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 aumento. El filtro debe evaluarse como un valor booleano.
Para obtener información sobre el aumento de la búsqueda estructurada, consulta Cómo destacar los resultados de la búsqueda.
FACET_SPEC: es opcional. Es una especificación de faceta para realizar una búsqueda por facetas.QUERY_EXPANSION_SPEC: es opcional. Es una especificación para determinar en qué condiciones debe ocurrir la búsqueda expandida. El valor predeterminado esDISABLED.SPELL_CORRECTION_SPEC: es opcional. Es una especificación para determinar en qué condiciones debe ocurrir la corrección ortográfica. El valor predeterminado esAUTO.CONTENT_SEARCH_SPEC: es opcional. Para obtener fragmentos, respuestas extractivas, segmentos extractivos y resúmenes de búsqueda. Solo para datos no estructurados. Para obtener más información, consulta las secciones siguientes:DATA_STORE_SPEC: filtros para un almacén de datos específico en el que se realizará la búsqueda. Esto se puede usar si tu app de búsqueda está conectada a varios almacenes de datos. Para obtener más información, consulta DataStoreSpec.Cómo ver los resultados de la búsqueda guiada en la respuesta de búsqueda:
Los resultados de la búsqueda guiada se muestran con las respuestas de búsqueda para la búsqueda estructurada y no estructurada. El resultado de la búsqueda guiada contiene una lista de pares clave-valor de atributos extraídos en función de los documentos de resultados de la búsqueda. Esto permite a los usuarios mejorar sus resultados de la búsqueda usando algunas claves y valores de atributos como filtros.
En este ejemplo de respuesta, se usó el color verde para mejorar los resultados de la búsqueda mediante la emisión de 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" } ] } }
Obtén puntuaciones de relevancia de documentos con los resultados de la búsqueda
Las puntuaciones de relevancia de documentos se basan en la similitud de la consulta con el documento. Las puntuaciones se colocan en 11 buckets en el rango: 0, 0.1, 0.2, … a 1.0. Cuanto más alta sea la puntuación, más relevante será el documento.
Considera las puntuaciones de relevancia de documentos para estos casos de uso:
Filtrado posterior a la búsqueda basado en la puntuación de relevancia para quitar 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 muestran algunos resultados de la búsqueda
Para cada resultado de la búsqueda, se puede mostrar una puntuación de relevancia:
"results": [
{
"id": "DOCUMENT_ID",
"document": {
...
},
"modelScores": {
"relevance_score": {
"values": [
DOCUMENT-RELEVANCE-SCORE
]
}
}
},
...
Consulta también el comando de ejemplo en el siguiente procedimiento.
Antes de comenzar: Asegúrate de que la app de búsqueda esté asociada con un almacén de datos estructurados o no estructurados.
REST
Para solicitar que se muestren las puntuaciones de relevancia de documentos con los resultados de la búsqueda, usa
el engines.servingConfigs.search método de
la siguiente manera:
Encuentra el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la Google Cloud consola de, ve a la página Gemini Enterprise.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Ejecuta el siguiente comando curl para obtener las puntuaciones que se muestran con los resultados de la 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 app que deseas consultar.QUERY: el texto de la consulta que se 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 resultados de la API. Si ves esto, es probable que la consola use un modelo de LLM diferente de la API. Los ejemplos de curl y código de esta página usan el modelo de LLM estable.
Para cambiar o ver el modelo de LLM que se usa en la página Vista previa de la IU, ve a la página Parámetros de configuración > pestaña IU de tu app.
Para las llamadas a métodos, el modelo estable es el modelo predeterminado. Para usar un modelo de LLM que no sea el modelo estable, consulta Especifica el modelo de resumen y Especifica el modelo de respuesta.