Crea tu propia guía de certificación para exámenes de AWS con IA y Notion
Hay preguntas que uno responde y olvida al cabo de unas horas. Otras, en cambio, se quedan rondando por la cabeza como un acreedor a la puerta de casa, recordándonos que todavía tenemos algo pendiente por aprender.
Quienes hemos preparado una certificación de AWS conocemos bien ese pequeño drama: capturas de pantalla desperdigadas por el escritorio, preguntas guardadas en carpetas con nombres que nadie recuerda y frases subrayadas en colores que, con el tiempo, terminan pareciendo las notas de un detective que abandonó el caso a mitad de la investigación.
Y entonces surge la pregunta inevitable: ¿por qué no construir un lugar donde todas esas preguntas puedan vivir, organizarse y convertirse en una herramienta de estudio?
La idea es sencilla. Guardar una pregunta de certificación debería ser tan fácil como tomar una captura de pantalla. El resto del trabajo -leerla, comprender su estructura, analizar sus opciones y organizarla- puede dejarse en manos de una pequeña cuadrilla de servicios de AWS y un modelo de inteligencia artificial.
Así nació AWS Exam Questions AI, un proyecto que conecta los servicios de AWS con Notion para transformar imágenes de preguntas técnicas en un archivo de estudio estructurado, acompañado de respuestas y explicaciones en español. Porque estudiar para una certificación ya tiene suficientes dificultades como para añadirle la de administrar un cementerio de capturas de pantalla.
Antes de abrir el caso: prepara tu cuaderno
No hace falta construir una biblioteca desde sus cimientos para empezar a llenarla de conocimiento. Puedes utilizar cualquier página de Notion que tengas a mano o, si prefieres comenzar con algo preparado, descargar la plantilla que he creado para organizar preguntas de certificaciones de AWS.
Tu siguiente paso comienza aquí: Descargar la plantilla de AWS Certifications Exam en Notion
La intención es que tengas un lugar donde reunir preguntas, conservar sus respuestas, identificar palabras clave con colores y repasar aquellos conceptos que suelen aparecer una y otra vez en los exámenes.
Una palabra resaltada a tiempo puede ahorrarte varios minutos de confusión. Y, en un examen de certificación, unos cuantos minutos bien administrados pueden valer más que una enciclopedia entera.
Los sospechosos habituales: ¿qué servicios de AWS utilizaremos?
Todo buen misterio necesita personajes con funciones claras. En nuestro caso, ninguno lleva gabardina ni fuma junto a una ventana, pero todos cumplen con su cometido.
Amazon S3: el archivo donde comienza todo
Amazon Simple Storage Service, mejor conocido como Amazon S3, será nuestro depósito de imágenes. Aquí guardaremos las capturas de pantalla de las preguntas que queramos estudiar. Cada archivo quedará almacenado en un bucket, esperando el momento en que alguien lo llame a declarar.
S3 no necesita comprender lo que contiene la imagen. Su trabajo es más sencillo: conservarla y ponerla a disposición del proceso que viene después. Es, por decirlo de algún modo, el archivista de nuestra investigación.
Amazon Textract: el testigo que sabe leer
Una imagen puede contener una pregunta brillante, pero para una máquina sigue siendo, en principio, un conjunto de píxeles. Aquí entra Amazon Textract, un servicio capaz de detectar y extraer texto de documentos e imágenes.
Su misión consiste en recuperar las palabras que aparecen en la captura: el enunciado, las opciones de respuesta y cualquier otro texto relevante. Textract no decide cuál es la respuesta correcta ni interpreta por sí solo toda la intención de la pregunta. Primero necesitamos obtener el contenido escrito. La interpretación llegará después.
Es como interrogar a un testigo que puede repetir exactamente lo que vio, aunque todavía no conozca el significado de lo ocurrido.
AWS Lambda: el detective que aparece cuando lo llaman
AWS Lambda es el encargado de coordinar una parte fundamental del proceso sin necesidad de mantener un servidor funcionando permanentemente para esta tarea. Cuando se carga una imagen en el bucket de S3, un evento puede activar una función Lambda. Esta recibe la notificación, identifica el archivo y pone en marcha el flujo de procesamiento.
No hay que llamar a un operador ni esperar a que alguien abra una terminal. El procedimiento comienza automáticamente cuando ocurre el evento configurado. Lambda es ese detective discreto que aparece cuando el caso lo requiere, hace su trabajo y se retira hasta la próxima llamada.
Amazon Bedrock: el interrogador que encuentra sentido en las palabras
Ya tenemos el texto, pero todavía falta comprenderlo. Amazon Bedrock permite trabajar con modelos de inteligencia artificial generativa para analizar información, interpretar instrucciones y producir respuestas estructuradas.
En nuestro proyecto, el texto extraído por Textract se entrega al modelo junto con un prompt: una serie de instrucciones que le indican cómo debe analizar la pregunta, identificar sus opciones y organizar el resultado. El objetivo es obtener una estructura consistente que incluya el enunciado, las respuestas posibles, la respuesta propuesta y su explicación en español.
Bedrock es el interrogador de nuestro pequeño despacho: reúne las pistas y propone una interpretación de lo sucedido.
Conviene recordar algo importante: la inteligencia artificial puede equivocarse. Por eso, las respuestas generadas deben verificarse, especialmente cuando se estudian conceptos técnicos que podrían aparecer en un examen real.
El plano del delito: ¿cómo funciona la arquitectura?
Toda investigación necesita un mapa. De lo contrario, uno termina persiguiendo sospechosos por callejones que no conducen a ninguna parte. La arquitectura de AWS Exam Questions AI sigue una secuencia bastante directa: una imagen entra en S3, un evento activa Lambda, Textract extrae el texto, Bedrock analiza el contenido y, finalmente, la información se organiza en Notion mediante su API.
Arquitectura general
El recorrido puede entenderse en seis etapas:
- Carga de la imagen. El usuario sube una captura de pantalla con una pregunta de certificación a un bucket de Amazon S3.
- Activación del proceso. Un evento de S3 invoca la función AWS Lambda configurada para procesar el archivo.
- Extracción del texto. Lambda utiliza Amazon Textract para obtener el texto contenido en la imagen.
- Análisis con inteligencia artificial. El texto se envía a Amazon Bedrock, donde un modelo generativo recibe las instrucciones necesarias para estructurar la pregunta y analizar sus opciones.
- Construcción del resultado. La información se organiza en un formato
JSONque puede contener el enunciado, las opciones, la respuesta propuesta y su explicación. - Registro en Notion. Mediante la API de Notion y la biblioteca
PyToNotion, los datos se convierten en contenido dentro de la página configurada.
El resultado es un proceso automatizado en el que una simple captura puede terminar convertida en una ficha de estudio organizada.
La lógica del proyecto
La arquitectura nos muestra qué servicios participan. El flujo lógico, en cambio, nos permite entender cómo se relacionan. La distinción es importante: una cosa es saber qué personajes aparecen en la historia y otra muy distinta comprender por qué cada uno entra en escena.
En este proyecto, Lambda actúa como punto de coordinación. Textract se ocupa de la lectura, Bedrock de la interpretación y Notion de conservar el resultado en un formato útil para estudiar.
La integración con Notion es el último eslabón de la cadena, pero también uno de los más importantes. Una respuesta que termina perdida en un registro técnico sirve de poco; una respuesta que aparece en el cuaderno donde estudias puede convertirse en conocimiento reutilizable.
Las huellas digitales: políticas y permisos de IAM
Ningún detective sensato entrega las llaves de toda la ciudad a un desconocido. En AWS, esa misma prudencia tiene nombre: AWS Identity and Access Management (IAM).
Los servicios necesitan permisos para interactuar entre sí, pero concederlos sin cuidado puede abrir puertas que no deberían estar abiertas. Para este proyecto, conviene distinguir los permisos relacionados con el almacenamiento de aquellos que necesita la función Lambda para ejecutar el flujo completo.
Permisos para Amazon S3
Las siguientes acciones pueden ser necesarias según las operaciones que realice el código:
s3:GetObject: permite leer los objetos almacenados en el bucket.s3:PutObject: permite cargar o escribir objetos.s3:ListBucket: permite consultar la lista de objetos del bucket.
No todas las acciones son imprescindibles en cualquier implementación. Si la función únicamente lee las imágenes y nunca escribe archivos ni enumera el contenido del bucket, puedes reducir los permisos en consecuencia.
Permisos para AWS Lambda
La función necesita una política de ejecución que le permita acceder a los servicios involucrados. Entre las acciones relacionadas con el flujo se encuentran:
s3:GetObject: leer la imagen que debe procesarse.textract:DetectDocumentText: detectar y extraer texto de la imagen.textract:AnalyzeDocument: analizar la estructura de documentos cuando esa capacidad sea necesaria.bedrock:InvokeModel: invocar un modelo de Amazon Bedrock.bedrock:InvokeModelWithResponseStream: utilizar respuestas en streaming si la implementación las requiere.bedrock:ListFoundationModels: consultar modelos disponibles, si el código realiza esa operación.
Las acciones de escritura y listado de S3 también pueden ser necesarias si Lambda guarda resultados o enumera objetos.
Una precaución importante: estos permisos no deben copiarse indiscriminadamente en una única política. La función debería recibir únicamente las acciones que utiliza, restringidas a los recursos correspondientes siempre que sea posible. Además, Lambda necesita sus permisos habituales para escribir registros en Amazon CloudWatch Logs.
La invocación desde S3 requiere configurar correctamente los permisos de la política basada en recursos de la función, mientras que las llamadas a Textract y Bedrock dependen del rol de ejecución de Lambda. En particular, el acceso a Bedrock debe estar habilitado para el modelo elegido y la región utilizada.
En seguridad, la elegancia no consiste en tener todas las llaves, sino en necesitar muy pocas.
El expediente del proyecto: estructura del repositorio
Si deseas examinar el funcionamiento del proyecto con más detalle, el repositorio está organizado en módulos para separar las responsabilidades principales.
AWS-Exam-Qustons-AI-AWS/
├── main.py# Punto de entrada de AWS Lambda
├── aws_question_agent.py# Flujo principal de procesamiento
├── utils/
│ ├── ocr.py # Extracción de texto de imágenes
│ ├── llm.py # Análisis de preguntas con IA
│ └── notion.py# Guardado de resultados en Notion
├── images/
│ ├── vaniadev.png
│ └── video.jpg
├── requirements.txt # Dependencias de Python
├── pyproject.toml # Configuración del proyecto
├── uv.lock# Bloqueo de dependencias
├── .python-version# Versión de Python
├── .gitignore # Archivos excluidos de Git
└── LICENSE.txt# Licencia MIT
La estructura deja entrever una decisión acertada: cada módulo tiene una responsabilidad definida, main.py recibe la ejecución de Lambda; aws_question_agent.py coordina el trabajo; y la carpeta utils reúne las piezas especializadas en lectura, análisis y almacenamiento. Esta separación facilita mantener el código, detectar errores y modificar una parte del sistema sin convertir cada cambio en una operación a corazón abierto.
¿Cómo desplegarlo en AWS Lambda?
A grandes rasgos, el despliegue contempla los siguientes pasos:
- Preparar el código y sus dependencias para el entorno de ejecución de Lambda.
- Crear la función Lambda y configurar su rol de ejecución.
- Configurar el bucket S3 y el evento que activará la función.
- Configurar el acceso al modelo de Amazon Bedrock y las credenciales o integraciones necesarias para Notion.
- Subir una imagen de prueba y verificar los registros, el procesamiento y la creación del contenido.
Antes de poner el sistema a trabajar con muchas imágenes, conviene probarlo con unas cuantas capturas representativas. Los errores más interesantes suelen esconderse en los detalles: una opción mal leída, una respuesta que no respeta el formato esperado o una propiedad de Notion que no coincide con la estructura enviada.
La reconstrucción de los hechos: del archivo a la respuesta
Para entender mejor el recorrido, imaginemos una pregunta habitual de una certificación de AWS. Una empresa utiliza clústeres de Amazon EMR para analizar sus cargas de trabajo. El equipo de ciencia de datos los deja funcionando incluso después de terminar sus tareas, lo que provoca gastos innecesarios. La dirección quiere encontrar una solución automatizada para terminar los clústeres inactivos. La pregunta aparece en una captura de pantalla y comienza nuestro procedimiento.
1. La imagen entra en el archivo
El usuario sube la captura al bucket de S3. El objeto queda almacenado y el evento configurado notifica a Lambda. Lambda solicita la extracción del texto mediante Textract. El resultado contiene el enunciado y las opciones que aparezcan en la imagen.
La calidad de la captura importa. Una imagen borrosa, una opción cortada o un texto demasiado pequeño pueden producir errores de extracción que después se propagarán al resto del flujo.
3. Bedrock analiza las pistas
El texto recuperado se envía al modelo junto con instrucciones que definen el formato esperado. Por ejemplo, el prompt puede solicitar una estructura que incluya:
- La pregunta original.
- Las opciones de respuesta.
- La opción considerada correcta.
- Una explicación en español.
- Los conceptos clave que conviene recordar.
La precisión del resultado dependerá tanto de las instrucciones como del modelo, la calidad del texto y la complejidad de la pregunta.
4. El resultado toma forma de JSON
Para que la información pueda trasladarse de manera consistente a Notion, el proyecto utiliza una estructura de datos. JSON permite representar los distintos campos de la pr
Comments
No comments yet. Start the discussion.