Sobre el proyecto

Este repositorio proporciona una arquitectura de referencia para un chatbot que cumple con la residencia de datos y responde preguntas en lenguaje natural a partir de datos estructurados en Aurora PostgreSQL sin necesidad de que los usuarios escriban SQL. Todos los datos y la inferencia de IA permanecen dentro de una única región de AWS (ap-south-1, Mumbai). El patrón se demuestra con un programa de subsidios para energía solar en tejados utilizando datos de muestra totalmente sintéticos, pero los controles de residencia y el diseño de seguridad gobernado de texto a SQL son aplicables a otros sectores y geografías. La solución combina la aplicación de residencia en una única región en cada capa (invocación del modelo, red, alojamiento) con texto a SQL gobernado y validado mediante listas blancas en Amazon Bedrock AgentCore. Los componentes clave incluyen AWS WAF para protección con firewall, una interfaz de navegador alojada en Amplify, API Gateway (REST o WebSocket), una Lambda de agente que ejecuta un agente Strands, Amazon Bedrock para inferencia ON_DEMAND en la región, el AgentCore Gateway que expone cuatro herramientas de consulta de solo lectura, una Lambda de herramientas que construye sentencias SELECT parametrizadas de solo lectura y Aurora PostgreSQL Serverless v2 en subredes privadas. AgentCore Memory proporciona contexto conversacional para preguntas de seguimiento. El sistema garantiza que cada número en una respuesta provenga de una consulta en vivo a la base de datos y no de una alucinación del modelo, y que ningún dato sin procesar salga de la región. El repositorio incluye opciones de implementación mediante CloudFormation con un clic o un script de implementación en Python, con comprobaciones previas que rechazan los perfiles de inferencia entre regiones. Las consideraciones de producción cubren la conexión a una base de datos existente reutilizando su VPC y apuntando la herramienta a una réplica de lectura. La documentación incluye detalles de arquitectura, guía de implementación y una lista de verificación previa. El proyecto está licenciado bajo MIT-0.