Logotipo de Zephyrnet

Bases de conocimiento para Amazon Bedrock ahora admite búsqueda híbrida | Servicios web de Amazon

Fecha:

At AWS re: Invent 2023, anunciamos la disponibilidad general de Bases de conocimiento para Amazon Bedrock. Con una base de conocimientos, puede conectar de forma segura modelos básicos (FM) en lecho rocoso del amazonas a los datos de su empresa para una generación aumentada de recuperación (RAG) totalmente administrada.

En un Publicación anterior, describimos cómo Knowledge Bases for Amazon Bedrock administra el flujo de trabajo de RAG de extremo a extremo y compartimos detalles sobre algunos de los lanzamientos recientes de funciones.

Para aplicaciones basadas en RAG, la precisión de la respuesta generada a partir de modelos de lenguaje grandes (LLM) depende del contexto proporcionado al modelo. El contexto se recupera de la base de datos vectorial en función de la consulta del usuario. La búsqueda semántica se utiliza ampliamente porque es capaz de comprender preguntas más humanas: la consulta de un usuario no siempre está directamente relacionada con las palabras clave exactas del contenido que la responde. La búsqueda semántica ayuda a proporcionar respuestas basadas en el significado del texto. Sin embargo, tiene limitaciones a la hora de capturar todas las palabras clave relevantes. Su rendimiento depende de la calidad de las incrustaciones de palabras utilizadas para representar el significado del texto. Para superar estas limitaciones, combinar la búsqueda semántica con la búsqueda de palabras clave (híbrida) dará mejores resultados.

En esta publicación, analizamos la nueva función de búsqueda híbrida, que puede seleccionar como opción de consulta junto con la búsqueda semántica.

Descripción general de la búsqueda híbrida

La búsqueda híbrida aprovecha las ventajas de múltiples algoritmos de búsqueda, integrando sus capacidades únicas para mejorar la relevancia de los resultados de búsqueda devueltos. Para las aplicaciones basadas en RAG, las capacidades de búsqueda semántica se combinan comúnmente con la búsqueda tradicional basada en palabras clave para mejorar la relevancia de los resultados de la búsqueda. Permite buscar tanto en el contenido de los documentos como en su significado subyacente. Por ejemplo, considere la siguiente consulta:

What is the cost of the book "<book_name>" on <website_name>?

En esta consulta de nombre de libro y nombre de sitio web, una búsqueda por palabra clave dará mejores resultados, porque queremos el costo del libro específico. Sin embargo, el término “coste” puede tener sinónimos como “precio”, por lo que será mejor utilizar la búsqueda semántica, que comprende el significado del texto. La búsqueda híbrida ofrece lo mejor de ambos enfoques: precisión de la búsqueda semántica y cobertura de palabras clave. Funciona muy bien para aplicaciones basadas en RAG donde el recuperador tiene que manejar una amplia variedad de consultas en lenguaje natural. Las palabras clave ayudan a cubrir entidades específicas de la consulta, como el nombre del producto, el color y el precio, mientras que la semántica comprende mejor el significado y la intención de la consulta. Por ejemplo, si desea crear un chatbot para un sitio web de comercio electrónico para manejar las consultas de los clientes, como la política de devoluciones o los detalles del producto, lo más adecuado será utilizar la búsqueda híbrida.

Casos de uso para la búsqueda híbrida

Los siguientes son algunos casos de uso comunes para la búsqueda híbrida:

  • Respuesta a preguntas de dominio abierto – Esto implica responder preguntas sobre una amplia variedad de temas. Esto requiere buscar en grandes colecciones de documentos con contenido diverso, como datos de sitios web, que pueden incluir diversos temas como sostenibilidad, liderazgo, resultados financieros y más. La búsqueda semántica por sí sola no puede generalizarse bien para esta tarea, porque carece de la capacidad de coincidencia léxica de entidades invisibles, lo cual es importante para manejar ejemplos fuera del dominio. Por lo tanto, combinar la búsqueda basada en palabras clave con la búsqueda semántica puede ayudar a reducir el alcance y proporcionar mejores resultados para responder preguntas de dominio abierto.
  • Chatbots contextuales – Las conversaciones pueden cambiar rápidamente de dirección y cubrir temas impredecibles. La búsqueda híbrida puede manejar mejor estos diálogos abiertos.
  • Búsqueda personalizada – La búsqueda a escala web sobre contenido heterogéneo se beneficia de un enfoque híbrido. La búsqueda semántica maneja consultas principales populares, mientras que las palabras clave cubren consultas poco comunes de cola larga.

Aunque la búsqueda híbrida ofrece una cobertura más amplia al combinar dos enfoques, la búsqueda semántica tiene ventajas de precisión cuando el dominio es limitado y la semántica está bien definida, o cuando hay poco margen para interpretaciones erróneas, como los sistemas de respuesta a preguntas factoides.

Beneficios de la búsqueda híbrida

Tanto la búsqueda semántica como la de palabras clave arrojarán un conjunto separado de resultados junto con sus puntuaciones de relevancia, que luego se combinan para arrojar los resultados más relevantes. Knowledge Bases para Amazon Bedrock actualmente admite cuatro tiendas de vectores: Amazon OpenSearch sin servidor, Edición compatible con Amazon Aurora PostgreSQL, piñay Nube empresarial de Redis. Al momento de escribir este artículo, la función de búsqueda híbrida está disponible para OpenSearch Serverless, y pronto habrá soporte para otras tiendas de vectores.

Los siguientes son algunos de los beneficios de utilizar la búsqueda híbrida:

  • Precisión mejorada – La precisión de la respuesta generada por el FM depende directamente de la relevancia de los resultados recuperados. Según sus datos, puede resultar complicado mejorar la precisión de su aplicación únicamente mediante la búsqueda semántica. El beneficio clave de utilizar la búsqueda híbrida es obtener una mejor calidad de los resultados recuperados, lo que a su vez ayuda al FM a generar respuestas más precisas.
  • Capacidades de búsqueda ampliadas – La búsqueda de palabras clave arroja una red más amplia y encuentra documentos que pueden ser relevantes pero que pueden no contener una estructura semántica en todo el documento. Le permite buscar palabras clave y el significado semántico del texto, ampliando así las capacidades de búsqueda.

En las siguientes secciones, demostramos cómo utilizar la búsqueda híbrida con bases de conocimiento para Amazon Bedrock.

Utilice opciones de búsqueda híbrida y búsqueda semántica a través del SDK

Cuando llama a la API de recuperación, Knowledge Bases for Amazon Bedrock selecciona la estrategia de búsqueda adecuada para brindarle los resultados más relevantes. Tiene la opción de anularlo para utilizar la búsqueda híbrida o semántica en la API.

Recuperar API

La API de recuperación está diseñada para obtener resultados de búsqueda relevantes proporcionando la consulta del usuario, el ID de la base de conocimientos y la cantidad de resultados que desea que devuelva la API. Esta API convierte las consultas de los usuarios en incrustaciones, busca en la base de conocimientos mediante búsqueda híbrida o búsqueda semántica (vectorial) y devuelve los resultados relevantes, lo que le brinda más control para crear flujos de trabajo personalizados además de los resultados de la búsqueda. Por ejemplo, puede agregar lógica de posprocesamiento a los resultados recuperados o agregar su propio mensaje y conectarse con cualquier FM proporcionado por Amazon Bedrock para generar respuestas.

Para mostrarle un ejemplo de cómo cambiar entre opciones de búsqueda híbrida y semántica (vectorial), hemos creado una base de conocimientos utilizando el Documento de Amazon 10K para 2023. Para obtener más detalles sobre la creación de una base de conocimientos, consulte Cree una aplicación de chatbot contextual utilizando Knowledge Bases para Amazon Bedrock.

Para demostrar el valor de la búsqueda híbrida, utilizamos la siguiente consulta:

As of December 31st 2023, what is the leased square footage for physical stores in North America?

La respuesta a la consulta anterior implica algunas palabras clave, como date, physical storesy North America. La respuesta correcta es 22,871 thousand square feet. Observemos la diferencia en los resultados de búsqueda tanto para la búsqueda híbrida como para la semántica.

El siguiente código muestra cómo utilizar la búsqueda híbrida o semántica (vectorial) utilizando la API Retrieve con Boto3:

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

def retrieve(query, kbId, numberOfResults=5):
    return bedrock_agent_runtime.retrieve(
        retrievalQuery= {
            'text': query
        },
        knowledgeBaseId=kbId,
        retrievalConfiguration= {
            'vectorSearchConfiguration': {
                'numberOfResults': numberOfResults,
                'overrideSearchType': "HYBRID/SEMANTIC", # optional
            }
        }
    )
response = retrieve("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["retrievalResults"]

El overrideSearchType en opción retrievalConfiguration ofrece la opción de utilizar HYBRID or SEMANTIC. De forma predeterminada, seleccionará la estrategia adecuada para usted para brindarle los resultados más relevantes y, si desea anular la opción predeterminada para usar la búsqueda híbrida o semántica, puede establecer el valor en HYBRID/SEMANTIC. La salida de la Retrieve La API incluye los fragmentos de texto recuperados, el tipo de ubicación y el URI de los datos de origen, y las puntuaciones de relevancia de las recuperaciones. Las puntuaciones ayudan a determinar qué fragmentos coinciden mejor con la respuesta de la consulta.

Los siguientes son los resultados de la consulta anterior utilizando la búsqueda híbrida (con algunos de los resultados redactados para mayor brevedad):

[
  {
    "content": {
      "text": "... Description of Use Leased Square Footage (1).... Physical stores (2) 22,871  ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions): December 31, 2021 2022 2023 North America $ 83,640 $ 90,076 $ 93,632 International 21,718 23,347 24,357 AWS 43,245 60,324 72,701 Corporate 1.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "..amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023. 54 Table of Contents Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well as server and networking equipment, aircraft, and vehicles. Gross assets acquired under finance leases, ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  }
]

Los siguientes son los resultados de la búsqueda semántica (con algunos de los resultados redactados por razones de brevedad):

[
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions):    December 31,    2021 2022 2023   North America $ 83,640 $ 90,076 $ 93,632  International 21,718 23,347 24,357  AWS 43,245 60,324 72,701.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Depreciation and amortization expense on property and equipment was $22.9 billion, $24.9 billion, and $30.2 billion which includes amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023.   54        Table of Contents   Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well a..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  },
  {
    "content": {
      "text": "Incentives that we receive from property and equipment   vendors are recorded as a reduction to our costs. Property includes buildings and land that we own, along with property we have acquired under build-to-suit lease arrangements when we have control over the building during the construction period and finance lease arrangements..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61353767
  }
]

Como puede ver en los resultados, la búsqueda híbrida pudo recuperar el resultado de la búsqueda con los pies cuadrados alquilados para tiendas físicas en América del Norte, como se menciona en la consulta del usuario. La razón principal fue que la búsqueda híbrida pudo combinar los resultados de palabras clave como date, physical storesy North America en la consulta, mientras que la búsqueda semántica no. Por lo tanto, cuando los resultados de la búsqueda se aumentan con la consulta del usuario y el mensaje, el FM no podrá proporcionar la respuesta correcta en el caso de una búsqueda semántica.

Ahora veamos el RetrieveAndGenerate API con búsqueda híbrida para entender la respuesta final generada por el FM.

Recuperar y generar API

El RetrieveAndGenerate API consulta una base de conocimientos y genera una respuesta basada en los resultados recuperados. Usted especifica el ID de la base de conocimientos y el FM para generar una respuesta a partir de los resultados. Amazon Bedrock convierte las consultas en incrustaciones, consulta la base de conocimientos según el tipo de búsqueda y luego aumenta el mensaje de FM con los resultados de la búsqueda como información de contexto y devuelve la respuesta generada por FM.

Usemos la consulta "Al 31 de diciembre de 2023, ¿cuál es la superficie alquilada para tiendas físicas en América del Norte?" y pregunta al RetrieveAndGenerate API para generar la respuesta usando nuestra consulta:

def retrieveAndGenerate(input, kbId):
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': input
        },
        retrieveAndGenerateConfiguration={
            'type': 'KNOWLEDGE_BASE',
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1'
                'retrievalConfiguration': {
                'overrideSearchType': 'HYBRID/SEMANTIC',
                }
                }
            }
        )
response = retrieveAndGenerate("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["output"]["text"]

Los siguientes son los resultados utilizando la búsqueda híbrida:

22,871 thousand leased square feet

Los siguientes son los resultados utilizando la búsqueda semántica:

The search results do not contain any information about the leased square footage for physical stores in North America for 2023.

La respuesta real a la consulta es 22,871 thousand leased square feet, que se genera mediante la búsqueda híbrida. Los resultados de búsqueda recuperados para la búsqueda híbrida incluyeron información sobre los metros cuadrados alquilados para tiendas físicas en América del Norte, mientras que la búsqueda semántica no pudo obtener la información correcta de la tienda vectorial debido a la traducción de incrustaciones. Por lo tanto, FM no pudo proporcionar la respuesta correcta porque no tenía los resultados de búsqueda correctos y más relevantes.

Sin embargo, para preguntas más genéricas que no involucran entidades como physical stores or North America, tanto la búsqueda híbrida como la semántica dan resultados similares.

Los siguientes son ejemplos de respuestas de algunas consultas que demuestran casos en los que tanto la búsqueda híbrida como la semántica arrojan resultados similares.

Pregunta Búsqueda semántica: API RAG Búsqueda híbrida: API RAG
¿Cómo sirve Amazon a los desarrolladores y empresas? Prestamos servicios a desarrolladores y empresas de todos los tamaños, incluidas empresas emergentes, agencias gubernamentales e instituciones académicas, a través de AWS, que ofrece un amplio conjunto de servicios de tecnología bajo demanda, que incluyen computación, almacenamiento, bases de datos, análisis y aprendizaje automático, y otros servicios Prestamos servicios a desarrolladores y empresas de todos los tamaños, incluidas empresas emergentes, agencias gubernamentales e instituciones académicas, a través de AWS, que ofrece un amplio conjunto de servicios de tecnología bajo demanda, que incluyen computación, almacenamiento, bases de datos, análisis y aprendizaje automático, y otros servicios.
¿Quiénes son los directores ejecutivos y directores de Amazon a partir del 24 de enero de 2024? Los directores ejecutivos de Amazon a partir de 2024 incluyen a Andrew R. Jassy como presidente y director ejecutivo, Douglas J. Herrington como director ejecutivo de Worldwide Amazon Stores, Brian T. Olsavsky como vicepresidente senior y director financiero, Shelley L. Reynolds como vicepresidenta. , contralor mundial y director de contabilidad, Adam N. Selipsky como director ejecutivo de Amazon Web Services, y David A. Zapolsky como vicepresidente senior de políticas públicas globales y asesor general. A partir de 2024, Jeffrey P. Bezos se desempeña como presidente ejecutivo de Amazon.com. Andrew R. Jassy se desempeña como presidente y director ejecutivo. Otros directores ejecutivos incluyen a Douglas J. Herrington como director ejecutivo de Worldwide Amazon Stores, Brian T. Olsavsky como vicepresidente senior y director financiero, Shelley L. Reynolds como vicepresidente, contralor mundial y director de contabilidad, y Adam N. Selipsky como director ejecutivo. Servicios web de Amazon. David A. Zapolsky se desempeña como vicepresidente sénior de políticas públicas globales y asesor general

Utilice opciones de búsqueda híbrida y búsqueda semántica a través de la consola de Amazon Bedrock

Para utilizar opciones de búsqueda híbrida y semántica en la consola de Amazon Bedrock, complete los siguientes pasos:

  1. En la consola de Amazon Bedrock, elija Base de conocimiento en el panel de navegación.
  2. Elija la base de conocimientos que creó.
  3. Elige Base de conocimientos de prueba.
  4. Elija el icono de configuraciones.
  5. Tipo de búsquedaSeleccione Búsqueda híbrida (semántica y textual).

De forma predeterminada, puede elegir un FM para obtener una respuesta generada para su consulta. Si desea ver solo los resultados recuperados, puede alternar Generar respuesta desactivado para obtener sólo los resultados recuperados.

Conclusión

En esta publicación, cubrimos la nueva función de consulta en las bases de conocimiento de Amazon Bedrock, que permite la búsqueda híbrida. Aprendimos cómo configurar la opción de búsqueda híbrida en el SDK y la consola de Amazon Bedrock. Esto ayuda a superar algunas de las limitaciones de depender únicamente de la búsqueda semántica, especialmente para buscar en grandes colecciones de documentos con contenido diverso. El uso de la búsqueda híbrida depende del tipo de documento y del caso de uso que esté intentando implementar.

Para recursos adicionales, consulte lo siguiente:

Referencias

Mejora del rendimiento de recuperación en canalizaciones RAG con búsqueda híbrida


Acerca de los autores

Mani Januja es líder tecnológica: especialistas en IA generativa, autora del libro Applied Machine Learning and High Performance Computing on AWS y miembro de la junta directiva de la Junta Directiva de la Women in Manufacturing Education Foundation. Lidera proyectos de aprendizaje automático en diversos ámbitos, como la visión por computadora, el procesamiento del lenguaje natural y la inteligencia artificial generativa. Habla en conferencias internas y externas como AWS re:Invent, Women in Manufacturing West, seminarios web de YouTube y GHC 23. En su tiempo libre, le gusta salir a correr largas distancias por la playa.

Pallavi Nargund es arquitecto principal de soluciones en AWS. En su función como facilitadora de tecnología en la nube, trabaja con los clientes para comprender sus objetivos y desafíos y brindarles orientación prescriptiva para lograr su objetivo con las ofertas de AWS. Le apasionan las mujeres en la tecnología y es miembro principal de Women in AI/ML en Amazon. Habla en conferencias internas y externas como AWS re:Invent, AWS Summits y seminarios web. Fuera del trabajo, le gusta el voluntariado, la jardinería, el ciclismo y el senderismo.

punto_img

Información más reciente

punto_img