Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Implementa la piattaforma di Multi-Agent Meeting Intelligence utilizzando Strands Agents SDK e AWS Fargate
Aishita Batra e Muskan., Amazon Web Services
Riepilogo
Questo modello implementa una piattaforma di intelligence per riunioni multiagente AWS Fargate che genera automaticamente verbali strutturati, riassunti esecutivi, narrazioni audio e report in formato PDF in formato PDF a partire dalle trascrizioni delle riunioni. La soluzione utilizza l'SDK Strands Agents per orchestrare quattro agenti AI specializzati, Amazon Bedrock per l'inferenza dei modelli linguistici e Amazon Polly per la conversione da testo a voce.
Gli utenti caricano le trascrizioni delle riunioni tramite un'interfaccia web Streamlit e il sistema le elabora in modo asincrono tramite una pipeline di agenti coordinata. L'infrastruttura viene implementata automaticamente tramite GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) e include monitoraggio integrato, auto-scaling e alta disponibilità.
Prerequisiti e limitazioni
Prerequisiti
Un attivo Account AWS con autorizzazioni amministrative
AWS CDK versione 2.114.1 o successiva installata
AWS CLI installato e configurato con le autorizzazioni appropriate AWS Identity and Access Management (IAM)
Node.js 18 o versioni successive
Python 3.12 o successivo
Git installato
Docker installato (opzionale, per test locali)
Un GitHub account con i segreti del repository configurati: e
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAmazon Bedrock con accesso al modello Anthropic Claude 3 Sonnet abilitato nella tua regione
Accesso ad Amazon Polly abilitato (abilitato per impostazione predefinita nella maggior parte delle regioni)
Autorizzazioni IAM per 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 e Amazon CloudWatch Simple Notification Service (Amazon SNS)
Limitazioni
Il tempo di elaborazione è di 2-7 minuti per riunione, a seconda della complessità della trascrizione.
La lunghezza massima della trascrizione è di 50.000 caratteri per richiesta.
I riepiloghi audio vengono automaticamente condensati a 3.000 caratteri (limite di caratteri Amazon Polly).
La disponibilità di Amazon Bedrock Claude 3 Sonnet varia a seconda. Regione AWS
Lo stato del lavoro viene archiviato in memoria e non è persistente tra i riavvii del contenitore a meno che non si configuri la S3-based persistenza.
Il caricamento diretto supporta solo i
.txtfile.L'Application Load Balancer impone un timeout di 15 minuti per l'elaborazione delle richieste.
Alcuni AWS servizi non sono disponibili in tutti. Regioni AWS Per informazioni sulla disponibilità per regione, consulta AWS i servizi per regione
. Per endpoint specifici, consulta la pagina Endpoint e quote del servizio e scegli il link relativo al servizio.
Architecture
Architettura di Target
La soluzione implementa un sistema di intelligenza artificiale multiagente utilizzando Strands Agents SDK AWS Fargate con la seguente architettura:

Gli utenti caricano le trascrizioni delle riunioni tramite un'applicazione web Streamlit ospitata localmente o su un server remoto.
Un Application Load Balancer in sottoreti pubbliche distribuisce il traffico verso il servizio Fargate su due zone di disponibilità.
Le attività Fargate vengono eseguite in sottoreti private con accesso al gateway NAT e ospitano il backend FastAPI e la logica di orchestrazione degli agenti Strands.
Il sistema multiagente Strands elabora le trascrizioni tramite quattro agenti sequenziali: generazione strutturata di minuti, generazione di riepiloghi concisi, narrazione audio e creazione di report PDF.
Amazon Bedrock fornisce l'inferenza del modello linguistico (Claude 3 Sonnet) per i minuti e gli agenti di generazione dei riepiloghi.
Amazon Polly converte il riepilogo conciso in una narrazione audio MP3.
Amazon S3 archivia le trascrizioni caricate, i file di output generati e lo stato del lavoro con politiche di gestione del ciclo di vita.
Amazon CloudWatch fornisce registrazione centralizzata, allarmi di CPU e memoria e monitoraggio dello stato del servizio con notifiche Amazon SNS.
GitHub Actions fornisce una CI/CD distribuzione automatizzata tramite AWS CDK test di convalida dello stato.
Automazione e scalabilità
Auto-scaling di ECS Fargate: scalabilità automatica dei container da 1 a 3 istanze in base a soglie di utilizzo della CPU e della memoria del 70%.
CloudWatchmonitoraggio: allarmi relativi alla CPU (65%), alla memoria (80%) e allo stato del servizio integrati con le notifiche di Amazon SNS.
Application Load Balancer: distribuzione del traffico con controlli di integrità ogni 60 secondi e timeout di inattività di 15 minuti per attività di elaborazione AI di lunga durata.
Elaborazione delle attività in background: analisi asincrona delle riunioni utilizzando FastAPI per l'esecuzione simultanea dei lavori. BackgroundTasks
S3-based persistenza del lavoro: storage persistente dello stato del lavoro in Amazon S3 che garantisce la continuità del lavoro durante i riavvii dei container e gli eventi di scalabilità.
GitHub Azioni CI/CD: pipeline di distribuzione automatizzata con provisioning dell'infrastruttura CDK e test di convalida dello stato.
Tools (Strumenti)
Servizi AWS
Amazon Bedrock: fornisce l'inferenza del modello linguistico (Claude 3 Sonnet) per gli agenti di analisi e riepilogo delle riunioni. Consulta la documentazione di Amazon Bedrock.
Amazon CloudWatch : monitora le prestazioni dei container, acquisisce i log delle applicazioni e attiva allarmi per le soglie di integrità di CPU, memoria e servizio. Consulta CloudWatch CloudWatch la documentazione di Amazon.
Amazon Elastic Container Service (Amazon ECS) — Orchestra le attività dei container Fargate con controlli dello stato e individuazione dei servizi. Consulta la documentazione di Amazon ECS.
Amazon Polly: converte i riepiloghi concisi delle riunioni in narrazioni audio MP3. Consulta la documentazione di Amazon Polly.
Amazon Simple Notification Service (Amazon SNS) — Fornisce notifiche di allarme derivanti dal monitoraggio. CloudWatch Consulta la documentazione di Amazon SNS.
Amazon Simple Storage Service (Amazon S3): archivia le trascrizioni caricate, i file di output generati e lo stato del lavoro con la gestione del ciclo di vita. Consulta la documentazione di Amazon S3.
AWS CDK — Definisce e distribuisce tutta l'infrastruttura come codice. Consultate la AWS CDK documentazione.
AWS Fargate — Esegue carichi di lavoro di applicazioni containerizzate senza gestire server, con auto-scaling da 1 a 3 istanze. AWS Fargate Consultate la documentazione.
Elastic Load Balancing: distribuisce il traffico in entrata verso le attività di Fargate tra le zone di disponibilità. Consulta la documentazione di Elastic Load Balancing.
Altri strumenti
Docker: crea immagini di container per test locali. Vedi la documentazione di Docker
. FastAPI: fornisce il backend dell'API REST per l'invio dei lavori, il controllo dello stato e le operazioni sui file. Consulta la documentazione di FastAPI.
GitHub Azioni: automatizza la pipeline di CI/CD distribuzione. Vedi la documentazione GitHub sulle azioni
. ReportLab— Genera report in formato PDF a partire dai verbali strutturati delle riunioni. Consultate la ReportLab documentazione
. Strands Agents SDK: orchestra i flussi di lavoro multiagente con codice minimo utilizzando il modello decorator.
@toolConsulta la documentazione di Strands SDK. Streamlit: fornisce l'interfaccia utente basata sul Web per il caricamento delle trascrizioni e il download dell'output. Consultate la documentazione di Streamlit.
Archivio di codice
Il codice per questo pattern è disponibile nel repository GitHub sample-ai-meeting-minutes-generator
Best practice
Utilizza istruzioni di sistema chiare e mirate per ogni agente per garantire una formattazione uniforme dell'output e una documentazione professionale delle riunioni.
Implementa la gestione del ciclo di vita di Amazon S3 con conservazione di 90 giorni per l'ottimizzazione dei costi e la pulizia automatica dei file.
Usa Amazon S3-based Job Tracking per mantenere lo stato durante i riavvii dei container e gli eventi di scalabilità per un'elaborazione affidabile.
Configura CloudWatch allarmi per lo stato della CPU, della memoria e del servizio con le notifiche di Amazon SNS per un monitoraggio proattivo.
Convalida e disinfetta i caricamenti di file e il formato dei contenuti prima dell'elaborazione per prevenire errori di sistema e problemi di sicurezza.
Segui il principio del privilegio minimo e concedi le autorizzazioni minime necessarie per eseguire un'attività. Per ulteriori informazioni, consulta le best practice relative alla concessione dei privilegi minimi e alla sicurezza nella documentazione IAM.
Prendi in considerazione AWS AgentCore le implementazioni di produzione che richiedono un'orchestrazione gestita e un sovraccarico operativo semplificato. Strands SDK è preferibile quando è necessaria una maggiore personalizzazione delle interazioni con gli agenti e un controllo specializzato del flusso di lavoro.
Implementa una valutazione sistematica degli output degli agenti rispetto ai verbali delle riunioni generati dall'uomo per migliorare continuamente le richieste di sistema e le prestazioni degli agenti.
Epiche
| Operazione | Description | Competenze richieste |
|---|---|---|
Clona il repository |
| AWS DevOps |
Crea il tuo repository Git |
| Sviluppatore di app |
Configura i segreti del repository per. CI/CD |
| DevOps ingegnere |
Implementa l'infrastruttura utilizzando il CI/CD flusso di lavoro. |
| DevOps ingegnere |
Verifica l'implementazione dell'infrastruttura. |
| DevOps ingegnere, amministratore del cloud |
| Operazione | Description | Competenze richieste |
|---|---|---|
Configurare l'ambiente di sviluppo locale |
| Sviluppatore di app |
Recupera l'URL del servizio di backend. |
| Amministratore cloud |
Avvia l'applicazione e verifica la connettività. |
| Sviluppatore di app |
| Operazione | Description | Competenze richieste |
|---|---|---|
Elabora la trascrizione di una riunione e verifica i risultati. |
| Sviluppatore di app |
Risoluzione dei problemi
| Problema | Soluzione |
|---|---|
Errore di accesso al modello Amazon Bedrock | Verifica che il modello Anthropic Claude 3 Sonnet sia abilitato nella tua regione. Apri la console Amazon Bedrock, scegli Model access e conferma che Claude 3 Sonnet mostri l'accesso concesso. |
Il bootstrap CDK fallisce | Esegui |
| Controlla la console Amazon ECS per i dettagli delle attività interrotte. Le cause più comuni includono autorizzazioni errate per i ruoli IAM, accesso ad Amazon Bedrock mancante o problemi di configurazione VPC. Esamina CloudWatch i log relativi all'attività. |
Timeout di elaborazione (timeout ALB di 15 minuti) | L'Application Load Balancer ha un timeout di inattività di 15 minuti. Per trascrizioni molto lunghe, riduci la dimensione di input a meno di 50.000 caratteri o aumenta il timeout ALB nella configurazione CDK. |
La generazione dell'audio fallisce | Amazon Polly ha un limite di 3.000 caratteri. L'agente di riepilogo conciso condensa automaticamente i contenuti al di sotto di questo limite. Se la generazione audio continua a fallire, verifica che l'accesso ad Amazon Polly sia abilitato nella tua regione. |
GitHub La distribuzione delle azioni fallisce | Verifica che |
Backend non connesso (Streamlit mostra disconnesso) | Verificate che la variabile di |
Stato del lavoro perso dopo il riavvio del contenitore | Abilita la persistenza dei S3-based job di Amazon configurando la variabile di |
Risorse correlate
Riferimenti
Strumenti
Informazioni aggiuntive
Multi-agent flusso di lavoro di elaborazione
La soluzione orchestra l'elaborazione delle riunioni tramite quattro agenti specializzati che eseguono in sequenza le attività di Fargate. A ogni lavoro viene assegnato un ID di lavoro univoco e viene eseguito in modo asincrono per la scalabilità e l'isolamento dei guasti.
Structured Minutes Generator (
generate_structured_minutes): utilizza come input la trascrizione e il titolo della riunione non elaborati. Utilizza Amazon Bedrock Claude 3 Sonnet per produrre verbali completi delle riunioni, tra cui informazioni sulle riunioni, punti dell'ordine del giorno, riepilogo delle discussioni, azioni con assegnatari e scadenze e passaggi successivi. Salva l'output come file di testo semplice.Concise Summary Generator (
concise_minutes_agent): utilizza come input i minuti completamente strutturati dell'Agente 1. Utilizza Amazon Bedrock Claude 3 Sonnet per creare un riepilogo esecutivo di meno di 3.000 caratteri per la generazione di audio e la lettura rapida.Audio Generator (
audio_generator_agent): utilizza i minuti concisi dell'Agente 2 come input. Utilizza lospeakstrumento Strands con Amazon Polly per generare un file audio MP3 che narra il riepilogo conciso.PDF Report Generator (
create_comprehensive_pdf): utilizza come input i minuti completamente strutturati dell'Agente 1. Utilizza la ReportLab libreria per produrre un report PDF professionale con stile personalizzato del titolo, intestazioni di sezione, layout di testo leggibile e metadati.
Flusso di dati
Caricamento utente: trascrizione della riunione caricata tramite l'interfaccia utente Streamlit o una chiamata API diretta.
Inizializzazione del lavoro: FastAPI crea un ID lavoro univoco e ritorna immediatamente per l'elaborazione asincrona.
Elaborazione in background: il flusso di lavoro dell'agente Strands in quattro fasi viene eseguito in sequenza.
Gestione dei file: i file generati vengono caricati su Amazon S3 con URL di download predefiniti.
Completamento del lavoro: lo stato viene aggiornato con i link per il download di tutti gli output generati.
Considerazioni sul miglioramento futuro
Monitoraggio persistente dei lavori con Amazon DynamoDB per l'affidabilità tra container
Multi-format supporto di input (
.docx.pdf, file di trascrizione audio)Real-time WebSocket aggiornamenti sui progressi
End-to-End Flusso di elaborazione
La soluzione orchestra l'elaborazione delle riunioni attraverso una sequenza coordinata di agenti specializzati che eseguono le attività di Fargate.
A ciascun lavoro viene assegnato un ID di lavoro univoco ed eseguito in modo asincrono per garantire la scalabilità e l'isolamento dei guasti.
Il flusso di lavoro include l'inserimento della trascrizione → generazione strutturata dei minuti → riepilogo esecutivo → narrazione audio → creazione di report PDF, con ogni passaggio convalidato e registrato in tempo reale.
Four-Step Elaborazione degli agenti
Structured Minutes Generator: produce verbali dettagliati delle riunioni.
Generatore di riepiloghi concisi: crea un riepilogo esecutivo per una rapida revisione e una narrazione audio.
Generatore audio: genera una narrazione MP3 del riepilogo.
PDF Report Generator: produce report PDF raffinati e formattati.
Gestione automatizzata dei file e integrazione nel cloud
Caricamento automatico dell'output: i report strutturati di testo, audio e PDF vengono caricati automaticamente su Amazon S3 con il corretto partizionamento in base agli ID del lavoro.
Controlli di integrità e gestione del ciclo di vita: le conferme di caricamento, la convalida dei file e la pulizia vengono registrate per garantire trasparenza e affidabilità operative.
Le attività in background di FastAPI gestiscono l'esecuzione asincrona dei lavori.
Integrazione e output dell'interfaccia utente
L'interfaccia utente Streamlit mostra la connessione al backend, l'area di immissione della trascrizione e Genera minuti dopo aver caricato la trascrizione della riunione tramite l'URL S3 per avviare i lavori. Pre-signed

Una volta completata l'elaborazione, il testo strutturato, l'audio e gli output PDF sono resi disponibili per il download tramite gli URL Pre-signed S3, accessibili tramite i pulsanti cliccabili nell'interfaccia utente.

