Construcción de una aplicación de descripción de imágenes generativas con Claude 3.5 Sonnet de Anthropic en Amazon Bedrock y AWS CDK

Elena Digital López

Crear descripciones de imágenes es una necesidad común en muchas industrias. Las etiquetas descriptivas mejoran la capacidad de búsqueda en repositorios de contenido y proporcionan detalles adicionales sobre productos en plataformas de comercio electrónico. También mejoran la accesibilidad para usuarios con discapacidades visuales.

Con avances en inteligencia artificial (IA) generativa y modelos multimodales, ahora es más sencillo producir descripciones. Amazon Bedrock ofrece acceso a la familia de modelos Claude 3 de Anthropic, que incorpora capacidades de visión por computadora. Sin embargo, construir una aplicación de extremo a extremo requiere una infraestructura considerable y suele ralentizar el desarrollo.

Los Generative AI CDK Constructs y Amazon Bedrock ofrecen una combinación poderosa para agilizar el desarrollo. Esta integración proporciona patrones reutilizables y APIs, facilitando el acceso a modelos de última generación de Amazon y startups líderes. Amazon Bedrock es un servicio gestionado que ofrece modelos de empresas como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI y Amazon a través de una sola API. Proporciona seguridad, privacidad y una IA responsable.

En esta publicación se explora cómo construir una aplicación que genere descripciones multilingües para imágenes, usando una interfaz en Streamlit y servicios como AWS Lambda, Amazon Bedrock SDK y AWS AppSync, dirigidos por los Generative AI CDK Constructs.

Los sistemas de IA multimodal son capaces de procesar datos de múltiples modalidades como texto, imágenes, audio y video, proporcionando una comprensión más integral. Claude 3 de Anthropic es un modelo multimodal en Amazon Bedrock que analiza imágenes y genera descripciones textuales. Es particularmente efectivo en interpretar activos visuales complejos como gráficos e informes.

En marzo de 2024, Amazon Bedrock proporcionó acceso a los modelos Claude 3 de Anthropic: Claude 3 Haiku, Claude 3 Sonnet y Claude 3 Opus. En junio de 2024, se anunció soporte para Claude 3.5. La aplicación presentada en esta publicación admite Claude 3.5 Sonnet y los tres modelos de Claude 3.

Generative AI CDK Constructs, una extensión del AWS Cloud Development Kit (AWS CDK), define infraestructuras en la nube como código. La Biblioteca de Constructos categoriza estos en tres niveles: Nivel 1 (sin abstracción), Nivel 2 (mapea recursos individuales de AWS) y Nivel 3 (patrones con el nivel más alto de abstracción).

Esta biblioteca ofrece bloques modulares para integrar los servicios y recursos de AWS en soluciones de IA generativa. Combinando Amazon Bedrock y servicios sin servidor como Lambda y AWS AppSync, estos constructos simplifican la creación de infraestructuras en la nube para IA generativa. Esto aumenta la productividad y reduce el tiempo de comercialización de aplicaciones innovadoras.

La aplicación presentada utiliza el constructo aws-summarization-appsync-stepfn, que proporciona una arquitectura sin servidor para resumir imágenes. Utiliza AWS AppSync para exponer una API GraphQL y EventBridge para comunicar entre AppSync y Step Functions. Step Functions orquesta tres funciones Lambda: Validador de entrada, Lector de documentos y Generador de resúmenes.

La autenticación y autorización de usuarios se maneja con Amazon Cognito. La aplicación también incorpora observabilidad con Amazon CloudWatch y AWS X-Ray. La interfaz de usuario está implementada con Streamlit y el código fuente está disponible en GitHub.

En conclusión, esta publicación muestra cómo integrar Amazon Bedrock con Generative AI CDK Constructs para desarrollar rápidamente infraestructuras en la nube y aplicaciones de descripción de imágenes utilizando IA generativa. Los constructos permiten a los desarrolladores mejorar capacidades de IA generativa y explorar nuevas posibilidades. Pruebe la Biblioteca de Constructos de Generative AI CDK y comparta sus comentarios.