Cuando realizas búsquedas en tu app de Vertex AI Search, puedes especificar filtros de relevancia a nivel del documento para que solo se muestren como resultados los documentos que cumplan con el umbral del filtro. En esta página, se explican los tipos de umbral, la importancia de optimizarlo y cómo especificar los filtros de relevancia y su umbral.
Acerca del filtrado por relevancia a nivel del documento
Cuando una búsqueda devuelve un resultado, se asigna un nivel de relevancia a cada documento recuperado. En tu solicitud de búsqueda, puedes establecer un umbral para devolver solo los documentos que cumplan con el umbral del filtro. Establecer un umbral alto puede reducir la cantidad de documentos que devuelve la búsqueda. Mientras que establecer un umbral bajo puede diluir los resultados con documentos que tienen poca relevancia para la búsqueda del usuario.
Por lo tanto, si observas que el resultado contiene demasiados documentos que no son lo suficientemente relevantes para tus usuarios, establece un umbral de relevancia alto para reducir los resultados solo a los pocos que sean más pertinentes. Si un umbral alto es demasiado restrictivo, puedes reducirlo a un valor más óptimo.
Tipos de búsquedas
Puedes aplicar filtros de relevancia a los siguientes tipos de búsquedas:
- Búsqueda por palabra clave: Recupera documentos según la búsqueda por palabra clave.
- Búsqueda por similitud semántica: Recupera documentos según los embeddings.
En la definición del filtro de relevancia, puedes especificar el tipo de umbral para cada una de estas búsquedas. La búsqueda recupera los documentos para la búsqueda determinada y, luego, aplica el umbral especificado.
Tipos de umbral
Cuando envías tu solicitud de búsqueda, puedes especificar uno de los siguientes tipos de umbral para la búsqueda de palabras clave y la similitud semántica.
Umbral de relevancia: Cuando estableces este umbral, la búsqueda usa un modelo propietario para determinar la relevancia de un documento. En este caso, la búsqueda puede usar cualquier indicador pertinente, como la puntuación de similitud de palabras clave, la puntuación de relevancia del tema y la puntuación de similitud semántica.
El umbral de relevancia es un parámetro de configuración de grano grueso que permite los siguientes valores:
HIGH,MEDIUM,LOWyLOWEST. Un umbral deHIGHpuede devolver menos documentos con una puntuación de relevancia alta, mientras que un umbral deLOWESTpuede devolver más documentos que tal vez no sean relevantes para la búsqueda.Umbral de relevancia semántica: Cuando estableces este umbral, el filtro se basa únicamente en la puntuación de similitud semántica para determinar la relevancia de un documento.
El umbral de relevancia semántica es un parámetro de configuración detallado y es un valor de punto flotante en el rango [0,1]. Si se establece el umbral en cero, se devuelven todos los documentos, mientras que, si se establece en uno, se devuelven los documentos más relevantes.
Definición y ejemplo del filtro de relevancia
Para definir filtros de relevancia en tu solicitud de búsqueda, especifica solo un tipo de umbral (umbral de relevancia y umbral de relevancia semántica) para cada tipo de búsqueda (búsqueda por palabra clave y búsqueda semántica). Puedes especificar uno o ambos tipos de búsqueda dentro de la especificación del filtro de relevancia. Sin embargo, solo debe haber un tipo de umbral definido dentro de cada tipo de búsqueda. Por ejemplo, considera lo siguiente:
{
"relevanceFilterSpec": {
"keywordSearchThreshold": {
"relevanceThreshold": "LOW"
},
"semanticSearchThreshold": {
"semanticRelevanceThreshold": 0.871
}
}
}
En esta solicitud de búsqueda, los resultados se devuelven en dos etapas: recuperación y filtrado.
- La búsqueda recupera los documentos según la coincidencia de palabras clave y, luego, los filtra con un umbral de relevancia bajo. Esto devuelve una gran cantidad de documentos recuperados.
- Al mismo tiempo, la búsqueda recupera los documentos según la similitud semántica y, luego, los filtra con un umbral de relevancia semántica alto de
0.871. Esto devuelve menos documentos recuperados.
El énfasis de la búsqueda se centra más en la concordancia de palabras clave que en la similitud semántica. Los filtros permiten recuperar más documentos debido a la coincidencia de palabras clave.
Del mismo modo, puedes definir el filtro de relevancia de la siguiente manera para devolver menos documentos con palabras clave coincidentes y más documentos con similitud semántica.
"relevanceFilterSpec": {
"keywordSearchThreshold": {
"semanticRelevanceThreshold": 0.871
},
"semanticSearchThreshold": {
"relevanceThreshold": "LOW"
}
}
Tipos de datos y apps compatibles con el filtro de relevancia a nivel del documento
El filtro de relevancia a nivel del documento se puede aplicar a los almacenes de datos con los siguientes tipos de datos:
- Datos del sitio web con indexación avanzada de sitios web
- Datos no estructurados personalizados
- Datos estructurados personalizados
El filtro de relevancia a nivel del documento no funciona para los almacenes de datos con indexación básica de sitios web, datos de medios o datos de atención médica.
Además, el filtro de relevancia a nivel del documento no se puede usar con las apps de búsqueda combinada. Las apps de búsqueda combinada son apps que están conectadas a varios almacenes de datos.
Otros tipos de filtros
El filtro de relevancia a nivel del documento no es la única forma en que puedes filtrar los datos que devuelven las búsquedas. También puedes usar expresiones de filtro para filtrar los resultados según los metadatos (en el indexado avanzado de sitios web y los almacenes de datos no estructurados con metadatos) y los valores de los campos (en los almacenes de datos estructurados).
Para obtener más información, consulta los siguientes recursos:
Si usas una expresión de filtro y el filtro de relevancia a nivel del documento, primero se aplica la expresión de filtro a los resultados y, luego, se aplica el filtro de relevancia a nivel del documento.
Antes de comenzar
Asegúrate de haber creado una app y un almacén de datos, y de haber transferido datos a tu almacén de datos. Para obtener más información, consulta Crea una app de búsqueda. Consulta también Tipos de datos y apps compatibles con el filtro de relevancia a nivel del documento.
Cómo buscar y filtrar los resultados por relevancia a nivel del documento
Para filtrar por relevancia, sigue estos pasos:
Busca el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la consola de Google Cloud , ve a la página AI Applications.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Para filtrar la búsqueda por relevancia a nivel del documento, especifica el campo
relevanceFilterSpecque define solo un tipo de umbral para cada tipo de búsqueda con el métodoengines.servingConfigs.search. Es decir, puedes especificarrelevanceThresholdosemanticRelevanceThresholdpara un tipo de búsqueda determinado.curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1alpha/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", "relevanceFilterSpec": { "keywordSearchThreshold": { "relevanceThreshold": "RELEVANCE_THRESHOLD" }, "semanticSearchThreshold": { "semanticRelevanceThreshold": SEMANTIC_RELEVANCE_THRESHOLD } } }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .APP_ID: Es el ID de la app de Vertex AI Search que deseas consultar.QUERY: Es el texto de la búsqueda.RELEVANCE_THRESHOLD: Uno de los siguientes:HIGH,MEDIUM,LOW,LOWEST.SEMANTIC_RELEVANCE_THRESHOLD: Es un valor de punto flotante en el rango [0,1].
Prueba varias búsquedas con diferentes umbrales para determinar la mejor configuración de umbral para tus datos y tu aplicación.