

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.

# Documentez les connaissances institutionnelles à partir de saisies vocales à l'aide d'Amazon Bedrock et 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 et Megan Wu, Amazon Web Services*

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

La saisie des connaissances institutionnelles est essentielle pour garantir le succès et la résilience de l'organisation. Le savoir institutionnel représente la sagesse collective, les connaissances et les expériences accumulées par les employés au fil du temps, souvent tacites et transmises de manière informelle. Cette mine d'informations englobe des approches uniques, des meilleures pratiques et des solutions à des problèmes complexes qui pourraient ne pas être documentés ailleurs. En formalisant et en documentant ces connaissances, les entreprises peuvent préserver la mémoire institutionnelle, favoriser l'innovation, améliorer les processus décisionnels et accélérer les cycles d'apprentissage des nouveaux employés. De plus, il favorise la collaboration, responsabilise les individus et cultive une culture d'amélioration continue. En fin de compte, l'exploitation des connaissances institutionnelles aide les entreprises à utiliser leur atout le plus précieux, à savoir l'intelligence collective de leur personnel, pour relever les défis, stimuler la croissance et conserver un avantage concurrentiel dans des environnements commerciaux dynamiques.

Ce modèle explique comment saisir les connaissances institutionnelles par le biais d'enregistrements vocaux d'employés supérieurs. Il utilise [Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html) et [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) pour une documentation et une vérification systématiques. En documentant ces connaissances informelles, vous pouvez les conserver et les partager avec les cohortes d'employés suivantes. Cette initiative soutient l'excellence opérationnelle et améliore l'efficacité des programmes de formation grâce à l'incorporation de connaissances pratiques acquises grâce à l'expérience directe.

## Conditions préalables et limitations
<a name="document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ [Docker, installé](https://docs.docker.com/engine/install/)
+ AWS Cloud Development Kit (AWS CDK) version 2.114.1 ou ultérieure, [installé](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_tools) et démarré dans la ou [les régions](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_bootstrap) AWS `us-east-1` `us-west-2`
+ [AWS CDK Toolkit version 2.114.1 ou ultérieure, installé](https://docs.aws.amazon.com/cdk/v2/guide/cli.html)
+ [Interface de ligne de commande AWS (AWS CLI)[, installée et](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) configurée](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Python version 3.12 ou ultérieure, installée](https://www.python.org/downloads/)
+ Autorisations pour créer des ressources Amazon Transcribe, Amazon Bedrock, Amazon Simple Storage Service (Amazon S3) et AWS Lambda

**Limites**
+ Cette solution est déployée sur un seul compte AWS.
+ Cette solution ne peut être déployée que dans les régions AWS où Amazon Bedrock et Amazon Transcribe sont disponibles. Pour plus d'informations sur la disponibilité, consultez la documentation d'[Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) et d'[Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html#tsc-regions).
+ Les fichiers audio doivent être dans un format pris en charge par Amazon Transcribe. Pour obtenir la liste des formats pris en charge, consultez la section [Formats multimédia](https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio) de la documentation Transcribe.

**Versions du produit**
+ SDK AWS pour Python (Boto3), version 1.34.57 ou ultérieure
+ LangChain version 0.1.12 ou ultérieure

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

L'architecture représente un flux de travail sans serveur sur AWS. [AWS Step Functions orchestre les fonctions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) Lambda pour le traitement audio, l'analyse de texte et la génération de documents. Le schéma suivant montre le flux de travail Step Functions, également connu sous le nom de *machine à états*.

![\[Schéma d'architecture de la machine à états Step Functions générant un document\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f1e0106d-b046-4adc-9718-c299efb7b436/images/e90298ca-1b7f-4c3e-97bd-311a9d5a4997.png)


Chaque étape de la machine à états est gérée par une fonction Lambda distincte. Les étapes du processus de génération de documents sont les suivantes :

1. La fonction `preprocess` Lambda valide l'entrée transmise à Step Functions et répertorie tous les fichiers audio présents dans le chemin du dossier d'URI Amazon S3 fourni. Les fonctions Lambda en aval du flux de travail utilisent la liste de fichiers pour valider, résumer et générer le document.

1. La fonction `transcribe` Lambda utilise Amazon Transcribe pour convertir les fichiers audio en transcriptions de texte. Cette fonction Lambda est chargée de lancer le processus de transcription et de transformer avec précision la parole en texte, qui est ensuite stocké pour un traitement ultérieur.

1. La fonction `validate` Lambda analyse les transcriptions de texte afin de déterminer la pertinence des réponses aux questions initiales. En utilisant un modèle linguistique étendu (LLM) via Amazon Bedrock, il identifie et sépare les réponses sur le sujet des réponses hors sujet.

1. La fonction `summarize` Lambda utilise Amazon Bedrock pour générer un résumé cohérent et concis des réponses sur le sujet.

1. La fonction `generate` Lambda assemble les résumés dans un document bien structuré. Il peut formater le document selon des modèles prédéfinis et inclure tout contenu ou donnée supplémentaire nécessaire.

1. Si l'une des fonctions Lambda échoue, vous recevez une notification par e-mail via Amazon Simple Notification Service (Amazon SNS).

Tout au long de ce processus, AWS Step Functions s'assure que chaque fonction Lambda est lancée dans le bon ordre. Cette machine à états a la capacité de traiter en parallèle pour améliorer l'efficacité. Un compartiment Amazon S3 fait office de référentiel de stockage central et soutient le flux de travail en gérant les différents formats de supports et de documents concernés.

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

**Services AWS**
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) est un service entièrement géré qui met à votre disposition des modèles de base très performants (FMs) issus des principales startups d'IA et d'Amazon via une API unifiée.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) est un service de calcul qui vous permet d'exécuter du code sans avoir à provisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) est un service d'orchestration sans serveur qui vous permet de combiner les fonctions AWS Lambda et d'autres services AWS pour créer des applications critiques pour l'entreprise.  
+ [Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html) est un service de reconnaissance vocale automatique qui utilise des modèles d'apprentissage automatique pour convertir le son en texte.

**Autres outils**
+ [LangChain](https://python.langchain.com/docs/get_started/introduction/)est un framework pour développer des applications basées sur de grands modèles de langage (LLMs).

**Référentiel de code**

Le code de ce modèle est disponible dans le GitHub [genai-knowledge-capture](https://github.com/aws-samples/genai-knowledge-capture)référentiel.

Le référentiel de code contient les fichiers et dossiers suivants :
+ `assets`dossier — Les actifs statiques de la solution, tels que le schéma d'architecture et le jeu de données public
+ `code/lambdas`dossier — Le code Python pour toutes les fonctions Lambda
  + `code/lambdas/generate`folder - Le code Python qui génère un document à partir des données résumées dans le compartiment S3
  + `code/lambdas/preprocess`dossier - Le code Python qui traite les entrées pour la machine à états Step Functions
  + `code/lambdas/summarize`dossier - Le code Python qui résume les données transcrites à l'aide du service Amazon Bedrock
  + `code/lambdas/transcribe`dossier - Le code Python qui convertit les données vocales (fichier audio) en texte à l'aide d'Amazon Transcribe
  + `code/lambdas/validate`folder - Le code Python qui valide si toutes les réponses concernent le même sujet
+ `code/code_stack.py`— Le fichier Python de construction AWS CDK utilisé pour créer des ressources AWS
+ `app.py`— Le fichier Python de l'application AWS CDK utilisé pour déployer les ressources AWS dans le compte AWS cible
+ `requirements.txt`— La liste de toutes les dépendances Python qui doivent être installées pour le CDK AWS
+ `cdk.json`— Le fichier d'entrée fournissant les valeurs requises pour créer des ressources

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

L'exemple de code fourni est uniquement destiné à proof-of-concept (PoC) ou à des fins pilotes. Si vous souhaitez appliquer la solution à la production, appliquez les meilleures pratiques suivantes :
+ Activer la [journalisation des accès Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)
+ Activer les [journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

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

### Configurer les informations d'identification AWS sur votre station de travail locale
<a name="set-up-aws-credentials-on-your-local-workstation"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Exportez des variables pour le compte et la région AWS. | Pour fournir des informations d'identification AWS pour le CDK AWS à l'aide de variables d'environnement, exécutez les commandes suivantes.<pre>export CDK_DEFAULT_ACCOUNT=<12-digit AWS account number><br />export CDK_DEFAULT_REGION=<Region></pre> | AWS DevOps, DevOps ingénieur | 
| Configurez le profil nommé de la CLI AWS. | Pour configurer le profil nommé de l'interface de ligne de commande AWS pour le compte, suivez les instructions de la section [Configuration et paramètres du fichier d'identification](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). | AWS DevOps, DevOps ingénieur | 

### Configuration de votre environnement
<a name="set-up-your-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Clonez le dépôt sur votre poste de travail local. | Pour cloner le [genai-knowledge-capture](https://github.com/aws-samples/genai-knowledge-capture)dépôt, exécutez la commande suivante dans votre terminal.<pre>git clone https://github.com/aws-samples/genai-knowledge-capture</pre> | AWS DevOps, DevOps ingénieur | 
| (Facultatif) Remplacez les fichiers audio. | Pour personnaliser l'exemple d'application afin d'intégrer vos propres données, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingénieur | 
| Configurez l'environnement virtuel Python. | Pour configurer l'environnement virtuel Python, exécutez les commandes suivantes.<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 ingénieur | 
| Synthétisez le code AWS CDK. | Pour convertir le code en configuration de CloudFormation pile AWS, exécutez la commande suivante.<pre>cdk synth</pre> | AWS DevOps, DevOps ingénieur | 

### Configuration et déploiement de la solution
<a name="configure-and-deploy-the-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Provisionnez l'accès au modèle de base. | Activez l'accès au modèle Anthropic Claude 3 Sonnet pour votre compte AWS. Pour obtenir des instructions, voir [Ajouter un accès au modèle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html#model-access-add) dans la documentation de Bedrock. | AWS DevOps | 
| Déployez des ressources dans le compte. | Pour déployer des ressources dans le compte AWS à l'aide du kit AWS CDK, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingénieur | 
| Abonnez-vous à la rubrique Amazon SNS. | Pour vous abonner à la rubrique Amazon SNS pour recevoir des notifications, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS général | 

### Tester la solution
<a name="test-the-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez la machine d'état. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | Développeur d'applications, AWS général | 

### Nettoyez toutes les ressources AWS de la solution
<a name="clean-up-all-aws-resources-in-the-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez les ressources AWS. | Après avoir testé la solution, nettoyez les ressources :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/document-institutional-knowledge-from-voice-inputs-by-using-amazon-bedrock-and-amazon-transcribe.html) | AWS DevOps, DevOps ingénieur | 

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

**Documentation AWS**
+ Ressources Amazon Bedrock :
  + [Accès aux modèles](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)
  + [Paramètres d'inférence pour les modèles de base](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html)
+ Ressources AWS CDK :
  + [Commencez avec le kit AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
  + [Utilisation du kit AWS CDK en Python](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html)
  + [Résolution des problèmes courants liés au kit AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html)
  + [commandes du kit d'outils](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-commands)
+ Ressources AWS Step Functions :
  + [Commencer à utiliser AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started-with-sfn.html)
  + [Résolution des problèmes](https://docs.aws.amazon.com/step-functions/latest/dg/troubleshooting.html)
+ [Création de fonctions Lambda avec Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html)
+ [Générateur d'applications d'IA générative sur AWS](https://docs.aws.amazon.com/solutions/latest/generative-ai-application-builder-on-aws/solution-overview.html)

**Autres ressources**
+ [LangChain documentation](https://python.langchain.com/docs/get_started/introduction)