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 (), Megan Wu (AWS) e Rajiv Upadhyay () AWS AWS

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

Ambiente: PoC ou piloto

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

AWSserviços: Amazon Bedrock; AWS Lambda AWSCDK; Amazon; Step AWS Functions; SNS 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 AWS conta.

  • Essa solução pode ser implantada somente em AWS regiões 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

  • AWSSDKpara 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 ativado. AWS AWSO 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 Amazon S3 fornecida. URI 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 (AmazonSNS).

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

AWSserviços

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

  • AWSO Lambda é um serviço de computação que ajuda você a executar código sem precisar provisionar ou gerenciar 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 (AmazonSNS) ajuda você a coordenar e gerenciar a troca de mensagens entre editores 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.

  • AWSO Step Functions é um serviço de orquestração sem servidor que ajuda você a combinar funções AWS Lambda e outros AWS serviços para criar aplicativos essenciais para os 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 grandes modelos de linguagem (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 arquivo Python de AWS CDK construção usado para criar recursos AWS

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

  • 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 AWS região.

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

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

Configure o perfil AWS CLI nomeado.

Para configurar o perfil AWS CLI nomeado 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. AWS CDK

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

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

Provisione o acesso ao modelo básico.

Ative o acesso ao modelo Anthropic Claude 3 Sonnet para sua conta. 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 AWS conta usando o AWSCDK, faça o seguinte:

  1. (Opcional) Na raiz do repositório clonado, no app.py arquivo, atualize o nome da AWS CloudFormation pilha. 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 da SNS Amazon 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 Revisando sua pilha no AWS CloudFormation console.

AWS DevOps, DevOps engenheiro

Inscreva-se no SNS tópico da Amazon.

Para assinar o SNS tópico da Amazon 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 SNS tópico da Amazon com a chaveSNSTopicName.

  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 SNS tópico da Amazon.

Geral AWS
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 JSON objeto 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, Geral AWS
TarefaDescriçãoHabilidades necessárias

Remova os AWS recursos.

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

AWSdocumentação

Outros recursos