À propos du projet

Ce référentiel fournit une architecture de référence pour un chatbot conforme à la résidence des données, qui répond à des questions en langage courant à partir de données structurées dans Aurora PostgreSQL sans que les utilisateurs aient à écrire du SQL. Toutes les données et l'inférence IA restent dans une seule région AWS (ap-south-1, Mumbai). Le modèle est illustré par un programme de subvention pour l'énergie solaire en toiture utilisant des données d'exemple entièrement synthétiques, mais les contrôles de résidence et la conception de sécurité gouvernée du text-to-SQL sont applicables à d'autres secteurs et zones géographiques. La solution combine l'application de la résidence dans une seule région à chaque couche (invocation du modèle, réseau, hébergement) avec un text-to-SQL gouverné et validé par liste blanche sur Amazon Bedrock AgentCore. Les composants clés incluent AWS WAF pour la protection par pare-feu, une interface utilisateur navigateur hébergée par Amplify, API Gateway (REST ou WebSocket), une fonction Lambda d'agent exécutant un agent Strands, Amazon Bedrock pour l'inférence intra-région ON_DEMAND, la passerelle AgentCore exposant quatre outils de requête en lecture seule, une fonction Lambda d'outil qui construit des instructions SELECT paramétrées uniquement, et Aurora PostgreSQL Serverless v2 dans des sous-réseaux privés. La mémoire AgentCore fournit le contexte conversationnel pour les questions de suivi. Le système garantit que chaque nombre dans une réponse provient d'une requête en direct sur la base de données plutôt que d'une hallucination du modèle, et qu'aucune donnée brute ne quitte la région. Le référentiel comprend des options de déploiement via CloudFormation en un clic ou un script de déploiement Python, avec des vérifications préalables qui rejettent les profils d'inférence inter-régions. Les considérations de production couvrent la connexion à une base de données existante en réutilisant son VPC et en pointant l'outil vers un réplica en lecture. La documentation comprend les détails de l'architecture, les instructions de déploiement et une liste de contrôle préalable. Le projet est sous licence MIT-0.