View a markdown version of this page

Integrações - Amazon Nova

Integrações

O Amazon Nova 2 Sonic pode ser integrado a vários frameworks e plataformas para criar aplicações de IA conversacional. Essas integrações fornecem componentes pré-criados e APIs simplificadas para casos de uso comuns.

Strands Agents

O Strands Agents é um SDK simples, porém robusto, que adota uma abordagem baseada em modelos para a criação e execução de agentes de IA. De simples assistentes de conversação a fluxos de trabalho autônomos complexos, do desenvolvimento local à implantação da produção, o Strands Agents escala de acordo com as suas necessidades.

Para obter uma documentação abrangente sobre o framework do Strands, acesse a documentação oficial do Strands.

O Strands BidiAgent fornece interação de áudio e texto em tempo real por meio de conexões de streaming persistentes. Diferentemente dos padrões tradicionais de solicitação-resposta, esse agente mantém conversas de longa duração com suporte para interrupções, processamento simultâneo e respostas contínuas de áudio.

Pré-requisitos:

  • Python 3.8 ou superior instalado.

  • Credenciais da AWS configuradas com acesso ao Amazon Bedrock

  • Conhecimento básico da sintaxe async/await do Python

Exemplo de código:

Instalação:

Instale os pacotes obrigatórios:

pip install strands-agents strands-agents-tools

Execute este exemplo:

import asyncio from strands.experimental.bidi.agent import BidiAgent from strands.experimental.bidi.io.audio import BidiAudioIO from strands.experimental.bidi.io.text import BidiTextIO from strands.experimental.bidi.models.novasonic import BidiNovaSonicModel from strands_tools import calculator async def main(): """Test the BidirectionalAgent API.""" # Audio and Text input/output utility audio_io = BidiAudioIO(audio_config={}) text_io = BidiTextIO() # Nova Sonic model model = BidiNovaSonicModel(region="us-east-1") async with BidiAgent(model=model, tools=[calculator]) as agent: print("New BidiAgent Experience") print("Try asking: 'What is 25 times 8?' or 'Calculate the square root of 144'") await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] ) if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: print("\nConversation ended by user") except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc()
from strands.experimental.bidi.agent import BidiAgent from strands.experimental.bidi.io.audio import BidiAudioIO from strands.experimental.bidi.io.text import BidiTextIO from strands.experimental.bidi.models.novasonic import BidiNovaSonicModel from strands_tools import calculator
  • BidiAgent: a principal classe de agente que orquestra conversas bidirecionais

  • BidiAudioIO: gerencia a entrada e saída de áudio para interações de fala

  • BidiTextIO: fornece saída de texto para transcrições e respostas

  • BidiNovaSonicModel: o wrapper do modelo Nova 2 Sonic

  • Calculadora: uma ferramenta pré-criada para operações matemáticas

audio_io = BidiAudioIO(audio_config={}) text_io = BidiTextIO()

O BidiAudioIO gerencia a entrada do microfone e a saída do alto-falante, enquanto o BidiTextIO exibe transcrições e respostas de texto no console.

model = BidiNovaSonicModel(region="us-east-1")

Crie uma instância do modelo Nova Sonic. O parâmetro de região especifica a região da AWS em que o modelo é implantado.

async with BidiAgent(model=model, tools=[calculator]) as agent: await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] )

O agente é criado com:

  • Modelo: o modelo Nova 2 Sonic a ser usado

  • Ferramentas: lista de ferramentas que o agente pode chamar (como a calculadora)

  • Entradas: entrada de áudio do microfone

  • Saídas: saída de áudio para alto-falantes e saída de texto para console

Integrações do framework

O Amazon Nova 2 Sonic pode ser integrado a vários frameworks e plataformas para criar aplicações de voz sofisticadas. Os exemplos a seguir demonstram padrões de integração com frameworks populares.

O Amazon Bedrock AgentCore fornece um ambiente de runtime gerenciado para a implantação de aplicações do Nova 2 Sonic com segurança e escalabilidade de nível empresarial. O AgentCore simplifica a implantação de aplicações de IA de voz em tempo real ao lidar com infraestrutura, autenticação e conectividade WebSocket.

Principais atributos:

  • Streaming bidirecional: suporte nativo para a interface de streaming full-duplex do Nova Sonic com processamento de eventos em tempo real e comunicação de baixa latência.

  • Infraestrutura do WebSocket: servidores WebSocket prontos para produção com escalabilidade automática, gerenciamento de conexões e recuperação de erros.

  • Implantação de contêineres: implante aplicações do Nova Sonic como contêineres na infraestrutura gerenciada com escalabilidade horizontal e versionamento independente.

  • Segurança empresarial: autenticação refinada via IAM e SigV4, isolamento de VPC e registro em log de auditoria abrangente.

A arquitetura mostra como as aplicações do cliente se conectam ao AgentCore Runtime via WebSocket com autenticação SigV4. O ambiente conteinerizado inclui o servidor WebSocket, a lógica da aplicação e o cliente Nova Sonic, todos se comunicando com o Nova Sonic por meio da API de streaming bidirecional.

Benefícios:

  • Operações simplificadas: concentre-se na lógica da aplicação enquanto o AgentCore gerencia a infraestrutura, a escalabilidade e a confiabilidade.

  • Segurança empresarial: recursos integrados de autenticação, autorização e conformidade para implantações de produção.

  • Econômico: pague somente pelo que você usa com escalabilidade automática e otimização de recursos.

  • Produtividade do desenvolvedor: reduza o tempo de produção com a infraestrutura gerenciada do WebSocket e a implantação de contêineres.

Casos de uso

  • Assistentes de voz de atendimento ao cliente com autenticação segura

  • Aplicações de voz empresariais que exigem integração com o IAM

  • Plataformas de voz multilocatárias com implantações isoladas

  • Aplicações habilitadas por voz que exigem trilhas de auditoria e de conformidade

Para obter documentação detalhada sobre a implantação do Nova Sonic com o AgentCore, acesse a documentação do Amazon Bedrock AgentCore.

O LiveKit é uma plataforma de código aberto para criar aplicações de áudio e vídeo em tempo real. A integração com o Amazon Nova 2 Sonic permite que os desenvolvedores criem interfaces de voz conversacionais sem gerenciar pipelines de áudio complexos ou protocolos de sinalização.

Para exemplos detalhados de implementação e exemplos de código, acesse a documentação da integração da AWS para o LiveKit.

Como funciona:

  • Camada de cliente: aplicações web, móveis ou de desktop se conectam usando os SDKs de cliente LiveKit, que lidam com captura de áudio, streaming e reprodução do WebRTC.

  • Servidor LiveKit: atua como um hub de comunicação em tempo real, gerenciando conexões WebRTC, roteando fluxos de áudio e gerenciando o estado da sessão com otimização de baixa latência.

  • Agente LiveKit: agente baseado em Python que recebe áudio do servidor, o processa por meio do plug-in Nova Sonic e transmite as respostas de volta. Inclui recursos integrados, como detecção de atividade de voz e gerenciamento de turnos.

  • Amazon Nova 2 Sonic: processa o fluxo de áudio por meio da API de streaming bidirecional, realizando reconhecimento de voz, compreensão da linguagem natural e gerando respostas conversacionais com voz sintetizada.

O Pipecat é um framework para criar aplicações de IA conversacional de voz e multimodais. Ele fornece uma arquitetura modular baseada em pipelines que orquestra vários componentes para criar aplicações de voz inteligentes com o Amazon Nova Sonic e outros serviços da AWS.

Para exemplos detalhados de implementação e exemplos de código, acesse a documentação de integração da AWS para o PipeCat.

Principais atributos:

  • Arquitetura de pipeline: framework modular baseado em Python para compor componentes de IA de voz, incluindo ASR, NLU, TTS e muito mais.

  • Fluxos do Pipecat: framework de gerenciamento de estado para criar lógica conversacional complexa e execução de ferramentas.

  • Suporte a WebRTC: integração integrada com o Daily e outros provedores WebRTC para streaming de áudio em tempo real.

  • Integração da AWS: suporte nativo para o Amazon Bedrock, Amazon Transcribe e Amazon Polly.

A arquitetura inclui:

  • Transporte WebRTC: streaming de áudio em tempo real entre dispositivos cliente e servidor de aplicações.

  • Detecção de atividade de voz (VAD): Silero VAD com detecção de fala configurável e supressão de ruído.

  • Reconhecimento de voz: Amazon Transcribe para conversão precisa e em tempo real de fala em texto.

  • Compreensão da linguagem natural: Amazon Nova Pro no Bedrock com inferência otimizada para latência.

  • Execução da ferramenta: Pipecat Flows para integração de API e chamadas de serviço de backend.

  • Geração de respostas: Amazon Nova Pro para respostas coerentes e sensíveis ao contexto.

  • Conversão de texto em fala: Amazon Polly com vozes generativas para uma saída de fala realista.

Implante suas aplicações do Nova Sonic na AWS usando a infraestrutura como código com o AWS CDK (Cloud Development Kit). Essa abordagem fornece implantações reproduzíveis e controladas por versão com as melhores práticas incorporadas.

Opções de implantação

  • Amazon ECS (Elastic Container Service): orquestração de contêineres totalmente gerenciada com integração com o Application Load Balancer, ajuste de escala automático e execução do Fargate sem servidor.

  • Amazon EKS (Elastic Kubernetes Services): Kubernetes gerenciado para orquestração complexa, redes avançadas, implantações em várias regiões e amplo ecossistema de ferramentas.

  • AWS CDK: o AWS CDK permite que você defina a infraestrutura de nuvem usando linguagens de programação familiares.

Para ver um exemplo completo e pronto para produção da implantação do Nova Sonic com o AWS CDK, consulte o exemplo de conversão de fala em fala do CDK no GitHub. Esse exemplo demonstra:

  • Configuração completa da infraestrutura do CDK com TypeScript

  • Implementação do servidor WebSocket para comunicação em tempo real

  • Implantação de contêineres com o ECS e Fargate

  • Configuração do Application Load Balancer para suporte do WebSocket

  • Configuração de grupos de segurança e redes da VPC

  • Monitoramento e registro em log do CloudWatch

  • Práticas recomendadas para implantações de produção

A arquitetura multiagente é um padrão amplamente usado para projetar assistentes de IA que lidam com tarefas complexas. Em um assistente de voz desenvolvido pelo Nova 2 Sonic, essa arquitetura coordena vários agentes especializados, em que cada agente opera de forma independente para permitir processamento paralelo, design modular e soluções escaláveis.

O Nova Sonic atua como o orquestrador em um sistema multiagente, executando duas funções principais:

Gerenciamento do fluxo de conversas: garante que todas as informações necessárias sejam coletadas antes de prosseguir para a próxima etapa da conversa.

Classificação de intenção: analisa as consultas dos usuários e as encaminha para o subagente especializado apropriado.

O diagrama acima mostra um assistente de voz bancário que usa uma arquitetura multiagente. O fluxo da conversa começa com uma saudação e a coleta do nome do usuário e, em seguida, trata de consultas relacionadas a bancos ou hipotecas por meio de subagentes especializados.

Exemplo de fluxo de conversa:

  1. O usuário se conecta ao assistente de voz.

  2. Nova 2 Sonic: “Olá! Qual é o seu nome?”

  3. Usuário: “Meu nome é John”

  4. Nova 2 Sonic: “Oi John, como posso ajudá-lo hoje?”

  5. Usuário: “Quero verificar o saldo da minha conta”

  6. Nova 2 Sonic: [Rotas para o agente de autenticação]

  7. Agente de autenticação: “Por favor, forneça o ID da sua conta”

  8. Usuário: “12345”

  9. Agente de autenticação: [Verifica a identidade]

  10. Nova 2 Sonic: [Rotas para o agente bancário]

  11. Agente bancário: “Seu saldo atual é de USD 5.431,10”

Embora este exemplo demonstre subagentes usando o framework Strands Agents implantado no Amazon Bedrock AgentCore, a arquitetura é flexível. É possível escolher:

  • Seu framework de agente de preferência

  • Qualquer provedor de LLM

  • Opções de hospedagem personalizadas

  • Padrões de orquestração diferentes

Benefícios:

  • Modularidade: cada agente se concentra em um domínio específico, facilitando a manutenção e a atualização do sistema.

  • Escalabilidade: adicione novos agentes sem modificar os existentes, permitindo que seu sistema cresça de acordo com suas necessidades.

  • Processamento paralelo: vários agentes podem trabalhar simultaneamente, melhorando os tempos de resposta para consultas complexas.

  • Especialização: cada agente pode ser otimizado para sua tarefa específica, usando as ferramentas e bases de conhecimentos mais adequadas.

  • Isolamento de falhas: se um agente falhar, outros continuarão funcionando, melhorando a confiabilidade geral do sistema.

Consulte este blog para obter mais detalhes e exemplos de código.

Consulte o Nova Sonic Workshop Multi-Agent Lab para ver exemplos práticos.

O Amazon Nova 2 Sonic se integra aos provedores de telefonia para permitir que aplicações de voz baseadas em IA sejam acessíveis por meio de chamadas telefônicas. Este guia aborda a integração com Twilio, Vonage e outros sistemas baseados em SIP para criar soluções de central de atendimento e agentes de voz.

Twilio: plataforma de comunicação em nuvem com recursos programáveis de streaming de voz e mídia.

Vonage: APIs de comunicação global com voz, streaming de áudio WebSocket e conectividade SIP.

A AWS fornece um exemplo abrangente de implementação demonstrando o Nova Sonic em um ambiente de central de atendimento com analytics em tempo real e integração de telefonia.

Repositório: Exemplo de central de atendimento do Sonic com telefonia