Cree interfaces conversacionales para datos estructurados utilizando bases de conocimiento de roca madre de Amazon

Las organizaciones administran datos estructurados extensos en bases de datos y almacenes de datos. Los modelos de lenguaje grande (LLM) han transformado el procesamiento del lenguaje natural (PNL), sin embargo, la conversión de consultas conversacionales en análisis de datos estructurados sigue siendo complejo. Los analistas de datos deben traducir preguntas comerciales en consultas SQL, creando cuellos de botella de flujo de trabajo.

Bases de conocimiento de Amazon Bedrock permite interacciones directas del lenguaje natural con fuentes de datos estructuradas. El sistema interpreta los esquemas y el contexto de la base de datos, convirtiendo las preguntas del lenguaje natural en consultas precisas mientras mantiene los estándares de confiabilidad de datos. Puede chatear con sus datos estructurados configurando la ingestión de datos estructurados de Catálogo de datos de pegamento AWS mesas y Amazon Redshift grupos en unos pocos pasos, utilizando el poder de la recuperación de datos estructurados de las bases de roca madre de Amazon.

Esta publicación proporciona instrucciones para configurar una solución de recuperación de datos estructurada, con ejemplos de código práctico y plantillas. Cubre muestras de implementación y consideraciones adicionales, lo que le permite construir y escalar rápidamente sus interfaces de datos de conversación. A través de ejemplos claros y metodologías probadas, las organizaciones pueden transformar sus capacidades de acceso a datos y acelerar los procesos de toma de decisiones.

Descripción general de la solución

La solución demuestra cómo construir una aplicación de conversación utilizando la recuperación de datos estructurados de Bases Bated Rock de Amazon Bedrock. Los desarrolladores a menudo enfrentan desafíos que integran datos estructurados en aplicaciones generativas de IA. Esto incluye dificultades de capacitación en LLM para convertir consultas de lenguaje natural en consultas SQL basadas en esquemas de bases de datos complejos, así como para asegurarse de que estén en su lugar los controles de seguridad y los controles de seguridad apropiados. Las bases de conocimiento de Amazon Bedrock alivian estas complejidades al proporcionar un lenguaje natural administrado al módulo SQL (NL2SQL). Amazon Bedrock Knowledge Bases ofrece un flujo de trabajo administrado de extremo a extremo para que cree aplicaciones de IA generativas personalizadas que puedan acceder e incorporar información contextual de una variedad de fuentes de datos estructuradas y no estructuradas. Usando NLP avanzado, las bases de conocimiento de Amazon Bedrock pueden transformar consultas de lenguaje natural en consultas SQL, por lo que puede recuperar datos directamente de la fuente sin la necesidad de mover o preprojar los datos.

Esta solución incluye bases de conocimiento de roca madre de Amazon, Amazon Redshift, AWS Gluey Servicio de almacenamiento simple de Amazon (Amazon S3). La arquitectura de la solución consta de dos partes: una tubería de ingestión de datos y una aplicación de recuperación de datos estructurada utilizando bases de conocimiento de roca madre de Amazon.

Amazon Bedrock Bases Bases Estructured Data Recupertal admite Amazon Redshift como el motor de consulta y múltiples opciones de ingestión de datos. La tubería de ingestión de datos es una configuración única y admite múltiples opciones de ingestión. En esta publicación, discutimos un caso de uso de ingestión de datos común utilizando Amazon S3, AWS Glue y Amazon Redshift.

Puede configurar la recuperación de datos estructurados de Amazon Bedrock Bases para recuperar datos de las bases de datos de pegamento AWS y los conjuntos de datos S3. Esta configuración usa Montaje automático del catálogo de datos en Amazon Redshift. Con esta opción de ingestión, puede integrar sin problemas los conjuntos de datos S3 y las tablas de catálogo de datos existentes en sus aplicaciones de generación aumentada de recuperación (RAG) con los permisos de acceso configurados a través de la formación del lago. El siguiente diagrama ilustra esta tubería.

La siguiente captura de pantalla muestra las opciones de configuración en la consola de rock de Amazon.

Interfaz de configuración de metadatos de almacenamiento con opciones de catálogo de datos de desplazamiento rojo y pegamento

Después de configurar la ingestión de datos y el trabajo de sincronización de la fuente de datos de las bases de conocimiento está completo, los usuarios pueden hacer preguntas de lenguaje natural, y las bases de conocimiento de Amazon Bedrock generarán el SQL, ejecutarán el SQL contra el motor de consulta y procesarlo a través de la LLM para proporcionar una respuesta fácil de usar. El siguiente diagrama ilustra una arquitectura de muestra del flujo de trabajo de recuperación de datos estructurado.

Flujo de conversación de recuperación de datos estructurado de Bases Batedrock Bases de Amazon Bedrock

El flujo de trabajo de recuperación de datos consta de los siguientes pasos:

  1. En una aplicación de RAG, el usuario puede hacer una pregunta de análisis de datos del lenguaje natural a través de la interfaz de chat, como “¿Cuál es el ingreso de ventas para el mes de febrero de 2025?”
  2. La consulta del lenguaje natural se envía a las bases de conocimiento de Amazon Bedrock para la recuperación y el procesamiento de datos.
  3. Amazon Bedrock Bases de conocimiento genera una consulta SQL basada en el esquema de datos subyacente configurado durante la creación de la base de conocimiento.
  4. La consulta SQL se ejecuta con el motor de consulta (Amazon RedShift) para recuperar datos de un almacén de datos estructurado (tablas de pegamento AWS). La consulta puede incluir múltiples uniones y agregación.
  5. La respuesta SQL generada se envía a un LLM junto con un contexto adicional para generar una respuesta en el lenguaje natural.
  6. La respuesta se devuelve al usuario. El usuario puede hacer preguntas de seguimiento basadas en la respuesta recuperada, como “¿Cuál es el producto que generó los ingresos más altos en este período?”

Amazon Bedrock Bases Bases Estructured Data Recupertal admite tres API diferentes para cumplir con sus requisitos de recuperación de datos:

  • Generación de recuperación y respuesta – La API de generación de recuperación y respuesta, similar al flujo de trabajo de solución que hemos discutido, genera una consulta SQL, recupera datos a través del motor de consulta y los procesa a través de la LLM para generar una respuesta del lenguaje natural
  • Solo recuperación – La API de recuperación solo genera una consulta SQL, recupera datos a través del motor de consulta y devuelve los datos sin procesarlo a través de un LLM
  • Generar consultas SQL – La API de consulta Generación de SQL devuelve la consulta SQL sin procesar que generó las bases de conocimiento de Amazon Bedrock, que puede usarse para su revisión y procesamiento posterior mediante aplicaciones

La siguiente captura de pantalla muestra las opciones de configuración en la consola de rock de Amazon.

Amazon Bedrock Bases Bases Recuperación API

Recursos y plantillas de código

La solución utiliza los siguientes cuadernos:

  • Cuaderno de ingestión de datosIningesta estructurada-Rag-S3-Glue Incluye la guía paso a paso para ingerir un conjunto de datos abierto a Amazon S3, configure las tablas de pegamento AWS usando rastreadores y configure el motor de consulta sin servidor de Amazon RedShift.
  • Cuaderno de recuperación de datos estructuradosEstructurado-rag-s3-glue-retrieval Camina a través de los pasos de implementación y proporciona código de muestra para configurar las bases de conocimiento de Amazon Bedrock Recuperación de datos estructurados utilizando Amazon S3, AWS Glue y el motor de consulta de desplazamiento rojo de Amazon.

Para más detalles, consulte el Repositorio de Github.

Requisitos previos

Para implementar la solución proporcionada en esta publicación, debe tener un Cuenta de AWS. Además, el acceso a los modelos de base requeridos debe estar habilitado en Amazon Bedrock.

Configurar la tubería de ingestión de datos

Para configurar la tubería de ingestión de datos, cargamos el conjunto de datos de muestra en un cubo S3 y configuramos AWS Glue como almacenamiento de datos y un grupo de trabajo sin servidor rojo como el motor de consulta. Complete los siguientes pasos en el cuaderno de ingestión de datos:

  1. Para la ingestión de datos, descargue lo siguiente Muestra de datos de datos de comercio electrónicoconviértalo en un marco de datos de pandas y cárguelo a un cubo S3 usando Amazon Sagemaker Data Wrangler.
  2. Cree una base de datos y tabla de pegamento AWS utilizando un AWS Glue Crawler Al rastrear el cubo S3 de la fuente con el conjunto de datos. Puede actualizar este paso para rastrear su propio cubo S3 o usar sus tablas de catálogo de datos existentes como metadatos de almacenamiento.
  3. Use el cuaderno de ingestión de datos para crear un espacio de nombres sin servidor de cambio rojo y un grupo de trabajo en el VPC predeterminado. Si planea usar su propio grupo de trabajo sin servidor rojo o clúster aprovisionado por Amazon RedShift, puede omitir este paso.

Configurar la solución de recuperación de datos estructurada

En esta sección, detallamos los pasos para configurar el componente de recuperación de datos estructurado de la solución.

Las bases de conocimiento de la roca madre de Amazon admiten múltiples patrones de acceso a datos, incluidos Gestión de identidad y acceso de AWS (SOY), AWS Secrets Managery usuarios de bases de datos. Para esta publicación, demostramos la opción de configuración con IAM Access. Puede usar IAM Access con el grupo de trabajo sin servidor RedShift configurado como parte del flujo de trabajo de ingestión o un clúster existente sin servidor o sin servidor o provisión para competir estos pasos.

Complete los siguientes pasos en el cuaderno de recuperación de datos estructurados:

  1. Cree un papel de ejecución con las políticas necesarias para acceder a datos desde Amazon RedShift, AWS Glue y el cubo S3.
  2. Invocar el API de createknowledgebase Para crear la base de conocimiento con el rol de ejecución y las configuraciones de la base de conocimiento. En la configuración de la base de conocimiento, la base de datos y las tablas de pegamento AWS se utilizan como metadatos de almacenamiento con Amazon RedShift como el motor de consulta.
  3. Después de crear la base de conocimiento, debes Completar pasos adicionales Para asegurarse de que el rol de ejecución de IAM tenga los permisos necesarios para ejecutar la consulta en Amazon Redshift y recuperar datos de AWS Glue. El cuaderno incluye las instrucciones necesarias para crear y otorgar acceso a la base de datos al rol de ejecución, y otorgar Formación del lago AWS permisos.
  4. El trabajo de ingestión sincronizará los metadatos del esquema del almacén de datos sobre la base de datos y tablas de pegamento AWS con el módulo NL2SQL. Estos metadatos de esquema se utilizarán al generar la consulta SQL durante la recuperación de datos estructurados.
  5. Una vez que se completa el trabajo de sincronización de la base de conocimiento, puede usar las tres API de recuperación de datos (recuperar y generar respuesta, recuperar solo y generar consulta SQL) para consultar y validar la solución de recuperación de datos estructurada.

Para más detalles, consulte Crear una base de conocimiento conectándose a un almacén de datos estructurado.

Limpiar

Hemos incluido instrucciones de limpieza tanto en la ingestión de datos como en los cuadernos de recuperación de datos estructurados para limpiar los recursos después de implementar y validar la solución de extremo a extremo.

Conclusión

Las bases de conocimiento de Amazon Bedrock simplifican el análisis de datos al convertir las preguntas de lenguaje natural en consultas SQL, eliminando la necesidad de experiencia en bases de datos especializadas. El servicio se integra con Amazon RedShift, AWS Glue y Amazon S3, lo que permite a los analistas de negocios, los científicos de datos y los equipos de operaciones consultan datos directamente utilizando preguntas similares a la conversación. Mantiene la seguridad de los datos a través de controles de gobierno incorporados y permisos de acceso. Los clientes pueden implementar este servicio administrado para permitir a los usuarios analizar datos utilizando preguntas de lenguaje natural, al tiempo que mantienen la integridad de los datos y los estándares de seguridad.

Para obtener más información, consulte Construir una base de conocimiento conectándose a un almacén de datos estructurado y Las bases de conocimiento de Amazon Bedrock ahora admiten la recuperación de datos estructurados.


Sobre los autores

George Belsian es un arquitecto senior de aplicaciones en la nube en Amazon Web Services, que ayuda a las organizaciones a navegar por las complejidades de la adopción en la nube, la integración de IA e innovación basada en datos. Al transformar los sistemas heredados en plataformas basadas en la nube e incorporar capacidades de IA/ML, ayuda a las empresas a crear nuevas oportunidades de crecimiento, optimizar sus procesos y entregar soluciones escalables.

Sandeep Singh es un científico senior de datos de IA generativos en Amazon Web Services, que ayuda a las empresas a innovar con IA generativa. Se especializa en IA generativa, aprendizaje automático y diseño de sistemas. Ha entregado con éxito soluciones de última generación a I/ML para resolver problemas comerciales complejos para diversas industrias, optimizando la eficiencia y la escalabilidad.

Mani Khanuja es un especialista general de IA generativo de IA y autor del libro Apliced ​​Machine Learning y la computación de alto rendimiento en AWS. Ella dirige proyectos de aprendizaje automático en varios dominios, como la visión por computadora, el procesamiento del lenguaje natural y la IA generativa. Ella habla en conferencias internas y externas como AWS Re: Invent, Women in Manufacturing West, YouTube Webinars y GHC 23. En su tiempo libre, le gusta ir a largas carreras a lo largo de la playa.

Gopikrishnan Anilkumar es un gerente de producto técnico principal en la organización AWS Agentic AI. Tiene más de 10 años de experiencia en gestión de productos en una variedad de dominios y es un apasionado de la IA/ML.