Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployez Multi-Agent une plateforme Meeting Intelligence à l'aide du SDK Strands Agents et d'AWS Fargate
Aishita Batra et Muskan., Amazon Web Services
Résumé
Ce modèle déploie une plateforme d'intelligence des réunions multi-agents AWS Fargate qui génère automatiquement des comptes rendus structurés, des résumés, des narrations audio et des rapports PDF formatés à partir des transcriptions de réunions. La solution utilise le SDK Strands Agents pour orchestrer quatre agents d'IA spécialisés, Amazon Bedrock pour l'inférence des modèles linguistiques et Amazon Polly pour la conversion du texte en parole.
Les utilisateurs téléchargent les transcriptions des réunions via une interface Web Streamlit, et le système les traite de manière asynchrone via un pipeline d'agents coordonné. L'infrastructure se déploie automatiquement via GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) et inclut des fonctionnalités intégrées de surveillance, d'auto-scaling et de haute disponibilité.
Conditions préalables et limitations
Conditions préalables
Un actif Compte AWS avec des autorisations administratives
AWS CDK version 2.114.1 ou ultérieure installée
AWS CLI installé et configuré avec les autorisations Gestion des identités et des accès AWS (IAM) appropriées
Node.js 18 ans ou version ultérieure
Python 3.12 ou version ultérieure
Git installé
Docker installé (facultatif, pour les tests locaux)
Un GitHub compte avec des secrets de dépôt configurés :
AWS_ACCESS_KEY_IDetAWS_SECRET_ACCESS_KEYAmazon Bedrock avec accès au modèle Anthropic Claude 3 Sonnet activé dans votre région
Accès Amazon Polly activé (activé par défaut dans la plupart des régions)
Autorisations IAM pour Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing, Amazon Virtual Private Cloud (Amazon VPC)
Amazon VPC, IAM, Amazon CloudWatch et Amazon Simple Notification Service (Amazon SNS)
Limites
Le temps de traitement est de 2 à 7 minutes par réunion, selon la complexité de la transcription.
La longueur maximale de la transcription est de 50 000 caractères par demande.
Les résumés audio sont automatiquement condensés à 3 000 caractères (limite de caractères Amazon Polly).
La disponibilité du sonnet Amazon Bedrock Claude 3 varie selon. Région AWS
L'état du job est stocké en mémoire et n'est pas persistant au redémarrage du conteneur, sauf si vous configurez S3-based la persistance.
Le téléchargement direct ne prend en charge que
.txtles fichiers.L'Application Load Balancer impose un délai d'attente de 15 minutes pour le traitement des demandes.
Certains AWS services ne sont pas disponibles dans tous les cas Régions AWS. Pour connaître la disponibilité par région, consultez la section AWS Services par région
. Pour des points de terminaison spécifiques, consultez la page Points de terminaison et quotas du service, puis choisissez le lien vers le service.
Architecture
Architecture cible
La solution déploie un système d'IA multi-agents à l'aide du SDK Strands Agents sur l' AWS Fargate architecture suivante :

Les utilisateurs téléchargent les transcriptions des réunions via une application Web Streamlit hébergée localement ou sur un serveur distant.
Un Application Load Balancer installé dans des sous-réseaux publics répartit le trafic vers le service Fargate sur deux zones de disponibilité.
Les tâches Fargate s'exécutent dans des sous-réseaux privés avec accès à la passerelle NAT et hébergent le backend FastAPI et la logique d'orchestration de l'agent Strands.
Le système multi-agents Strands traite les transcriptions via quatre agents séquentiels : génération de minutes structurées, génération de résumés concis, narration audio et création de rapports PDF.
Amazon Bedrock fournit une inférence de modèles linguistiques (Claude 3 Sonnet) pour les agents de génération de comptes rendus et de résumés.
Amazon Polly convertit le résumé concis en narration audio MP3.
Amazon S3 stocke les transcriptions téléchargées, les fichiers de sortie générés et l'état des tâches conformément aux politiques de gestion du cycle de vie.
Amazon CloudWatch fournit une journalisation centralisée, des alarmes relatives au processeur et à la mémoire, ainsi qu'une surveillance de l'état des services grâce aux notifications Amazon SNS.
GitHub Actions permet un CI/CD déploiement automatisé AWS CDK grâce à des tests de validation de l'intégrité.
Automatisation et mise à l'échelle
Mise à l'échelle automatique d'ECS Fargate : dimensionnement automatique des conteneurs de 1 à 3 instances sur la base de seuils d'utilisation du processeur et de la mémoire de 70 %.
CloudWatchsurveillance : alarmes du processeur (65 %), de la mémoire (80 %) et de l'état du service intégrées aux notifications Amazon SNS.
Application Load Balancer : distribution du trafic avec des contrôles de santé toutes les 60 secondes et un délai d'inactivité de 15 minutes pour les tâches de traitement par IA de longue durée.
Traitement des tâches en arrière-plan — Analyse des réunions asynchrones à l'aide de FastAPI BackgroundTasks pour l'exécution simultanée de tâches.
S3-based persistance des tâches : stockage permanent de l'état des tâches dans Amazon S3 qui garantit la continuité des tâches lors des redémarrages de conteneurs et des événements de dimensionnement.
GitHub Actions CI/CD — Pipeline de déploiement automatisé avec provisionnement de l'infrastructure CDK et tests de validation de l'intégrité.
Outils
Services AWS
Amazon Bedrock — Fournit une inférence de modèles linguistiques (Claude 3 Sonnet) pour les agents d'analyse et de synthèse des réunions. Consultez la documentation Amazon Bedrock.
Amazon CloudWatch — Surveille les performances des conteneurs, capture les journaux des applications et déclenche des alarmes concernant les seuils de santé du processeur, de la mémoire et des services. Consultez la CloudWatch CloudWatch documentation Amazon.
Amazon Elastic Container Service (Amazon ECS) — Orchestre les tâches liées aux conteneurs Fargate à l'aide de contrôles de santé et de découverte de services. Consultez la documentation Amazon ECS.
Amazon Polly — Convertit les résumés concis des réunions en narrations audio MP3. Consultez la documentation Amazon Polly.
Amazon Simple Notification Service (Amazon SNS) : envoie des notifications d'alarme issues de la surveillance. CloudWatch Consultez la documentation Amazon SNS.
Amazon Simple Storage Service (Amazon S3) — Stocke les transcriptions téléchargées, les fichiers de sortie générés et le statut des tâches grâce à la gestion du cycle de vie. Consultez la documentation Amazon S3.
AWS CDK — Définit et déploie toute l'infrastructure sous forme de code. Consultez AWS CDK la documentation.
AWS Fargate — Exécute des charges de travail d'applications conteneurisées sans gérer de serveurs, grâce à l'auto-scaling de 1 à 3 instances. Consultez AWS Fargate la documentation.
Elastic Load Balancing : répartit le trafic entrant vers les tâches Fargate entre les zones de disponibilité. Consultez la documentation d'Elastic Load Balancing.
Autres outils
Docker — Construit des images de conteneurs pour les tests locaux. Consultez la documentation Docker
. FastAPI — Fournit le backend de l'API REST pour la soumission des tâches, la vérification du statut et les opérations sur les fichiers. Consultez la documentation de FastAPI
. GitHub Actions — Automatise le pipeline de CI/CD déploiement. Consultez la documentation sur GitHub les actions
. ReportLab— Génère des rapports PDF formatés à partir de comptes rendus de réunion structurés. Consultez ReportLab la documentation
. SDK Strands Agents — Orchestre les flux de travail multi-agents avec un minimum de code en utilisant le
@toolmodèle de décorateur. Consultez la documentation du SDK Strands. Streamlit — Fournit l'interface utilisateur Web pour le téléchargement des transcriptions et des sorties. Consultez la documentation Streamlit
.
Référentiel de code
Le code de ce modèle est disponible dans le référentiel GitHub sample-ai-meeting-minutes-generator
Bonnes pratiques
Utilisez des instructions système claires et ciblées pour chaque agent afin de garantir un formatage de sortie cohérent et une documentation de réunion professionnelle.
Mettez en œuvre la gestion du cycle de vie Amazon S3 avec une rétention de 90 jours pour optimiser les coûts et automatiser le nettoyage des fichiers.
Utilisez le suivi des S3-based tâches Amazon pour maintenir l'état des conteneurs lors des redémarrages et des événements de dimensionnement afin de garantir un traitement fiable.
Configurez les CloudWatch alarmes relatives à l'état du processeur, de la mémoire et des services avec les notifications Amazon SNS pour une surveillance proactive.
Validez et nettoyez les téléchargements de fichiers et le format du contenu avant le traitement afin d'éviter les erreurs système et les problèmes de sécurité.
Respectez le principe du moindre privilège et accordez les autorisations minimales requises pour effectuer une tâche. Pour plus d'informations, consultez les sections Accorder le moindre privilège et Bonnes pratiques en matière de sécurité dans la documentation IAM.
Envisagez AWS AgentCore les déploiements de production qui nécessitent une orchestration gérée et des frais opérationnels simplifiés. Le SDK Strands est préférable lorsque vous avez besoin d'une plus grande personnalisation des interactions avec les agents et d'un contrôle spécialisé du flux de travail.
Mettez en œuvre une évaluation systématique des résultats des agents par rapport aux comptes rendus de réunion générés par l'homme afin d'améliorer en permanence les instructions du système et les performances des agents.
Épopées
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Cloner le référentiel |
| AWS DevOps |
Créez votre propre dépôt Git |
| Développeur d’applications |
Configurez les secrets du référentiel pour CI/CD. |
| DevOps ingénieur |
Déployez l'infrastructure à l'aide du CI/CD flux de travail. |
| DevOps ingénieur |
Vérifiez le déploiement de l'infrastructure. |
| DevOps ingénieur, administrateur cloud |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Mettre en place l'environnement de développement local |
| Développeur d’applications |
Récupérez l'URL du service principal. |
| Administrateur du cloud |
Lancez l'application et vérifiez la connectivité. |
| Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Traitez la transcription d'une réunion et vérifiez les résultats. |
| Développeur d’applications |
Résolution des problèmes
| Problème | Solution |
|---|---|
Erreur d'accès au modèle Amazon Bedrock | Vérifiez que le modèle Anthropic Claude 3 Sonnet est activé dans votre région. Ouvrez la console Amazon Bedrock, choisissez Model access et vérifiez que Claude 3 Sonnet indique que l'accès est accordé. |
Le bootstrap du CDK échoue | Exécutez |
| Consultez la console Amazon ECS pour obtenir des informations sur les tâches arrêtées. Les causes courantes incluent des autorisations de rôle IAM incorrectes, un accès manquant à Amazon Bedrock ou des problèmes de configuration VPC. Passez en revue les CloudWatch journaux de la tâche. |
Délais de traitement (délai ALB de 15 minutes) | L'Application Load Balancer a un délai d'inactivité de 15 minutes. Pour les transcriptions très longues, réduisez la taille d'entrée à moins de 50 000 caractères ou augmentez le délai d'expiration de l'ALB dans la configuration du CDK. |
La génération audio échoue | Amazon Polly est limité à 3 000 caractères. L'agent de synthèse concis condense automatiquement le contenu en dessous de cette limite. Si la génération audio échoue toujours, vérifiez que l'accès à Amazon Polly est activé dans votre région. |
GitHub Le déploiement des actions échoue | Vérifiez que |
Backend non connecté (Streamlit indique qu'il est déconnecté) | Vérifiez que la variable d' |
État du job perdu après le redémarrage du conteneur | Activez la persistance des S3-based tâches Amazon en configurant la variable d' |
Ressources connexes
Références
Outils
Informations supplémentaires
Multi-agent flux de travail de traitement
La solution orchestre le traitement des réunions par le biais de quatre agents spécialisés qui s'exécutent de manière séquentielle dans le cadre des tâches Fargate. Chaque tâche se voit attribuer un identifiant de tâche unique et est exécutée de manière asynchrone pour des raisons d'évolutivité et d'isolation des pannes.
Générateur de comptes rendus structurés (
generate_structured_minutes) — Prend en entrée la transcription et le titre bruts de la réunion. Utilise Amazon Bedrock Claude 3 Sonnet pour produire des comptes rendus de réunion complets, y compris les informations sur les réunions, les points de l'ordre du jour, le résumé des discussions, les mesures à prendre avec les destinataires et les délais, ainsi que les prochaines étapes. Enregistre le résultat sous forme de fichier texte brut.Générateur de résumé concis (
concise_minutes_agent) — Prend en entrée les minutes structurées complètes de l'agent 1. Utilise le sonnet Claude 3 d'Amazon Bedrock pour créer un résumé de moins de 3 000 caractères à des fins de génération audio et de lecture rapide.Générateur audio (
audio_generator_agent) — Prend en entrée les minutes concises de l'Agent 2. Utilise l'speakoutil Strands avec Amazon Polly pour générer un fichier audio MP3 présentant un résumé concis.Générateur de rapports PDF (
create_comprehensive_pdf) — Prend en entrée les minutes structurées complètes de l'Agent 1. Utilise la ReportLab bibliothèque pour produire un rapport PDF professionnel avec un style de titre personnalisé, des en-têtes de section, une mise en page de texte lisible et des métadonnées.
Flux de données
Téléchargement par l'utilisateur : transcription de la réunion téléchargée via l'interface utilisateur Streamlit ou via un appel API direct.
Initialisation de la tâche : FastAPI crée un identifiant de tâche unique et le renvoie immédiatement pour un traitement asynchrone.
Traitement en arrière-plan — Le flux de travail de l'agent Strands en quatre étapes s'exécute de manière séquentielle.
Gestion des fichiers — Les fichiers générés sont chargés sur Amazon S3 avec des URL de téléchargement présignées.
Fin du travail : le statut est mis à jour avec des liens de téléchargement pour toutes les sorties générées.
Considérations relatives aux améliorations futures
Suivi permanent des tâches avec Amazon DynamoDB pour une fiabilité entre conteneurs
Multi-format support d'entrée (
.docx.pdf, fichiers de transcription audio)Real-time WebSocket mises à jour des progrès
End-to-End Flux de traitement
La solution orchestre le traitement des réunions par le biais d'une séquence coordonnée d'agents spécialisés exécutant les tâches de Fargate.
Chaque tâche se voit attribuer un identifiant de tâche unique et est exécutée de manière asynchrone pour garantir l'évolutivité et l'isolation des pannes.
Le flux de travail inclut l'ingestion des transcriptions → la génération de minutes structurées → le résumé exécutif → la narration audio → la création de rapports PDF, chaque étape étant validée et enregistrée en temps réel.
Four-Step Traitement des agents
Générateur de comptes rendus structurés — produit des comptes rendus de réunion détaillés.
Générateur de résumés concis : crée un résumé pour une révision rapide et une narration audio.
Générateur audio — génère une narration MP3 du résumé.
Générateur de rapports PDF : produit des rapports PDF raffinés et formatés.
Gestion automatisée des fichiers et intégration dans le cloud
Téléchargement automatique des résultats : les rapports texte, audio et PDF structurés sont automatiquement chargés sur Amazon S3 avec un partitionnement approprié par ID de tâche.
Contrôles d'intégrité et gestion du cycle de vie : les confirmations de téléchargement, la validation des fichiers et le nettoyage sont enregistrés pour garantir la transparence et la fiabilité opérationnelles.
Les tâches d'arrière-plan de FastAPI gèrent l'exécution asynchrone des tâches.
Intégration et sorties de l'interface utilisateur
L'interface utilisateur Streamlit affiche la connexion principale, la zone de saisie des transcriptions et Generate Minutes après le téléchargement de la transcription de la réunion via l'URL S3 Pre-signed pour lancer les tâches.

Une fois le traitement terminé, le texte structuré, les sorties audio et PDF peuvent être téléchargées via des URL Pre-signed S3, accessibles via des boutons cliquables dans l'interface utilisateur.

