Insights en Tiempo Real: Kafka a Bedrock

Desatando Insights en Tiempo Real: Streaming de Datos desde Kafka a las Bases de Conocimiento de Amazon Bedrock a través de Conectores Personalizados

El panorama de la inteligencia artificial está evolucionando rápidamente, con la Generación Aumentada de Recuperación (RAG) emergiendo como una técnica fundamental. RAG permite a los sistemas de IA ofrecer respuestas más informadas y contextualmente relevantes al integrar sin problemas las capacidades de los modelos de IA generativa con fuentes de datos externas. Este enfoque trasciende las limitaciones de depender únicamente de la base de conocimiento preexistente de un modelo. En este artículo, profundizamos en el potencial transformador de los conectores de datos personalizados dentro de las Bases de Conocimiento de Amazon Bedrock, mostrando cómo simplifican la creación de flujos de trabajo RAG que aprovechan datos de entrada personalizados. Esta funcionalidad permite a las Bases de Conocimiento de Amazon Bedrock ingerir datos de streaming, permitiendo a los desarrolladores añadir, actualizar o eliminar información dinámicamente dentro de sus bases de conocimiento a través de llamadas directas a la API.

Considere la miríada de aplicaciones donde la ingestión de datos en tiempo real es crítica: analizar patrones de clickstream, procesar transacciones con tarjetas de crédito, interpretar datos de sensores del Internet de las Cosas (IoT), realizar análisis de logs y monitorizar los precios de los productos básicos. En tales escenarios, tanto los datos actuales como las tendencias históricas juegan un papel vital en la toma de decisiones informadas. Tradicionalmente, la incorporación de tales entradas de datos críticos requería la preparación de los datos en una fuente de datos soportada, seguida por el inicio o la programación de un trabajo de sincronización de datos. La duración de este proceso variaba dependiendo de la calidad y el volumen de los datos. Sin embargo, con los conectores de datos personalizados, las organizaciones pueden ingerir rápidamente documentos específicos de fuentes de datos personalizadas sin la necesidad de una sincronización completa, e ingerir datos de streaming sin depender de almacenamiento intermedio. Este enfoque minimiza los retrasos y elimina la sobrecarga de almacenamiento, lo que lleva a un acceso más rápido a los datos, una latencia reducida y un rendimiento mejorado de la aplicación.

Con la ingestión de streaming a través de conectores personalizados, las Bases de Conocimiento de Amazon Bedrock pueden procesar datos de streaming sin la necesidad de fuentes de datos intermedias. Esto permite que los datos estén disponibles casi en tiempo real. Esta capacidad segmenta y convierte automáticamente los datos de entrada en embeddings utilizando el modelo de Amazon Bedrock elegido, almacenando todo en la base de datos vectorial del backend. Este proceso optimizado se aplica tanto a las bases de datos nuevas como a las existentes, lo que le permite centrarse en la creación de aplicaciones de IA sin la carga de orquestar la fragmentación de datos, la generación de embeddings o el aprovisionamiento e indexación del almacén vectorial. Además, la capacidad de ingerir documentos específicos de fuentes de datos personalizadas reduce la latencia y disminuye los costes operativos al eliminar los requisitos de almacenamiento intermedio.

Amazon Bedrock: Una Base para la IA Generativa

Amazon Bedrock es un servicio totalmente gestionado que ofrece una diversa selección de modelos fundacionales (FMs) de alto rendimiento de compañías líderes en IA como Anthropic, Cohere, Meta, Stability AI y Amazon, accesibles a través de una API unificada. Este servicio integral proporciona una amplia gama de capacidades que le permiten desarrollar aplicaciones de IA generativa con sólidas características de seguridad, privacidad e IA responsable. Con Amazon Bedrock, puede explorar y evaluar FMs de primer nivel para su caso de uso específico, personalizarlos de forma privada con sus propios datos utilizando técnicas como el fine-tuning y RAG, y construir agentes inteligentes que puedan ejecutar tareas utilizando sus sistemas empresariales y fuentes de datos.

Bases de Conocimiento de Amazon Bedrock: Aumentando la IA con Conocimiento

Las Bases de Conocimiento de Amazon Bedrock permiten a las organizaciones construir pipelines RAG totalmente gestionados que enriquecen las respuestas de la IA con información contextual derivada de fuentes de datos privadas. Esto conduce a interacciones más relevantes, precisas y personalizadas. Al aprovechar las Bases de Conocimiento de Amazon Bedrock, puede crear aplicaciones que se mejoran con el contexto obtenido al consultar una base de conocimiento. Acelera el tiempo de comercialización al abstraer las complejidades de la construcción de pipelines y proporcionar una solución RAG lista para usar. Esto reduce el tiempo de desarrollo de sus aplicaciones.

Conectores Personalizados: La Clave para una Ingestión de Streaming Sin Problemas

Las Bases de Conocimiento de Amazon Bedrock ofrecen soporte para conectores personalizados e ingestión de datos de streaming. Esto le permite añadir, actualizar y eliminar datos en su base de conocimiento a través de llamadas directas a la API, ofreciendo una flexibilidad y control sin precedentes.

Construyendo un Analizador de Precios de Acciones con IA Generativa y RAG: Una Visión General de la Solución

En este artículo, demostramos una arquitectura RAG utilizando las Bases de Conocimiento de Amazon Bedrock, conectores personalizados y temas creados con Amazon Managed Streaming for Apache Kafka (Amazon MSK) para permitir a los usuarios analizar las tendencias de los precios de las acciones. Amazon MSK es un servicio de streaming de datos que simplifica la gestión de la infraestructura y las operaciones de Apache Kafka, facilitando la ejecución de aplicaciones de Apache Kafka en Amazon Web Services (AWS). La solución permite el análisis en tiempo real de la retroalimentación de los clientes a través de embeddings vectoriales y modelos de lenguaje grandes (LLMs).

Componentes Arquitectónicos

La arquitectura consta de dos componentes principales:

  • Flujo de Trabajo de Preprocesamiento de Datos de Streaming:

    1. Un archivo .csv que contiene datos de precios de acciones se carga en un tema de MSK, simulando la entrada de streaming.
    2. Esto desencadena una función de AWS Lambda.
    3. La función ingiere los datos consumidos en una base de conocimiento.
    4. La base de conocimiento utiliza un modelo de embeddings para transformar los datos en un índice vectorial.
    5. El índice vectorial se almacena en una base de datos vectorial dentro de la base de conocimiento.
  • Ejecución en Tiempo de Ejecución Durante las Consultas del Usuario:

    1. Los usuarios envían consultas sobre los precios de las acciones.
    2. El modelo fundacional utiliza la base de conocimiento para encontrar respuestas relevantes.
    3. La base de conocimiento devuelve los documentos relevantes.
    4. El usuario recibe una respuesta basada en estos documentos.

Diseño de Implementación: Una Guía Paso a Paso

La implementación implica los siguientes pasos clave:

  1. Configuración de la Fuente de Datos: Configure un tema de MSK para transmitir los precios de las acciones de entrada.
  2. Configuración de las Bases de Conocimiento de Amazon Bedrock: Cree una base de conocimiento en Amazon Bedrock utilizando la opción de creación rápida de un nuevo almacén vectorial, que aprovisiona y configura automáticamente el almacén vectorial.
  3. Consumo e Ingestión de Datos: Cada vez que llegan datos al tema de MSK, se activa una función Lambda para extraer los índices de las acciones, los precios y la información de la marca de tiempo, y se alimenta al conector personalizado para las Bases de Conocimiento de Amazon Bedrock.
  4. Probar la Base de Conocimiento: Evaluar el análisis de la retroalimentación de los clientes utilizando la base de conocimiento.

Recorrido por la Solución: Construyendo su Herramienta de Análisis de Acciones

Siga las instrucciones en las secciones siguientes para construir una herramienta de análisis de acciones con IA generativa utilizando las Bases de Conocimiento de Amazon Bedrock y conectores personalizados.

Configuración de la Arquitectura: Desplegando la Plantilla de CloudFormation

Para implementar esta arquitectura, despliegue la plantilla de AWS CloudFormation desde este repositorio de GitHub en su cuenta de AWS. Esta plantilla despliega los siguientes componentes:

  1. Nubes privadas virtuales (VPCs), subredes, grupos de seguridad y roles de AWS Identity and Access Management (IAM).
  2. Un clúster de MSK que aloja un tema de entrada de Apache Kafka.
  3. Una función Lambda para consumir datos del tema de Apache Kafka.
  4. Un notebook de Amazon SageMaker Studio para la configuración y la habilitación.

Creación de un Tema de Apache Kafka: Configurando el Flujo de Datos

En el clúster de MSK precreado, los brokers ya están desplegados y listos para su uso. El siguiente paso es conectarse al clúster de MSK y crear el tema de streaming de prueba utilizando una instancia de terminal de SageMaker Studio. Siga las instrucciones detalladas en Crear un tema en el clúster de Amazon MSK.

Los pasos generales son:

  1. Descargue e instale el último cliente de Apache Kafka.
  2. Conéctese a la instancia del broker del clúster de MSK.
  3. Cree el tema de streaming de prueba en la instancia del broker.

Creación de una Base de Conocimiento en Amazon Bedrock: Conectando a sus Datos

Para crear una base de conocimiento en Amazon Bedrock, siga estos pasos:

  1. En la consola de Amazon Bedrock, en la página de navegación izquierda, bajo Herramientas del constructor, elija Bases de Conocimiento.
  2. Para iniciar la creación de la base de conocimiento, en el menú desplegable Crear, elija Base de Conocimiento con almacén vectorial, como se muestra en la siguiente captura de pantalla.
  3. En el panel Proporcionar detalles de la Base de Conocimiento, introduzca BedrockStreamIngestKnowledgeBase como el Nombre de la Base de Conocimiento.
  4. Bajo Permisos de IAM, elija la opción predeterminada, Crear y utilizar un nuevo rol de servicio, y (opcional) proporcione un Nombre de rol de servicio, como se muestra en la siguiente captura de pantalla.
  5. En el panel Elegir fuente de datos, seleccione Personalizada como la fuente de datos donde se almacena su conjunto de datos.
  6. Elija Siguiente, como se muestra en la siguiente captura de pantalla.
  7. En el panel Configurar fuente de datos, introduzca BedrockStreamIngestKBCustomDS como el Nombre de la fuente de datos.
  8. Bajo Estrategia de análisis, seleccione Analizador predeterminado de Amazon Bedrock y para Estrategia de fragmentación, elija Fragmentación predeterminada. Elija Siguiente, como se muestra en la siguiente captura de pantalla.
  9. En el panel Seleccionar modelo de embeddings y configurar almacén vectorial, para Modelo de embeddings, elija Titan Text Embeddings v2. Para Tipo de embeddings, elija Embeddings vectoriales de coma flotante. Para Dimensiones vectoriales, seleccione 1024, como se muestra en la siguiente captura de pantalla. Asegúrese de que ha solicitado y recibido acceso al FM elegido en Amazon Bedrock. Para obtener más información, consulte Añadir o eliminar acceso a los modelos fundacionales de Amazon Bedrock.
  10. En el panel Base de datos vectorial, seleccione Creación rápida de un nuevo almacén vectorial y elija la nueva opción Amazon OpenSearch Serverless como el almacén vectorial.
  11. En la siguiente pantalla, revise sus selecciones. Para finalizar la configuración, elija Crear.
  12. En unos minutos, la consola mostrará su base de conocimiento recién creada.

Configuración del Consumidor de Apache Kafka de AWS Lambda: Desencadenando la Ingestión de Datos

Ahora, configure la función Lambda del consumidor para que se active tan pronto como el tema de entrada de Apache Kafka reciba datos utilizando llamadas a la API.

  1. Configure el ID de la Base de Conocimiento de Amazon Bedrock creado manualmente y su ID de Fuente de Datos personalizado como variables de entorno dentro de la función Lambda. Cuando utilice el notebook de ejemplo, los nombres e IDs de las funciones referidas se rellenarán automáticamente.

Inmersión Profunda: Revelando el Poder de las Bases de Conocimiento de Amazon Bedrock con Conectores Personalizados para la Ingestión de Datos en Tiempo Real

La convergencia de la IA generativa y los flujos de datos en tiempo real está desbloqueando oportunidades sin precedentes para que las empresas obtengan insights más profundos, automaticen procesos críticos y ofrezcan experiencias personalizadas. Las Bases de Conocimiento de Amazon Bedrock, junto con los conectores personalizados, están a la vanguardia de esta revolución, permitiendo a las organizaciones integrar sin problemas datos de streaming de diversas fuentes como Apache Kafka en sus aplicaciones impulsadas por IA.

Esta capacidad trasciende las limitaciones de los métodos de ingestión de datos tradicionales, que a menudo implican procesos complejos de preparación, transformación y sincronización. Con los conectores personalizados, los datos pueden ser ingeridos directamente en la Base de Conocimiento casi en tiempo real, eliminando la latencia y permitiendo a los modelos de IA reaccionar dinámicamente a las condiciones cambiantes.

Casos de Uso en Diversas Industrias

Los beneficios de este enfoque son de gran alcance y aplicables a una amplia gama de industrias.

  • Servicios Financieros: Los bancos y las empresas de inversión pueden aprovechar los datos del mercado en tiempo real y los flujos de transacciones de los clientes para detectar fraudes, personalizar las recomendaciones de inversión y automatizar las estrategias de trading. Imagine un sistema impulsado por IA que analiza las transacciones con tarjetas de crédito en tiempo real, señalando la actividad sospechosa y previniendo las compras fraudulentas antes de que ocurran.
  • Retail: Las empresas de comercio electrónico pueden analizar los datos de clickstream y los feeds de las redes sociales para comprender el comportamiento del cliente, personalizar las recomendaciones de productos y optimizar las estrategias de precios. Esto permite ajustes dinámicos a las campañas de marketing y la gestión de inventario basados en la demanda en tiempo real.
  • Manufactura: Los fabricantes pueden utilizar los datos de los sensores de IoT del equipo de la fábrica para predecir las necesidades de mantenimiento, optimizar los procesos de producción y mejorar la calidad del producto. Por ejemplo, un sistema de IA puede analizar los datos de vibración de una máquina para identificar posibles fallos antes de que conduzcan a costosos tiempos de inactividad.
  • Atención Médica: Los hospitales pueden analizar los flujos de datos de los pacientes para detectar signos tempranos de enfermedad, personalizar los planes de tratamiento y mejorar los resultados de los pacientes. La monitorización en tiempo real de los signos vitales puede alertar al personal médico sobre cambios críticos en la condición de un paciente, permitiendo una intervención más rápida y una mejor atención.

Beneficios Clave: Más Allá de los Datos en Tiempo Real

Las ventajas de utilizar las Bases de Conocimiento de Amazon Bedrock con conectores personalizados se extienden más allá de la simple ingestión de datos en tiempo real.

  • Latencia Reducida: Al eliminar la necesidad de almacenamiento intermedio y procesos de sincronización, las organizaciones pueden reducir significativamente el tiempo que se tarda en poner los datos a disposición de los modelos de IA. Esto conduce a tiempos de respuesta más rápidos y aplicaciones más dinámicas.
  • Menores Costes Operativos: Los conectores personalizados reducen los costes operativos al eliminar la necesidad de gestionar y mantener pipelines de datos complejos. Esto libera recursos valiosos que pueden ser invertidos en otras áreas del negocio.
  • Mejora de la Calidad de los Datos: Al ingerir datos directamente de la fuente, las organizaciones pueden asegurarse de que sus modelos de IA están trabajando con la información más precisa y actualizada. Esto conduce a mejores insights y resultados más fiables.
  • Mayor Flexibilidad: Los conectores personalizados permiten a las organizaciones conectarse a una amplia gama de fuentes de datos, independientemente de su formato o ubicación. Esto proporciona la flexibilidad de aprovechar todos sus activos de datos, independientemente de dónde estén almacenados.
  • Desarrollo Simplificado: Las Bases de Conocimiento de Amazon Bedrock proporcionan una experiencia de desarrollo simplificada al abstraer las complejidades de la ingestión y gestión de datos. Esto permite a los desarrolladores centrarse en la construcción de aplicaciones de IA que ofrecen un valor empresarial real.

Inmersión Más Profunda: Conectores Personalizados Bajo el Capó

Para apreciar plenamente el poder de los conectores personalizados, es importante entender cómo funcionan. Un conector personalizado es esencialmente una pieza de código que permite a las Bases de Conocimiento de Amazon Bedrock conectarse a una fuente de datos específica. Este código es responsable de extraer datos de la fuente, transformarlos en un formato que sea compatible con la Base de Conocimiento e ingerirlos en el sistema.

  • Integración de API: Los conectores personalizados típicamente interactúan con las fuentes de datos a través de APIs. Estas APIs proporcionan una forma estandarizada de acceder a los datos y realizar operaciones.
  • Transformación de Datos: La transformación de datos es un paso crítico en el proceso. Los conectores personalizados a menudo necesitan transformar los datos de su formato nativo a un formato que sea compatible con la Base de Conocimiento. Esto puede implicar la conversión de tipos de datos, la limpieza de datos y el enriquecimiento de datos con información adicional.
  • Ingestión de Streaming: La clave para la ingestión de datos en tiempo real es la capacidad de transmitir datos continuamente. Los conectores personalizados a menudo utilizan APIs de streaming para recibir datos a medida que se generan, permitiendo actualizaciones casi en tiempo real de la Base de Conocimiento.
  • Seguridad: La seguridad es una preocupación primordial al conectarse a fuentes de datos. Los conectores personalizados deben diseñarse teniendo en cuenta la seguridad, asegurando que los datos estén protegidos tanto en tránsito como en reposo.

Conclusión: Abrazando el Futuro de la IA con Datos en Tiempo Real

Las Bases de Conocimiento de Amazon Bedrock con conectores personalizados representan un avance significativo en el campo de la IA. Al permitir a las organizaciones integrar sin problemas flujos de datos en tiempo real en sus aplicaciones de IA, esta tecnología desbloquea una gran cantidad de nuevas oportunidades para la innovación y el crecimiento empresarial. A medida que la IA continúa evolucionando, la capacidad de aprovechar los datos en tiempo real se volverá cada vez más crítica. Las Bases de Conocimiento de Amazon Bedrock están posicionadas para ser un facilitador clave de esta tendencia, permitiendo a las organizaciones construir soluciones de IA que son más dinámicas, receptivas e inteligentes que nunca.