

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à.

# Documenta le conoscenze istituzionali utilizzando input vocali utilizzando Amazon Bedrock e Amazon Transcribe
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe"></a>

*Praveen Kumar Jeyarajan, Jundong Qiao, Rajiv Upadhyay e Megan Wu, Amazon Web Services*

## Riepilogo
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-summary"></a>

L'acquisizione della conoscenza istituzionale è fondamentale per garantire il successo e la resilienza organizzativi. La conoscenza istituzionale rappresenta la saggezza, le intuizioni e le esperienze collettive accumulate dai dipendenti nel tempo, spesso di natura tacita e tramandate in modo informale. Questa ricchezza di informazioni comprende approcci unici, best practice e soluzioni a problemi complessi che potrebbero non essere documentati altrove. Formalizzando e documentando queste conoscenze, le aziende possono preservare la memoria istituzionale, promuovere l'innovazione, migliorare i processi decisionali e accelerare le curve di apprendimento per i nuovi dipendenti. Inoltre, promuove la collaborazione, dà potere alle persone e coltiva una cultura del miglioramento continuo. In definitiva, lo sfruttamento delle conoscenze istituzionali aiuta le aziende a utilizzare la loro risorsa più preziosa, l'intelligenza collettiva della forza lavoro, per affrontare le sfide, promuovere la crescita e mantenere il vantaggio competitivo in ambienti aziendali dinamici.

Questo modello spiega come acquisire le conoscenze istituzionali attraverso le registrazioni vocali dei dipendenti senior. Utilizza [Amazon Transcribe e Amazon](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html) [Bedrock per la documentazione e](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) la verifica sistematiche. Documentando queste conoscenze informali, puoi preservarle e condividerle con le successive coorti di dipendenti. Questo impegno sostiene l'eccellenza operativa e migliora l'efficacia dei programmi di formazione attraverso l'integrazione delle conoscenze pratiche acquisite attraverso l'esperienza diretta.

## Prerequisiti e limitazioni
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ [Docker, installato](https://docs.docker.com/engine/install/)
+ AWS Cloud Development Kit (AWS CDK) versione 2.114.1 o successiva, [installato](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_tools) e [avviato](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_bootstrap) nelle regioni AWS `us-east-1` `us-west-2`
+ [AWS CDK Toolkit versione 2.114.1 o successiva, installato](https://docs.aws.amazon.com/cdk/v2/guide/cli.html)
+ [AWS Command Line Interface (AWS CLI)[,](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installata e configurata](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Python versione 3.12 o successiva, installata](https://www.python.org/downloads/)
+ Autorizzazioni per creare risorse Amazon Transcribe, Amazon Bedrock, Amazon Simple Storage Service (Amazon S3) e AWS Lambda

**Limitazioni**
+ Questa soluzione viene distribuita su un singolo account AWS.
+ Questa soluzione può essere distribuita solo nelle regioni AWS in cui sono disponibili Amazon Bedrock e Amazon Transcribe. Per informazioni sulla disponibilità, consulta la documentazione per [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) e [Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html#tsc-regions).
+ I file audio devono essere in un formato supportato da Amazon Transcribe. Per un elenco dei formati supportati, consulta [Formati multimediali](https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio) nella documentazione Transcribe.

**Versioni del prodotto**
+ SDK AWS per Python (Boto3) versione 1.34.57 o successiva
+ LangChain versione 0.1.12 o successiva

## Architecture
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-architecture"></a>

L'architettura rappresenta un flusso di lavoro serverless su AWS. [AWS Step Functions orchestra le funzioni](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) Lambda per l'elaborazione audio, l'analisi del testo e la generazione di documenti. Il diagramma seguente mostra il flusso di lavoro Step Functions, noto anche come *macchina a stati*.

![\[Diagramma dell'architettura della macchina a stati Step Functions che genera un documento\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f1e0106d-b046-4adc-9718-c299efb7b436/images/e90298ca-1b7f-4c3e-97bd-311a9d5a4997.png)


Ogni fase della macchina a stati è gestita da una funzione Lambda distinta. Di seguito sono riportati i passaggi del processo di generazione dei documenti:

1. La funzione `preprocess` Lambda convalida l'input passato a Step Functions ed elenca tutti i file audio presenti nel percorso della cartella URI Amazon S3 fornito. Le funzioni Lambda a valle del flusso di lavoro utilizzano l'elenco di file per convalidare, riepilogare e generare il documento.

1. La funzione `transcribe` Lambda utilizza Amazon Transcribe per convertire i file audio in trascrizioni di testo. Questa funzione Lambda è responsabile dell'avvio del processo di trascrizione e della trasformazione accurata del parlato in testo, che viene quindi memorizzato per l'elaborazione successiva.

1. La funzione `validate` Lambda analizza le trascrizioni del testo, determinando la pertinenza delle risposte alle domande iniziali. Utilizzando un modello linguistico di grandi dimensioni (LLM) tramite Amazon Bedrock, identifica e separa le risposte sull'argomento da quelle fuori tema.

1. La funzione `summarize` Lambda utilizza Amazon Bedrock per generare un riepilogo coerente e conciso delle risposte sull'argomento.

1. La funzione `generate` Lambda riunisce i riepiloghi in un documento ben strutturato. Può formattare il documento in base a modelli predefiniti e includere qualsiasi contenuto o dato aggiuntivo necessario.

1. Se una delle funzioni Lambda non funziona, ricevi una notifica e-mail tramite Amazon Simple Notification Service (Amazon SNS).

Durante questo processo, AWS Step Functions si assicura che ogni funzione Lambda venga avviata nella sequenza corretta. Questa macchina a stati ha la capacità di elaborazione parallela per migliorare l'efficienza. Un bucket Amazon S3 funge da archivio di archiviazione centrale, supportando il flusso di lavoro gestendo i vari formati multimediali e di documenti coinvolti.

## Tools (Strumenti)
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-tools"></a>

**Servizi AWS**
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) è un servizio completamente gestito che rende disponibili per l'uso modelli di base ad alte prestazioni (FMs) delle principali startup di intelligenza artificiale e di Amazon tramite un'API unificata.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di elaborazione che ti aiuta a eseguire codice senza dover fornire o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di calcolo che utilizzi.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) è un servizio di orchestrazione serverless che ti aiuta a combinare le funzioni AWS Lambda e altri servizi AWS per creare applicazioni aziendali critiche.  
+ [Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html) è un servizio di riconoscimento vocale automatico che utilizza modelli di apprendimento automatico per convertire l'audio in testo.

**Altri strumenti**
+ [LangChain](https://python.langchain.com/docs/get_started/introduction/)è un framework per lo sviluppo di applicazioni basate su modelli linguistici di grandi dimensioni (LLMs).

**Archivio di codice**

Il codice per questo pattern è disponibile nel GitHub [genai-knowledge-capture](https://github.com/aws-samples/genai-knowledge-capture)repository.

L'archivio del codice contiene i seguenti file e cartelle:
+ `assets`cartella: le risorse statiche per la soluzione, ad esempio il diagramma di architettura e il set di dati pubblico
+ `code/lambdas`folder — Il codice Python per tutte le funzioni Lambda
  + `code/lambdas/generate`folder - Il codice Python che genera un documento dai dati riepilogati nel bucket S3
  + `code/lambdas/preprocess`folder - Il codice Python che elabora gli input per la macchina a stati Step Functions
  + `code/lambdas/summarize`folder - Il codice Python che riassume i dati trascritti utilizzando il servizio Amazon Bedrock
  + `code/lambdas/transcribe`folder - Il codice Python che converte i dati vocali (file audio) in testo utilizzando Amazon Transcribe
  + `code/lambdas/validate`folder - Il codice Python che verifica se tutte le risposte riguardano lo stesso argomento
+ `code/code_stack.py`— Il file di costruzione in Python del CDK AWS utilizzato per creare risorse AWS
+ `app.py`— Il file Python dell'app AWS CDK utilizzato per distribuire le risorse AWS nell'account AWS di destinazione
+ `requirements.txt`— L'elenco di tutte le dipendenze Python che devono essere installate per il CDK AWS
+ `cdk.json`— Il file di input per fornire i valori necessari per creare risorse

## Best practice
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-best-practices"></a>

L'esempio di codice fornito è destinato esclusivamente a scopi proof-of-concept (PoC) o pilota. Se desideri portare la soluzione in produzione, utilizza le seguenti best practice:
+ Abilita la registrazione degli [accessi ad Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)
+ Abilita i log di [flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

## Epiche
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-epics"></a>

### Configura le credenziali AWS sulla tua workstation locale
<a name="set-up-aws-credentials-on-your-local-workstation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esporta le variabili per l'account e la regione AWS. | Per fornire le credenziali AWS per il CDK AWS utilizzando variabili di ambiente, esegui i seguenti comandi.<pre>export CDK_DEFAULT_ACCOUNT=<12-digit AWS account number><br />export CDK_DEFAULT_REGION=<Region></pre> | AWS DevOps, DevOps ingegnere | 
| Configura il profilo denominato AWS CLI. | Per configurare il profilo denominato AWS CLI per l'account, segui le istruzioni in [Configurazione e impostazioni del file di credenziali](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). | AWS DevOps, DevOps ingegnere | 

### Configurare l'ambiente
<a name="set-up-your-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository sulla tua workstation locale. | Per clonare il [genai-knowledge-capture](https://github.com/aws-samples/genai-knowledge-capture)repository, esegui il seguente comando nel tuo terminale.<pre>git clone https://github.com/aws-samples/genai-knowledge-capture</pre> | AWS DevOps, DevOps ingegnere | 
| (Facoltativo) Sostituisci i file audio. | Per personalizzare l'applicazione di esempio in modo da incorporare i tuoi dati, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingegnere | 
| Configura l'ambiente virtuale Python. | Per configurare l'ambiente virtuale Python, esegui i seguenti comandi.<pre>cd genai-knowledge-capture<br />python3 -m venv .venv<br />source .venv/bin/activate<br />pip install -r requirements.txt</pre> | AWS DevOps, DevOps ingegnere | 
| Sintetizza il codice CDK AWS. | Per convertire il codice in una configurazione CloudFormation dello stack AWS, esegui il comando seguente.<pre>cdk synth</pre> | AWS DevOps, DevOps ingegnere | 

### Configura e distribuisci la soluzione
<a name="configure-and-deploy-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Fornire l'accesso al modello di base. | Abilita l'accesso al modello Anthropic Claude 3 Sonnet per il tuo account AWS. Per istruzioni, consulta [Aggiungere l'accesso al modello](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html#model-access-add) nella documentazione di Bedrock. | AWS DevOps | 
| Distribuisci risorse nell'account. | Per distribuire risorse nell'account AWS utilizzando il CDK AWS, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingegnere | 
| Iscriviti all'argomento Amazon SNS. | Per iscriverti all'argomento di notifica di Amazon SNS, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | Informazioni generali su AWS | 

### Test della soluzione
<a name="test-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia la macchina a stati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | Sviluppatore di app, General AWS | 

### Pulisci tutte le risorse AWS nella soluzione
<a name="clean-up-all-aws-resources-in-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi le risorse AWS. | Dopo aver testato la soluzione, pulisci le risorse:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingegnere | 

## Risorse correlate
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-resources"></a>

**Documentazione AWS**
+ Risorse Amazon Bedrock:
  + [Accesso al modello](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)
  + [Parametri di inferenza per i modelli di base](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html)
+ Risorse CDK AWS:
  + [Inizia a usare il CDK AWS](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
  + [Lavorare con il CDK AWS in Python](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html)
  + [Risoluzione dei problemi più comuni di AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html)
  + [Comandi Toolkit](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-commands)
+ Risorse AWS Step Functions:
  + [Guida introduttiva a AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started-with-sfn.html)
  + [Risoluzione dei problemi](https://docs.aws.amazon.com/step-functions/latest/dg/troubleshooting.html)
+ [Creazione di funzioni Lambda con Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html)
+ [Generative AI Application Builder su AWS](https://docs.aws.amazon.com/solutions/latest/generative-ai-application-builder-on-aws/solution-overview.html)

**Altre risorse**
+ [LangChain documentazione](https://python.langchain.com/docs/get_started/introduction)