En esta página se presenta la búsqueda con respuestas y seguimiento de Vertex AI Search, y se explica cómo implementarla en aplicaciones de búsqueda personalizadas mediante llamadas a métodos.
La búsqueda con respuesta y las preguntas de seguimiento se basan en el método de respuesta. El método de respuesta sustituye a las funciones de resumen del método search anterior y a todas las funciones del método converse obsoleto. El método de respuesta también tiene algunas funciones adicionales importantes, como la capacidad de gestionar consultas complejas.
Características del método de respuesta
Estas son las características principales del método de respuesta:
La capacidad de generar respuestas a consultas complejas. Por ejemplo, el método de respuesta puede desglosar consultas compuestas, como la siguiente, en varias consultas más pequeñas para devolver mejores resultados que se usan para ofrecer mejores respuestas:
- "¿Cuáles son los ingresos respectivos de Google Cloud y Google Ads en el 2024?"
- "¿Cuántos años después de su fundación, Google alcanzó los 1000 millones de dólares de ingresos?"
La capacidad de combinar la búsqueda y la generación de respuestas en una conversación de varios turnos llamando al método de respuesta en cada turno.
La capacidad de emparejarse con el método de búsqueda para reducir la latencia de búsqueda. Puedes llamar al método de búsqueda y al método de respuesta por separado, y renderizar los resultados de búsqueda y las respuestas en diferentes iframes en momentos distintos. Esto significa que puedes mostrar a tus usuarios resultados de búsqueda (los 10 enlaces azules) en milisegundos. No tienes que esperar a que se generen las respuestas para mostrar los resultados de búsqueda.
Las funciones de respuesta y seguimiento se pueden dividir en tres fases de la consulta, la búsqueda y la respuesta:
Cuándo usar la respuesta y cuándo la búsqueda
Vertex AI Search tiene dos métodos que se usan para consultar aplicaciones. Tienen funciones diferentes, pero superpuestas.
Usa el método answer cuando:
Quieres que la IA genere una respuesta (o un resumen) de los resultados de búsqueda.
Quieres hacer búsquedas de varios turnos, es decir, búsquedas que mantengan el contexto para poder hacer preguntas de seguimiento.
Usa el método search en los siguientes casos:
Solo necesitas resultados de búsqueda, no una respuesta generada.
Tienes alguna de las siguientes opciones:
- Datos de medios o sanitarios
- Tus propias inserciones
- Controles de sinónimos o redirecciones
- Facetas
- Códigos de país de los usuarios
Debe consultar los datos de su almacén de datos genérico.
Usa los métodos de respuesta y búsqueda juntos cuando:
Quieres que se devuelvan más de diez resultados de búsqueda y quieres que se genere una respuesta.
Tienes problemas de latencia y quieres devolver y mostrar los resultados de búsqueda rápidamente antes de que se devuelva la respuesta generada.
Funciones de la fase de consulta
La función de respuesta y seguimiento admite el procesamiento de consultas en lenguaje natural.
En esta sección se describen y se ilustran las distintas opciones de reformulación y clasificación de consultas.
Reformulación de consultas
La reformulación de consultas está activada de forma predeterminada. Esta función elige automáticamente la mejor forma de reformular las consultas para mejorar los resultados de búsqueda. Esta función también puede gestionar consultas que no requieren reformulación.
Desglosar consultas complejas en varias consultas y realizar subconsultas síncronas.
Por ejemplo, una consulta compleja se divide en cuatro consultas más pequeñas y sencillas.
Entrada del usuario Subconsultas creadas a partir de la consulta compleja ¿Qué trabajos y aficiones tienen en común Andie Ram y Arnaud Clément? - Profesión de Andie Ram
- Profesión de Arnaud Clément
- Andie Ram hobby
- Afición de Arnaud Clément
Sintetiza consultas multiturno para que las preguntas posteriores tengan en cuenta el contexto y el estado.
Por ejemplo, las consultas sintetizadas a partir de las entradas de los usuarios en cada turno podrían ser las siguientes:
Entrada del usuario Consulta sintetizada Turn 1: laptops for school Portátiles para centros educativos Turno 2: no es una Mac portátiles para el colegio que no sean Mac Turno 3: pantalla más grande y también necesito un teclado y un ratón inalámbricos portátiles con pantallas más grandes para el colegio que no sean Mac con teclado y ratón inalámbricos Turn 4: and a backpack for it ordenadores portátiles con pantalla más grande para el colegio, que no sean Mac, con teclado y ratón inalámbricos, y una mochila para llevarlo Simplifica las consultas largas para mejorar la recuperación (requiere la opción Respuestas generativas).
Por ejemplo, una consulta larga se acorta a una consulta típica.
Entrada del usuario Consulta simplificada Quiero saber por qué el botón \"Añadir al carrito\" de nuestro sitio web no funciona correctamente. Parece que, cuando un usuario hace clic en el botón, el artículo no se añade al carrito y recibe un mensaje de error. He comprobado el código y parece que es correcto, así que no sé cuál puede ser el problema. ¿Puedes ayudarme a solucionar este problema? El botón "Añadir al carrito" no funciona en el sitio web. Realizar razonamientos de varios pasos
El razonamiento de varios pasos se basa en el paradigma ReAct (razonar + actuar), que permite a los LLMs resolver tareas complejas mediante el razonamiento en lenguaje natural. De forma predeterminada, el número máximo de pasos es cinco.
Por ejemplo:
Entrada del usuario Dos pasos para generar la respuesta ¿Cuántos años después de su fundación alcanzó Google los 1000 millones de dólares de ingresos? Paso 1:
[Pensamiento]: Necesito saber cuándo se fundó Google para poder consultar sus ingresos desde entonces.
[Act] Search: When was Google founded?[Observe Search Results]: "1998"
Paso 2:
[Thought]: Ahora tengo que buscar los ingresos anuales de Google desde 1998 y averiguar cuándo superaron los mil millones por primera vez.
[Act] Search: Google revenue since 1998
[Observe Search Results] Google revenue in 1998, Google revenue in 1999…..
[Respuesta]: Google alcanzó más de 1000 millones de dólares en ingresos en el 2003 [1], 5 años después de su fundación en 1998 [2].Para usar el razonamiento de varios pasos, debe habilitar la opción Respuestas generativas.
Clasificación de consultas
Las opciones de clasificación de consultas permiten identificar consultas adversarias y consultas que no buscan una respuesta. De forma predeterminada, las opciones de clasificación de consultas están desactivadas.
Para obtener más información sobre las consultas de confrontación y las que no buscan respuestas, consulta Ignorar consultas de confrontación e Ignorar consultas que no buscan resúmenes.
Funciones de la fase de búsqueda
En el caso de las búsquedas, el método de respuesta tiene las mismas opciones que el método de búsqueda. Por ejemplo:
Aplicar filtros para restringir la búsqueda a documentos específicos. Para obtener más información, consulta Filtrar búsquedas personalizadas por datos estructurados o no estructurados.
Aplicar Búsqueda Segura para filtrar contenido explícito, como violencia y pornografía. Para obtener más información, consulta Configuración de seguridad de Vertex AI Search.
Especificar condiciones de refuerzo para promocionar o degradar los documentos devueltos por la búsqueda. Para obtener más información, consulta el artículo Mejorar los resultados de búsqueda.
Funciones de la fase de respuesta
Durante la fase de respuesta, cuando se generan respuestas a partir de los resultados de búsqueda, puedes habilitar las mismas funciones que en el método de búsqueda. Por ejemplo:
Obtener citas para indicar la fuente de cada frase de la respuesta. Para obtener más información, consulta Incluir citas.
Usa el preámbulo de la petición para personalizar la respuesta en cuanto al tono, el estilo y la verbosidad, entre otros aspectos. Para obtener más información, consulta Especificar un preámbulo personalizado.
Elige qué modelo de Vertex AI quieres usar para generar respuestas. Para obtener más información, consulta Versiones y ciclo de vida del modelo de generación de respuestas.
Elige si quieres ignorar las consultas que se hayan clasificado como adversarias o que no busquen una respuesta.
Para obtener más información sobre las consultas de confrontación y las que no buscan respuestas, consulta Ignorar consultas de confrontación e Ignorar consultas que no buscan resúmenes. Las consultas que no buscan respuestas también se denominan consultas que no buscan resúmenes.
Estas son las funciones adicionales de la fase de respuesta que no están disponibles en el método de búsqueda:
Obtener una puntuación de respaldo para cada afirmación (frase de la respuesta generada). Una puntuación de asistencia es un valor de coma flotante comprendido entre 0 y 1 que indica el grado de fundamentación de la reclamación en los datos del almacén de datos. Para obtener más información, consulta Devolver puntuaciones de asistencia de grounding.
Obtener una puntuación de asistencia agregada para la respuesta. La puntuación de asistencia indica en qué medida la respuesta se basa en los datos del almacén de datos. Para obtener más información, consulta Devolver puntuaciones de soporte de grounding.
Devuelve solo respuestas bien fundamentadas. Puedes elegir devolver solo las respuestas que cumplan un determinado umbral de puntuación de asistencia. Para obtener más información, consulta Mostrar solo respuestas fundamentadas.
Elige si quieres que se devuelvan preguntas relacionadas. Las preguntas relacionadas son sugerencias que tus usuarios pueden elegir en lugar de escribir sus propias preguntas.
Añade información de personalización a las consultas para que las respuestas se puedan adaptar a cada usuario. Para obtener más información, consulta Personalizar respuestas.
Para recibir respuestas multimodales que incluyan gráficos o imágenes además de texto, tienes las siguientes opciones:
Obtener respuestas que incluyan gráficos que representen los datos contenidos en las respuestas. Para obtener más información, consulta Generar gráficos de respuestas.
Recuperando imágenes del almacén de datos. Si el almacén de datos contiene imágenes, el método de respuesta puede devolver una imagen en la respuesta. Las imágenes del almacén de datos también se pueden devolver en referencias si se solicitan citas. Para obtener más información, consulta Recuperar imágenes del almacén de datos.
Antes de empezar
En función del tipo de aplicación que tengas, cumple los siguientes requisitos:
Si tienes una aplicación de búsqueda de datos estructurados, no estructurados o de sitios web, activa las siguientes opciones:
- Funciones de la edición Enterprise: te dan acceso a las funciones de respuestas generativas básicas. Esto incluye todas las funciones de generación de respuestas, excepto las funciones de respuestas generativas avanzadas, como las preguntas relacionadas, la simplificación de consultas, las consultas de varias fases y las respuestas multimodales que devuelven imágenes y gráficos.
- Respuestas generativas: te da acceso a las funciones de respuestas generativas avanzadas que requieren razonamiento de varios pasos, simplificación de consultas, consultas de varios turnos, preguntas relacionadas y respuestas multimodales que devuelven imágenes y gráficos.
Además, si tiene un almacén de datos de búsqueda en el sitio web, active la indexación avanzada de sitios web.
Buscar y responder (básico)
El siguiente comando muestra cómo llamar al método answer y devolver una respuesta generada y una lista de resultados de búsqueda, con enlaces a las fuentes.
Este comando solo muestra la entrada obligatoria. Las opciones se dejan con sus valores predeterminados.
REST
Para buscar y obtener resultados con una respuesta generada, sigue estos pasos:
Ejecuta el siguiente comando curl:
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:answer" \ -d '{ "query": { "text": "QUERY"} }'Haz los cambios siguientes:
PROJECT_ID: el ID de tu proyecto de Google Cloud .APP_ID: el ID de la aplicación de Vertex AI Search que quieres consultar.QUERY: una cadena de texto libre que contiene la pregunta o la consulta de búsqueda. Por ejemplo, "¿Comparar las bases de datos de BigQuery y Spanner?".
Python
Para obtener más información, consulta la documentación de referencia de la API Python Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.