Documente o conhecimento institucional a partir de entradas de voz usando o Amazon Bedrock e o Amazon Transcribe - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Documente o conhecimento institucional a partir de entradas de voz usando o Amazon Bedrock e o Amazon Transcribe

Criado por Praveen Kumar Jeyarajan (AWS), Jundong Qiao (AWS), Megan Wu (AWS) e Rajiv Upadhyay (AWS)

Repositório de códigos: genai-knowledge-capture

Ambiente: PoC ou piloto

Tecnologias: aprendizado de máquina e IA; produtividade empresarial; CloudNative

Serviços da AWS: Amazon Bedrock; AWS CDK; AWS Lambda; Amazon SNS; AWS Step Functions; Amazon Transcribe

Resumo

Capturar o conhecimento institucional é fundamental para garantir o sucesso e a resiliência organizacional. O conhecimento institucional representa a sabedoria coletiva, os insights e as experiências acumuladas pelos funcionários ao longo do tempo, geralmente de natureza tácita e transmitidos informalmente. Essa riqueza de informações engloba abordagens exclusivas, melhores práticas e soluções para problemas complexos que talvez não estejam documentados em outro lugar. Ao formalizar e documentar esse conhecimento, as empresas podem preservar a memória institucional, promover a inovação, aprimorar os processos de tomada de decisão e acelerar as curvas de aprendizado para novos funcionários. Além disso, promove a colaboração, capacita indivíduos e cultiva uma cultura de melhoria contínua. Em última análise, aproveitar o conhecimento institucional ajuda as empresas a usar seu ativo mais valioso — a inteligência coletiva de sua força de trabalho — para enfrentar desafios, impulsionar o crescimento e manter a vantagem competitiva em ambientes de negócios dinâmicos.

Esse padrão explica como capturar conhecimento institucional por meio de gravações de voz de funcionários seniores. Ele usa o Amazon Transcribe e o Amazon Bedrock para documentação e verificação sistemáticas. Ao documentar esse conhecimento informal, você pode preservá-lo e compartilhá-lo com grupos subsequentes de funcionários. Esse esforço apóia a excelência operacional e melhora a eficácia dos programas de treinamento por meio da incorporação de conhecimentos práticos adquiridos por meio da experiência direta.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • Essa solução é implantada em uma única conta da AWS.

  • Essa solução pode ser implantada somente nas regiões da AWS onde o Amazon Bedrock e o Amazon Transcribe estão disponíveis. Para obter informações sobre disponibilidade, consulte a documentação do Amazon Bedrock e do Amazon Transcribe.

  • Os arquivos de áudio devem estar em um formato compatível com o Amazon Transcribe. Para obter uma lista dos formatos compatíveis, consulte Formatos de mídia na documentação Transcreve.

Versões do produto

  • SDK da AWS para Python (Boto3) versão 1.34.57 ou posterior

  • LangChain versão 0.1.12 ou posterior

Arquitetura

A arquitetura representa um fluxo de trabalho sem servidor na AWS. O AWS Step Functions orquestra funções Lambda para processamento de áudio, análise de texto e geração de documentos. O diagrama a seguir mostra o fluxo de trabalho do Step Functions, também conhecido como máquina de estado.

Diagrama de arquitetura da máquina de estado Step Functions gerando um documento

Cada etapa na máquina de estado é gerenciada por uma função Lambda distinta. A seguir estão as etapas do processo de geração de documentos:

  1. A função preprocess Lambda valida a entrada passada para o Step Functions e lista todos os arquivos de áudio presentes no caminho da pasta URI fornecida pelo Amazon S3. As funções downstream do Lambda no fluxo de trabalho usam a lista de arquivos para validar, resumir e gerar o documento.

  2. A função transcribe Lambda usa o Amazon Transcribe para converter arquivos de áudio em transcrições de texto. Essa função Lambda é responsável por iniciar o processo de transcrição e transformar com precisão a fala em texto, que é então armazenado para processamento posterior.

  3. A função validate Lambda analisa as transcrições do texto, determinando a relevância das respostas às perguntas iniciais. Ao usar um modelo de linguagem grande (LLM) por meio do Amazon Bedrock, ele identifica e separa as respostas sobre o tópico das respostas fora do tópico.

  4. A função summarize Lambda usa o Amazon Bedrock para gerar um resumo coerente e conciso das respostas sobre o tópico.

  5. A função generate Lambda reúne os resumos em um documento bem estruturado. Ele pode formatar o documento de acordo com modelos predefinidos e incluir qualquer conteúdo ou dados adicionais necessários.

  6. Se alguma das funções do Lambda falhar, você receberá uma notificação por e-mail por meio do Amazon Simple Notification Service (Amazon SNS).

Durante todo esse processo, o AWS Step Functions garante que cada função Lambda seja iniciada na sequência correta. Essa máquina de estado tem a capacidade de processamento paralelo para aumentar a eficiência. Um bucket do Amazon S3 atua como o repositório de armazenamento central, dando suporte ao fluxo de trabalho gerenciando os vários formatos de mídia e documentos envolvidos.

Ferramentas

Serviços da AWS

  • O Amazon Bedrock é um serviço totalmente gerenciado que disponibiliza modelos básicos (FMs) de alto desempenho das principais startups de IA e da Amazon para seu uso por meio de uma API unificada.

  • O AWS Lambda é um serviço de computação que ajuda você a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • O Amazon Simple Notification Service (Amazon SNS) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • O AWS Step Functions é um serviço de orquestração com tecnologia sem servidor que permite combinar funções do AWS Lambda e outros serviços da AWS para criar aplicações essenciais aos negócios.  

  • O Amazon Transcribe é um serviço automático de reconhecimento de fala que usa modelos de aprendizado de máquina para converter áudio em texto.

Outras ferramentas

  • LangChainé uma estrutura para o desenvolvimento de aplicativos que são alimentados por modelos de linguagem grande (LLMs).

Repositório de código

O código desse padrão está disponível no GitHub genai-knowledge-capturerepositório.

O repositório de código contém os seguintes arquivos e pastas:

  • assetspasta — Os ativos estáticos da solução, como o diagrama de arquitetura e o conjunto de dados público

  • code/lambdasfolder — O código Python para todas as funções do Lambda

    • code/lambdas/generatepasta - O código Python que gera um documento a partir dos dados resumidos no bucket do S3

    • code/lambdas/preprocessfolder - O código Python que processa as entradas para a máquina de estado Step Functions

    • code/lambdas/summarizepasta - O código Python que resume os dados transcritos usando o serviço Amazon Bedrock

    • code/lambdas/transcribepasta - O código Python que converte dados de fala (arquivo de áudio) em texto usando o Amazon Transcribe

    • code/lambdas/validatefolder - O código Python que valida se todas as respostas pertencem ao mesmo tópico

  • code/code_stack.py— O AWS CDK constrói um arquivo Python que é usado para criar recursos da AWS

  • app.py— O arquivo Python do aplicativo AWS CDK que é usado para implantar recursos da AWS na conta da AWS de destino

  • requirements.txt— A lista de todas as dependências do Python que devem ser instaladas para o AWS CDK

  • cdk.json— O arquivo de entrada para fornecer os valores necessários para criar recursos

Práticas recomendadas

O exemplo de código fornecido é apenas para fins proof-of-concept (PoC) ou piloto. Se você quiser levar a solução para a produção, use as seguintes práticas recomendadas:

Épicos

TarefaDescriçãoHabilidades necessárias

Exporte variáveis para a conta e a região da AWS.

Para fornecer credenciais da AWS para o AWS CDK usando variáveis de ambiente, execute os seguintes comandos.

export CDK_DEFAULT_ACCOUNT=<12-digit AWS account number> export CDK_DEFAULT_REGION=<Region>
AWS DevOps, DevOps engenheiro

Configure o perfil nomeado da AWS CLI.

Para configurar o perfil nomeado da AWS CLI para a conta, siga as instruções em Configuração e configurações do arquivo de credenciais.

AWS DevOps, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Clone o repositório em sua estação de trabalho local.

Para clonar o genai-knowledge-capturerepositório, execute o comando a seguir no seu terminal.

git clone https://github.com/aws-samples/genai-knowledge-capture
AWS DevOps, DevOps engenheiro

(Opcional) Substitua os arquivos de áudio.

Para personalizar o aplicativo de amostra para incorporar seus próprios dados, faça o seguinte:

  1. Navegue até a assets/audio_samples pasta no repositório clonado.

  2. Exclua as pastas que contêm os arquivos de áudio de amostra.

  3. Crie uma pasta para cada tópico que você deseja analisar.

  4. Transfira seus arquivos de áudio para suas respectivas pastas.

AWS DevOps, DevOps engenheiro

Configure o ambiente virtual Python.

Para ativar o ambiente virtual do Python, execute os comandos a seguir.

cd genai-knowledge-capture python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
AWS DevOps, DevOps engenheiro

Sintetize o código do AWS CDK.

Para converter o código em uma configuração de CloudFormation pilha da AWS, execute o comando a seguir.

cdk synth
AWS DevOps, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Provisione o acesso ao modelo básico.

Habilite o acesso ao modelo Anthropic Claude 3 Sonnet para sua conta da AWS. Para obter instruções, consulte Adicionar acesso ao modelo na documentação do Bedrock.

AWS DevOps

Implante recursos na conta.

Para implantar recursos na conta da AWS usando o AWS CDK, faça o seguinte:

  1. (Opcional) Na raiz do repositório clonado, no app.py arquivo, atualize o nome da CloudFormation pilha da AWS. O nome padrão da pilha égenai-knowledge-capture-stack.

  2. Para implantar recursos, execute o comando cdk deploy.

    O cdk deploy comando usa construções de camada 3 para criar um conjunto de funções Lambda, um bucket do S3, um tópico do Amazon SNS e uma máquina de estado Step Functions. Os arquivos de áudio na assets/audio_samples pasta são copiados para o bucket do S3 durante a implantação.

  3. Faça login no AWS Management Console e, em seguida, abra o CloudFormation console em https://console.aws.amazon.com/cloudformation/.

  4. Confirme se a pilha foi implantada com sucesso. Para obter instruções, consulte Como revisar sua pilha no console da AWS CloudFormation .

AWS DevOps, DevOps engenheiro

Assine o tópico do Amazon SNS.

Para assinar o tópico do Amazon SNS para receber notificações, faça o seguinte:

  1. No CloudFormation console, no painel de navegação, escolha Pilhas.

  2. Escolha a genai-knowledge-capture-stack pilha.

  3. Escolha a guia Outputs.

  4. Encontre o nome do tópico do Amazon SNS com a chave. SNSTopicName

  5. Configure um endereço de e-mail para receber notificações seguindo as instruções em Inscrever um endereço de e-mail em um tópico do Amazon SNS.

AWS geral
TarefaDescriçãoHabilidades necessárias

Execute uma máquina de estado.

  1. Abra o console do Step Functions.

  2. Na página State machines, escolha genai-knowledge-capture-stack-state-machine.

  3. Selecione Iniciar execução.

  4. (Opcional) Na caixa Nome, insira um nome para a execução.

  5. Na área Entrada, insira o seguinte objeto JSON substituindo o texto do espaço reservado, onde:

    • <Name>é o nome que você deseja dar ao documento.

    • <S3 bucket name>é o nome do bucket do Amazon S3 que contém os arquivos de áudio.

    • <Folder path>é o diretório que contém os arquivos de áudio.

    {   "documentName": "<Name>",   "audioFileFolderUri": "s3://<S3 bucket name>/<Folder path>" }
  6. Escolha Start Execution.

  7. Na página de detalhes da execução, revise os resultados e aguarde a conclusão da execução.

Desenvolvedor de aplicativos, AWS geral
TarefaDescriçãoHabilidades necessárias

Remova os recursos da AWS.

Depois de testar a solução, limpe os recursos:

  1. Exclua todos os objetos do bucket do S3 e, em seguida, exclua o bucket. Para obter mais informações, consulte Excluir um bucket.

  2. No repositório clonado, execute o comando. cdk destroy

AWS DevOps, DevOps engenheiro

Recursos relacionados

Documentação da AWS

Outros recursos