Diagramas para CDK/Terraform con Claude 3 en Amazon Bedrock
Usa la IA para generar infraestructura como código a partir de diagramas e imágenes de arquitectura
Deepayan Pandharkar
Amazon Employee
Published Mar 5, 2024
Last Modified Mar 15, 2024
Actualización #1: Se ha actualizado el contenido para incorporar los comentarios.
En el mundo actual nativo de la nube, la infraestructura como código (IaC) se ha convertido en una práctica indispensable para los desarrolladores y los equipos de DevOps.
Con el reciente anuncio del soneto de Claude 3 en Amazon Bedrock y sus capacidades de conversión de imagen a texto, comienza una nueva era de integración perfecta entre los diagramas de arquitectura y las herramientas de IaC, como el Kit de desarrollo en la nube (CDK) de AWS o Terraform.
En esta entrada de blog se explicará cómo puedes aprovechar la potencia de esta integración para agilizar los procesos de aprovisionamiento y gestión de la infraestructura.
Los diagramas de arquitectura son una representación visual de los componentes del sistema, sus relaciones y la estructura general de tu aplicación o infraestructura. Sirven de modelo para la comunicación, la colaboración y la toma de decisiones entre los miembros del equipo. Sin embargo, traducir manualmente estos diagramas en código puede llevar mucho tiempo y ser propenso a errores, especialmente en entornos complejos.
Anthropic ha lanzado una nueva línea de modelos de IA llamada la familia Claude 3, y estos chicos malos son heteros. Estamos hablando del Claude 3 Opus, el Claude 3 Sonnet y el Claude 3 Haiku, la próxima generación de modelos de última generación que te dejarán boquiabierto.
Tiene la capacidad de analizar el texto de las imágenes. Esto es lo que vamos a utilizar en nuestra solución. https://www.anthropic.com/news/claude-3-family
En cuanto al rendimiento, en lo que respecta a la mayoría de las cargas de trabajo, el modelo Sonnet es el verdadero MVP. Es más rápido que los modelos Claude 2 y 2.1 anteriores de Anthropic, tanto en las entradas como en las salidas, y tiene un gran impacto con niveles de inteligencia más altos. Pero eso no es todo. El Sonnet también es más orientable, lo que significa que se obtienen resultados más predecibles y de mayor calidad. ¡Habla de una situación en la que todos ganan!
Aquí es donde se pone aún mejor
Amazon Bedrock ha anunciado su apoyo a la familia Anthropic Claude 3. https://www.aboutamazon.com/news/aws/amazon-bedrock-anthropic-ai-claude-3
Amazon Bedrock es un servicio totalmente gestionado que es como una ventanilla única para todo lo relacionado con la IA generativa. Con Bedrock, puedes elegir entre una gama de modelos básicos de alto rendimiento de las principales empresas de IA, como Anthropic, y viene repleto de funciones para crear y escalar aplicaciones de IA generativa en un abrir y cerrar de ojos.
Vale, pues pasemos directamente a la solución. Sigue los pasos que aparecen a continuación para conseguir un extractor de arquitectura para ti.
Para este tutorial, debes cumplir los siguientes requisitos previos:
- Un Cuenta de AWS listo con Bootstrap de CDK.
- Amazon Bedrock y el acceso a modelos habilitan para Claude 3 Sonnet
Paso 1: Activar el soneto antrópico de Claude 3 en Amazon Bedrock
Paso 2: Crea un archivo llamado
claude_vision.py
y copia el siguiente códigoPaso 3: Anota la ruta del archivo de imagen. Con fines de demostración, utilizaré el siguiente diagrama, guardado como s3_extractor.png en el disco local.
Paso 4: Ejecuta el guion python src/utils/claude_vision.py --image_path ~/Desktop/s3_extractor.png y guarda el resultado.
He aquí un ejemplo de respuesta
Paso 5: Inicializar un proyecto de CDK y actualizarlo copiando las partes del código pertinentes. Ahora puedes copiar el código tal como está para que funcione, pero voy a hacer un par de cambios más para seguir las mejores prácticas. Una es copiar solo el código de recursos de Stack Construct en el directorio /lib y la otra es cambiar el ámbito de esta palabra clave. Ten en cuenta que GenAI puede generar el mismo resultado directamente modificando el mensaje.
Actualiza la construcción de la pila.
Por fin crea un
lambda
carpeta en la raíz y crea una muestra hello.js
archivo con el siguiente código de muestra.Paso 6: Correr
cdk synth
y cdk deploy –all
. ¡¡Voilá!!Para evitar incurrir en cargos futuros, elimina los recursos.
- Corre
cdk destroy
- Desactivar el acceso a Amazon Bedrock Model.
- Automatización perfecta con asistencia impulsada por la IA: Aprovechar las capacidades de la IA para leer diagramas y generar código, incluso si produce un código repetitivo inicial, si no el código completamente estructurado, agiliza el proceso de desarrollo. A medida que la IA sigue evolucionando, aumenta la posibilidad de generar código más sofisticado y estructurado, lo que promete aumentar aún más la eficiencia en el futuro.
- Accesibilidad para personas que no son programadores: Las herramientas de diagrama a código permiten a los miembros del equipo sin una amplia experiencia en programación contribuir al desarrollo de la infraestructura. Al proporcionar una interfaz fácil de usar para crear diagramas y generar código, estas herramientas democratizan el proceso y permiten a más miembros del equipo participar eficazmente en las iniciativas de infraestructura como código.
- Creación acelerada de prototipos e iteración: La capacidad de generar rápidamente código repetitivo a partir de diagramas acelera los ciclos de creación de prototipos e iteración. Los equipos pueden traducir rápidamente los diseños arquitectónicos en código funcional, lo que permite ciclos de retroalimentación más rápidos y prácticas de desarrollo más ágiles.
- Facilitó el aprendizaje y el desarrollo de habilidades: Para las personas que buscan mejorar sus habilidades de codificación, las herramientas de diagrama a código son un valioso recurso de aprendizaje. Al observar el código generado y su relación con los diagramas arquitectónicos, los miembros del equipo pueden obtener información sobre los principios y las prácticas de codificación, lo que fomenta el desarrollo de habilidades con el tiempo.
La integración del soneto de Claude 3 con AWS Bedrock y la posibilidad de convertir diagramas de arquitectura en código CDK o Terraform representan un importante paso adelante para los desarrolladores y los equipos de DevOps.
Al adoptar este enfoque, puedes aprovechar el poder de la infraestructura como código y acelerar la entrega de una infraestructura de nube fiable y escalable. Embárcate en este viaje y disfruta de la fusión perfecta del diseño visual y la generación automática de código, que te permitirá crear y gestionar tus entornos de nube con una eficacia y una confianza sin precedentes.
Next up, a streamlit web UI based approach which provides a friendly interactive UI to use this solution for those who hate CLIs
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.