Blog

  • NVIDIA Nemotron 3 Nano agora disponível no Amazon Bedrock

    Novo modelo NVIDIA disponível no Amazon Bedrock

    A AWS anunciou o suporte ao NVIDIA Nemotron 3 Nano 30B, o mais recente avanço da NVIDIA em modelagem de linguagem eficiente. Este modelo traz uma combinação interessante de desempenho em raciocínio, suporte nativo para chamadas de ferramentas e processamento de contexto estendido com janela de contexto de 256 mil tokens.

    O que diferencia este modelo é sua arquitetura híbrida de Mistura de Especialistas (Mixture-of-Experts — MoE), projetada para oferecer throughput superior em comparação com seus antecessores, mantendo a profundidade de raciocínio de um modelo maior. Isso o torna particularmente adequado para cargas de trabalho relacionadas a agentes de IA e desenvolvimento de código.

    Capacidades e casos de uso

    O Nemotron 3 Nano foi treinado com técnicas avançadas de aprendizado por reforço e pós-treinamento em múltiplos ambientes em escala, o que resulta em controles explícitos de raciocínio e maior precisão. Esses atributos fazem dele uma opção versátil para:

    • Empresas e startups construindo workflows multi-agentes complexos
    • Ferramentas de produtividade para desenvolvedores
    • Automatização de processos
    • Análise de raciocínio científico e matemático

    Infraestrutura: Project Mantle e distribuição global

    A execução do Nemotron 3 Nano no Amazon Bedrock é possível graças ao Project Mantle, um novo mecanismo de inferência distribuída específico para atender modelos de aprendizado de máquina em larga escala. O Project Mantle simplifica e acelera a integração de novos modelos ao Amazon Bedrock, além de oferecer:

    • Inferência serverless altamente performática com controles sofisticados de qualidade de serviço
    • Quotas padrão de clientes mais altas com gerenciamento automatizado de capacidade e pools unificados
    • Compatibilidade pronta com as especificações de API OpenAI

    O modelo está disponível a partir de hoje em oito regiões da AWS: US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Tokyo), Asia Pacific (Mumbai), South America (São Paulo), Europe (London) e Europe (Milan). Suporta tanto endpoints de serviço unificados quanto endpoints compatíveis com a API OpenAI no Amazon Bedrock.

    Próximos passos

    Para começar a usar o Nemotron 3 Nano, você pode acessar o console do Amazon Bedrock ou consultar a documentação do serviço. Desenvolvedores interessados em endpoints compatíveis com a API OpenAI encontram mais detalhes na documentação específica.

    Fonte

    NVIDIA Nemotron 3 Nano now available on Amazon Bedrock (https://aws.amazon.com/about-aws/whats-new/2025/12/nvidia-nemotron-3-nano-amazon-bedrock)

  • AWS AI League: Competição com Agentes Inteligentes e Personalização de Modelos de IA

    Competição como catalisador para inovação em IA

    Construir agentes de IA sofisticados capazes de lidar com tarefas complexas do mundo real representa um desafio significativo para as organizações. Além disso, muitas empresas reconhecem que confiar apenas em grandes modelos de fundação pré-treinados nem sempre é o melhor caminho. Frequentemente, é necessário fazer ajuste fino e customizar modelos menores e mais especializados para obter desempenho superior em casos de uso específicos.

    É nesse contexto que a AWS lançou o programa AWS AI League, uma iniciativa inovadora que ajuda empresas a enfrentar o desafio de construir capacidades avançadas de IA por meio de competições envolventes que impulsionam a inovação em IA com agentes inteligentes e personalização de modelos.

    Em 2025, a primeira competição do programa chamou a atenção de desenvolvedores, cientistas de dados e líderes de negócio em todo o mundo. Profissionais de diferentes organizações se reuniram para resolver problemas urgentes utilizando as mais recentes ferramentas e técnicas de IA. O grande final na AWS re:Invent 2025 foi um espetáculo que demonstrou o engenho e habilidade dos participantes. Equipes multidisciplinares de organizações líderes competiram frente a frente, exibindo sua capacidade de criar prompts efetivos, fazer ajuste fino de modelos e construir agentes de IA poderosos.

    Os campeões da edição 2025 da AWS AI League foram:

    • 1º lugar: Hemanth Vediyera da Cisco
    • 2º lugar: Ross Williams da Aqfer
    • 3º lugar: Deepesh Khanna da Capital One
    Imagem original — fonte: Aws

    Os vencedores dividiram um prêmio de 25 mil dólares. Este artigo explora como o programa AWS AI League funciona como plataforma para empresas organizarem competições internas de IA, permitindo que participantes experimentem conceitos de personalização de modelos e construção de agentes, apliquem esses aprendizados a desafios reais de negócio e apresentem suas soluções inovadoras em um formato dinâmico e envolvente.

    Para começar, visite a página do programa AWS AI League.

    Estrutura do Campeonato AWS AI League

    A experiência AWS AI League começa com um workshop prático de 2 horas conduzido por especialistas da AWS, seguido por experimentação no próprio ritmo do participante. A jornada culmina em um grande finale em formato de competição de game show, onde os participantes apresentam suas criações de IA e soluções para desafios reais de negócio.

    Com base no sucesso do programa 2025, a AWS anunciou o lançamento do Campeonato AWS AI League 2026. Este ano, a competição apresenta dois novos desafios que permitem aos participantes colocar suas habilidades de IA à prova:

    Desafio de IA com Agentes Inteligentes

    O desafio de IA com agentes permite que os participantes construam agentes inteligentes utilizando o Amazon Bedrock AgentCore. Os competidores criam arquiteturas de agentes customizadas para lidar com problemas reais de negócio. Neste desafio, os agentes navegam por um ambiente em forma de labirinto em uma grade, enfrentando vários obstáculos enquanto buscam um baú com tesouro. Esses obstáculos mapeiam para casos de uso do mundo real, testando a capacidade dos agentes de lidar com conteúdo impróprio, executar código, usar navegador web e muito mais.

    Os agentes têm um limite de tempo para atravessar o mapa, coletar pontos e superar os obstáculos antes de alcançar o baú de tesouro. Quanto mais pontos conquistam, maior sua classificação no ranking. Você pode customizar completamente seus agentes usando as primitivas do Amazon Bedrock AgentCore, o que permite escalar e gerenciar agentes em nível de produção de forma mais segura.

    Também é possível selecionar modelos específicos para agentes supervisores e sub-agentes, além de criar ferramentas personalizadas como Bedrock Guardrails, AgentCore Memory e funções AWS Lambda para ajudar seus agentes a navegarem pelos desafios.

    Imagem original — fonte: Aws

    O AWS AI League oferece uma interface completa baseada em web para os usuários construírem suas soluções com agentes inteligentes. Você pode usar essa interface sem código para construir arquiteturas com múltiplos agentes e ferramentas, integrando componentes como Amazon SageMaker Studio CodeEditor para codificação interativa de funções Lambda e ferramentas personalizadas. Isso permite que você desenvolva e customize completamente suas soluções baseadas em agentes dentro do site AWS AI League, sem precisar sair do ambiente.

    Durante toda a competição, os usuários recebem feedback em tempo real sobre o desempenho de seus agentes. Um avaliador baseado em modelo de linguagem grande (LLM) fornece avaliação para ajudar na iteração e melhoria contínua.

    Imagem original — fonte: Aws

    No grande finale, os finalistas sobem ao palco para apresentar as capacidades de seus agentes em um formato ao vivo de game show, demonstrando o poder e versatilidade da IA com agentes para resolver problemas complexos e multi-etapas. Os critérios de avaliação incluem eficiência de tempo, precisão na resolução de desafios, planejamento do agente e eficiência no consumo de tokens.

    Desafio de Personalização de Modelos

    Complementando o desafio de IA com agentes, o novo desafio de personalização de modelos agora utiliza as técnicas mais recentes de ajuste fino disponíveis no Amazon SageMaker Studio. Aqui você customiza modelos para casos de uso específicos.

    O objetivo é desenvolver modelos altamente efetivos e especializados em domínios que podem superar o desempenho de modelos maiores de referência. O desafio começa com você refinando suas habilidades de personalização de modelos. Utilizando as ferramentas e técnicas que aprendeu, você aplica métodos avançados de ajuste fino para melhorar o desempenho do seu modelo.

    Após a customização dos modelos, o verdadeiro teste começa. Os modelos são submetidos a um ranking para avaliação de desempenho em relação a um modelo de referência. O seu modelo ganha pontos cada vez que o juiz automatizado determina que a resposta do seu modelo customizado é mais precisa e abrangente do que a resposta do modelo de referência.

    Durante o desafio, você recebe feedback em tempo real sobre o desempenho do seu modelo de um avaliador automatizado quando faz submissões no ranking. O ranking avalia as submissões em relação a um conjunto de dados de referência durante toda a competição, fornecendo feedback imediato sobre precisão para ajudá-lo a iterar e melhorar suas soluções.

    Imagem original — fonte: Aws

    No grande finale, os finalistas apresentam as capacidades de seus modelos em um formato ao vivo de game show, exibindo suas habilidades de engenharia de prompts. Durante o game show, a pontuação inclui avaliação por especialistas, onde experts de domínio e público ao vivo participam de votação em tempo real para determinar quais soluções de IA resolvem melhor os desafios reais de negócio.

    Prêmios e Estrutura para 2026

    Para o campeonato AWS AI League 2026, o fundo de prêmios dobra para 50 mil dólares, com trilhas que atendem a desenvolvedores em diferentes níveis de habilidade — desde iniciantes até profissionais avançados. Isso permite que profissionais de todos os níveis participem e demonstrem suas capacidades.

    As empresas também podem solicitar credibilidades da AWS para hospedar torneios internos, enquanto desenvolvedores podem competir durante eventos da AWS.

    Conclusão

    O programa AWS AI League demonstra como competições bem estruturadas podem ser um catalisador poderoso para inovação. O programa oferece a programadores a oportunidade de showcasear suas habilidades de IA, competir e desbloquear inovação através de desafios práticos e envolventes.

    Para aprender mais sobre como hospedar um AWS AI League em sua organização, visite a plataforma AWS AI League e explore o catálogo de treinamento em IA da AWS na AWS Skill Builder para aprofundar conhecimentos sobre construção de agentes inteligentes e personalização de modelos de IA.

    Fonte

    AWS AI League: Model customization and agentic showdown (https://aws.amazon.com/blogs/machine-learning/aws-ai-league-model-customization-and-agentic-showdown/)

  • Arquitetura Mantle: Entendendo o Design de Zero Acesso de Operadores na AWS

    Por que a segurança está no centro da inovação

    Na AWS, existe uma cultura organizacional baseada em discussões honestas e transparentes sobre oportunidades de crescimento, que permite investimentos contínuos e inovação para elevar constantemente o padrão de entrega de valor aos clientes. Recentemente, a empresa compartilhou um exemplo prático dessa abordagem ao detalhar o Mantle, seu novo motor de inferência para o Amazon Bedrock.

    À medida que as cargas de trabalho de inferência e fine-tuning de IA generativa evoluem, também evolui a necessidade de servir essas operações aos clientes de forma otimizada. É dentro desse contexto que surgiu o desenvolvimento do Mantle. Ao reimaginar a arquitetura desse motor de inferência de próxima geração, a AWS colocou como prioridade máxima elevar os padrões de segurança.

    A empresa compreende que os clientes têm foco inegociável em segurança e privacidade de dados. Essa preocupação tem sido central no negócio da AWS desde o início e foi particularmente importante nos primeiros dias do Amazon Bedrock. Desde o começo, ficou claro que as cargas de trabalho de inferência de IA generativa representam uma oportunidade sem precedentes para que os clientes extraiam valor latente de seus dados. Porém, com essa oportunidade vem a necessidade de garantir os mais altos padrões em segurança, privacidade e conformidade, permitindo que os clientes construam sistemas de IA generativa que processem seus dados mais sensíveis e interajam com seus sistemas mais críticos.

    Fundamentos de segurança operacional no Bedrock

    Como linha de base, o Amazon Bedrock foi projetado seguindo os mesmos padrões de segurança operacional encontrados em toda a AWS. A empresa sempre utilizou um modelo de privilégio mínimo para operações, onde cada operador da AWS tem acesso apenas ao conjunto mínimo de sistemas necessários para sua tarefa atribuída, limitado ao tempo em que esse privilégio é realmente necessário.

    Qualquer acesso a sistemas que armazenam ou processam dados de clientes ou metadados é registrado em logs, monitorado para detectar anomalias e auditado regularmente. A AWS se protege contra qualquer ação que pudesse desabilitar ou contornar esses controles. Além disso, no Amazon Bedrock, os dados dos clientes nunca são utilizados para treinar nenhum modelo. Os provedores de modelos não têm nenhum mecanismo para acessar dados de clientes, uma vez que a inferência ocorre apenas dentro da conta de propriedade da AWS que os provedores de modelos não conseguem acessar.

    Essa postura forte de segurança tem sido um fator fundamental para que os clientes desbloqueiem o potencial de aplicações de IA generativa com seus dados sensíveis.

    O Design de Zero Acesso de Operadores no Mantle

    Com o Mantle, a AWS elevou ainda mais esses padrões. Seguindo a abordagem do AWS Nitro System, o Mantle foi projetado desde o início para implementar o conceito de zero acesso de operadores (ZOA), onde a empresa eliminou intencionalmente todos os meios técnicos pelos quais operadores da AWS poderiam acessar dados de clientes. Em vez disso, sistemas e serviços são administrados por meio de automação e APIs seguras que protegem os dados do cliente.

    Com o Mantle, não existe nenhum mecanismo que permita a qualquer operador da AWS fazer login em sistemas de computação subjacentes ou acessar dados de clientes, como prompts de inferência ou completudes. Ferramentas de comunicação interativa como Secure Shell (SSH), AWS Systems Manager Session Manager, e consoles seriais não estão instaladas em nenhum lugar no Mantle.

    Adicionalmente, todas as atualizações de software de inferência precisam ser assinadas digitalmente e verificadas antes de poderem ser implantadas no serviço, garantindo que apenas código aprovado execute no Mantle.

    Imagem original — fonte: Aws

    Mecanismos técnicos de proteção de dados

    O Mantle utiliza a capacidade de atestação de instância EC2, lançada recentemente, para configurar um ambiente de computação endurecido, restrito e imutável para processamento de dados de clientes. Os serviços no Mantle responsáveis por manipular pesos de modelos e conduzir operações de inferência em prompts de clientes são ainda mais reforçados pela garantia de medições de atestação criptograficamente assinadas provenientes do Nitro Trusted Platform Module (NitroTPM).

    Quando um cliente chama um endpoint Mantle (por exemplo, bedrock-mantle.[regions].api.aws), como aqueles que servem a Responses API no Amazon Bedrock, os dados de clientes (prompts) saem do ambiente do cliente através de TLS e são criptografados até chegarem ao serviço Mantle, que opera com ZOA. Em todo o fluxo e dentro do Mantle, nenhum operador — seja da AWS, do cliente ou de um provedor de modelo — consegue acessar os dados do cliente.

    Próximos passos e compromisso contínuo

    O design ZOA do Mantle exemplifica o compromisso de longo prazo da AWS com a segurança e privacidade dos dados de seus clientes. É esse foco que tem permitido que equipes em toda a AWS invistam continuamente em elevar os padrões de segurança. Ao mesmo tempo, a empresa disponibilizou para todos os clientes as capacidades fundamentais de computação confidencial que utiliza internamente na Amazon, como o NitroTPM Attestation, para que utilizem em instâncias de Amazon Elastic Compute Cloud (Amazon EC2).

    A AWS reafirma seu compromisso em continuar investindo no aprimoramento da segurança dos dados dos clientes e em fornecer mais transparência e segurança sobre como isso é alcançado.

    Fonte

    Exploring the zero operator access design of Mantle (https://aws.amazon.com/blogs/machine-learning/exploring-the-zero-operator-access-design-of-mantle/)

  • AWS RDS for MySQL anuncia Innovation Release 9.5 no Ambiente de Pré-visualização

    Novidade no Banco de Dados MySQL da AWS

    O Amazon RDS for MySQL agora suporta o MySQL Innovation Release 9.5 no Ambiente de Pré-visualização do Amazon RDS Database. Essa disponibilidade permite que desenvolvedores e arquitetos avaliem a versão mais recente da inovação MySQL antes de implementá-la em ambientes de produção. A possibilidade de implantar o MySQL 9.5 nesse ambiente oferece os benefícios de um banco de dados totalmente gerenciado, facilitando a configuração, operação e monitoramento.

    O que é Innovation Release 9.5

    O MySQL 9.5 representa a versão mais recente de Innovation Release lançada pela comunidade MySQL. Esses lançamentos de inovação incluem correções de bugs, patches de segurança e novas funcionalidades desenvolvidas pela comunidade. É importante entender a diferença entre os tipos de versão: o Innovation Release recebe suporte da comunidade até o próximo Innovation minor, enquanto as versões MySQL Long Term Support (LTS) — como MySQL 8.0 e MySQL 8.4 — contam com até oito anos de suporte comunitário.

    Como Usar no Ambiente de Pré-visualização

    O Ambiente de Pré-visualização do Amazon RDS Database oferece flexibilidade para testar a nova versão. Ele suporta ambos os modelos de implantação: Single-AZ (zona de disponibilidade única) e Multi-AZ (múltiplas zonas), utilizando a geração mais recente de classes de instância disponíveis na AWS.

    Alguns pontos importantes sobre esse ambiente:

    • Instâncias de banco de dados no Ambiente de Pré-visualização são retidas por no máximo 60 dias e deletadas automaticamente após esse período
    • Snapshots (cópias) do RDS criados no Ambiente de Pré-visualização funcionam exclusivamente dentro do próprio ambiente de pré-visualização
    • O custo das instâncias é igual ao de instâncias RDS de produção criadas na região US East (Ohio)

    Próximos Passos

    Para maiores detalhes sobre compatibilidade e recursos do MySQL 9.5, consulte as notas de versão do MySQL 9.5 e as notas de versão do Amazon RDS MySQL. Informações mais completas sobre como trabalhar com esse ambiente estão disponíveis em Trabalhando com o Ambiente de Pré-visualização do Database.

    Para começar a usar o Ambiente de Pré-visualização, acesse o console do RDS e navegue até a seção de pré-visualização para iniciar sua primeira instância MySQL 9.5.

    Fonte

    Amazon RDS for MySQL announces Innovation Release 9.5 in Amazon RDS Database Preview Environment (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-rds-mysql-innovation-release/)

  • Aceleração do Desenvolvimento de IA Empresarial com Weights & Biases e Amazon Bedrock AgentCore

    Contexto: A Evolução da IA Generativa em Ambientes Corporativos

    A adoção de inteligência artificial generativa nas empresas evoluiu significativamente. Passou de simples interações com modelos de fundação para fluxos de trabalho sofisticados envolvendo agentes autônomos. Conforme as organizações transitam de prototipagens para implementações em produção, surge a necessidade crítica de ferramentas robustas que permitam desenvolvimento, avaliação e monitoramento de aplicações de IA em larga escala.

    A integração entre Amazon Bedrock, o recém-lançado Amazon Bedrock AgentCore e a plataforma W&B Weave oferece uma solução abrangente para este desafio. Esta combinação permite rastrear chamadas individuais a modelos, monitorar fluxos de agentes complexos em produção e otimizar o ciclo de vida completo de desenvolvimento de soluções de IA empresariais.

    O que é W&B Weave: Uma Visão Geral

    Weights & Biases (W&B) é um sistema de desenvolvimento para IA que oferece ferramentas abrangentes para treinamento de modelos, ajuste fino e aproveitamento de modelos de fundação em empresas de todos os tamanhos e diversos setores. O W&B Weave funciona como um conjunto unificado de ferramentas para desenvolvedores que suportam cada etapa dos fluxos de trabalho com IA generativa e agentes.

    As principais capacidades oferecidas incluem:

    • Rastreamento e Monitoramento: Acompanhamento de chamadas a modelos de linguagem grande (LLM) e lógica da aplicação para depuração e análise de sistemas em produção
    • Iteração Sistemática: Refinamento e melhoria contínua de prompts, conjuntos de dados e modelos
    • Experimentação: Testes com diferentes modelos e prompts através do LLM Playground
    • Avaliação: Uso de funções de pontuação personalizadas ou pré-construídas com ferramentas de comparação para avaliar e melhorar sistematicamente o desempenho das aplicações
    • Coleta de Feedback: Integração de feedback de usuários e especialistas para testes e validação em cenários reais
    • Proteção de Aplicações: Salvaguardas para moderação de conteúdo, segurança de prompts e mais. Inclui suporte a Amazon Bedrock Guardrails personalizadas, de terceiros ou nativas do W&B Weave

    O W&B Weave pode ser gerenciado completamente pela Weights & Biases em ambientes multi-tenant ou single-tenant, ou ser implantado diretamente na Amazon Virtual Private Cloud (VPC) do cliente. Além disso, a integração do W&B Weave na Plataforma de Desenvolvimento W&B oferece às organizações uma experiência perfeitamente integrada entre fluxos de trabalho de treinamento/ajuste fino de modelos e fluxos de trabalho com IA e agentes.

    Para começar, é possível se inscrever na Plataforma de Desenvolvimento W&B da Weights & Biases através do AWS Marketplace. Indivíduos e equipes acadêmicas podem se inscrever no W&B sem custos adicionais.

    Rastreamento de Modelos do Amazon Bedrock com W&B Weave

    A integração entre W&B Weave e Amazon Bedrock é feita de forma simplificada através de SDKs em Python e TypeScript. Após instalar a biblioteca e patchar seu cliente Bedrock, o W&B Weave rastreia automaticamente as chamadas aos modelos de linguagem.

    O processo é direto. Instale a biblioteca, configure o cliente Bedrock com o patch fornecido, e o rastreamento acontece automaticamente sem modificações no código principal da aplicação:

    !pip install weave
    import weave
    import boto3
    import json
    from weave.integrations.bedrock.bedrock_sdk import patch_client
    
    weave.init("my_bedrock_app")
    
    # Create and patch the Bedrock client
    client = boto3.client("bedrock-runtime")
    patch_client(client)
    
    # Use the client as usual
    response = client.invoke_model(
        modelId="anthropic.claude-3-5-sonnet-20240620-v1:0",
        body=json.dumps({
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 100,
            "messages": [
                {"role": "user", "content": "What is the capital of France?"}
            ]
        }),
        contentType='application/json',
        accept='application/json'
    )
    
    response_dict = json.loads(response.get('body').read())
    print(response_dict["content"][0]["text"])

    Esta integração versionará automaticamente experimentos e rastreará configurações, proporcionando visibilidade completa das aplicações Amazon Bedrock sem necessidade de alterações na lógica central.

    Imagem original — fonte: Aws

    Experimentação com Modelos do Amazon Bedrock no Playground do W&B Weave

    O W&B Weave Playground acelera a engenharia de prompts com uma interface intuitiva para testes e comparação de modelos Bedrock. Os recursos principais incluem:

    • Edição direta de prompts e possibilidade de reexecutar mensagens
    • Comparação lado a lado de modelos
    • Acesso direto a partir de visualizações de rastreamento para iteração rápida

    Para começar, adicione suas credenciais AWS nas configurações do Playground, selecione seus modelos preferidos do Amazon Bedrock e comece a experimentar. A interface permite iteração rápida em prompts enquanto mantém rastreabilidade completa dos experimentos.

    Imagem original — fonte: Aws

    Avaliação de Modelos do Amazon Bedrock com W&B Weave

    W&B Weave Evaluations oferece ferramentas dedicadas para avaliar modelos de IA generativa de forma eficaz. Ao aproveitar W&B Weave Evaluations em conjunto com Amazon Bedrock, usuários podem avaliar eficientemente estes modelos, analisar resultados e visualizar desempenho em métricas principais.

    É possível usar funções de pontuação integradas do W&B Weave, funções de terceiros ou personalizadas, além de feedback humano e de especialistas. Esta combinação permite compreender mais profundamente as compensações entre modelos, como diferenças em custo, precisão, velocidade e qualidade de saída.

    W&B Weave oferece um modo nativo para rastrear avaliações através das classes Model e Evaluation. Para configurar um trabalho de avaliação, os clientes podem:

    • Definir um dataset ou lista de dicionários com uma coleção de exemplos a serem avaliados
    • Criar uma lista de funções de pontuação, onde cada função recebe a saída do modelo e opcionalmente outras entradas dos exemplos, retornando um dicionário com os scores
    • Definir um modelo Amazon Bedrock usando a classe Model
    • Executar a avaliação chamando Evaluation

    Segue um exemplo de configuração de um trabalho de avaliação:

    import weave
    from weave import Evaluation
    import asyncio
    
    # Collect your examples
    examples = [
        {"question": "What is the capital of France?", "expected": "Paris"},
        {"question": "Who wrote 'To Kill a Mockingbird'?", "expected": "Harper Lee"},
        {"question": "What is the square root of 64?", "expected": "8"},
    ]
    
    # Define any custom scoring function
    @weave.op()
    def match_score1(expected: str, output: dict) -> dict:
        # Here is where you'd define the logic to score the model output
        return {'match': expected == model_output['generated_text']}
    
    @weave.op()
    def function_to_evaluate(question: str):
        # here's where you would add your LLM call and return the output
        return {'generated_text': 'Paris'}
    
    # Score your examples using scoring functions
    evaluation = Evaluation(
        dataset=examples,
        scorers=[match_score1]
    )
    
    # Start tracking the evaluation
    weave.init('intro-example')
    
    # Run the evaluation
    asyncio.run(evaluation.evaluate(function_to_evaluate))

    O dashboard de avaliação visualiza métricas de desempenho, permitindo decisões informadas sobre seleção e configuração de modelos. Para orientações detalhadas, consulte o artigo anterior sobre avaliação de sumarização de LLM com Amazon Bedrock e Weave.

    Imagem original — fonte: Aws

    Observabilidade do Amazon Bedrock AgentCore com W&B Weave

    Amazon Bedrock AgentCore é um conjunto completo de serviços para implantação e operação de agentes altamente capazes de forma segura em escala empresarial. Oferece ambientes de execução mais seguros, ferramentas de execução de fluxo de trabalho e controles operacionais que funcionam com frameworks populares como Strands Agents, CrewAI, LangGraph e LlamaIndex, além de muitos modelos de LLM — sejam do Amazon Bedrock ou de fontes externas.

    AgentCore inclui observabilidade integrada através de dashboards do Amazon CloudWatch que rastreiam métricas principais como uso de tokens, latência, duração da sessão e taxas de erro. Também rastreia etapas de fluxo de trabalho, mostrando quais ferramentas foram invocadas e como o modelo respondeu, oferecendo visibilidade essencial para depuração e garantia de qualidade em produção.

    Quando trabalhando com AgentCore e W&B Weave em conjunto, as equipes podem aproveitar o monitoramento operacional integrado e as bases de segurança do AgentCore enquanto também usam W&B Weave se se alinhar com seus fluxos de trabalho de desenvolvimento existentes. Organizações já investidas no ambiente W&B podem optar por incorporar as ferramentas de visualização do W&B Weave ao lado das capacidades nativas do AgentCore. Esta abordagem oferece flexibilidade para usar a solução de observabilidade que melhor se encaixa nos processos estabelecidos e preferências das equipes.

    Duas Abordagens Principais para Observabilidade

    Existem duas formas principais de adicionar observabilidade W&B Weave a seus agentes AgentCore: usando o SDK nativo W&B Weave ou integrando através de OpenTelemetry.

    SDK Nativo W&B Weave

    A abordagem mais simples é usar o decorador @weave.op do W&B Weave para rastrear automaticamente chamadas de função. Inicialize W&B Weave com o nome do seu projeto e envolva as funções que deseja monitorar:

    import weave
    import os
    
    os.environ["WANDB_API_KEY"] = "your_api_key"
    weave.init("your_project_name")
    
    @weave.op()
    def word_count_op(text: str) -> int:
        return len(text.split())
    
    @weave.op()
    def run_agent(agent: Agent, user_message: str) -> Dict[str, Any]:
        result = agent(user_message)
        return {"message": result.message, "model": agent.model.config["model_id"]}

    Como AgentCore é executado como um container Docker, adicione W&B Weave às suas dependências (por exemplo, uv add weave) para incluí-lo na imagem do seu container.

    Integração OpenTelemetry

    Para equipes que já usam OpenTelemetry ou desejam instrumentação agnóstica de fornecedor, W&B Weave suporta OTLP (Protocolo OpenTelemetry) diretamente:

    from opentelemetry import trace
    from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
    
    auth_b64 = base64.b64encode(f"api:{WANDB_API_KEY}".encode()).decode()
    exporter = OTLPSpanExporter(
        endpoint="https://trace.wandb.ai/otel/v1/traces",
        headers={"Authorization": f"Basic {auth_b64}", "project_id": WEAVE_PROJECT}
    )
    
    # Create spans to track execution
    with tracer.start_as_current_span("invoke_agent") as span:
        span.set_attribute("input.value", json.dumps({"prompt": user_message}))
        result = agent(user_message)
        span.set_attribute("output.value", json.dumps({"message": result.message}))

    Esta abordagem mantém compatibilidade com a infraestrutura OpenTelemetry existente do AgentCore enquanto roteia os rastreamentos para W&B Weave para visualização.

    Imagem original — fonte: Aws

    Monitoramento de Dupla Camada

    Ao usar AgentCore e W&B Weave em conjunto, as equipes dispõem de múltiplas opções para observabilidade. A integração CloudWatch do AgentCore monitora saúde do sistema, utilização de recursos e taxas de erro, enquanto fornece rastreamento para raciocínio de agente e seleção de ferramentas. W&B Weave oferece capacidades de visualização que apresentam dados de execução em formatos familiares a equipes já usando o ambiente W&B.

    Ambas as soluções fornecem visibilidade sobre como agentes processam informações e tomam decisões, permitindo que organizações escolham a abordagem de observabilidade que melhor se alinhe com fluxos de trabalho e preferências existentes.

    Esta abordagem de dupla camada significa que os usuários podem:

    • Monitorar acordos de nível de serviço (SLAs) em produção através de alertas CloudWatch
    • Depurar comportamentos complexos de agentes no explorador de rastreamento do W&B Weave
    • Otimizar uso de tokens e latência com buscas detalhadas de execução
    • Comparar desempenho de agentes entre diferentes prompts e configurações

    A integração requer mudanças mínimas de código, preserva sua implantação AgentCore existente e escala com a complexidade do seu agente. Seja construindo agentes simples que chamam ferramentas ou orquestrando fluxos de trabalho multi-etapa, esta pilha de observabilidade fornece os insights necessários para iterar rapidamente e implantar com confiança.

    Para detalhes de implementação e exemplos de código completos, consulte o artigo anterior.

    Primeiros Passos na Integração

    Para começar a trabalhar com esta integração:

    • Solicite uma avaliação gratuita ou se inscreva na Plataforma de Desenvolvimento Weights & Biases através do AWS Marketplace
    • Instale o SDK Weave e siga os exemplos de código para começar a rastrear suas chamadas a modelos Bedrock
    • Experimente com diferentes modelos no W&B Weave Playground adicionando suas credenciais AWS e testando vários modelos do Amazon Bedrock
    • Configure avaliações usando o framework W&B Weave Evaluation para comparar sistematicamente o desempenho de modelos para seus casos de uso
    • Melhore seus agentes AgentCore adicionando observabilidade W&B Weave usando o SDK nativo ou integração OpenTelemetry
    • Comece com uma integração simples para rastrear suas chamadas Amazon Bedrock, depois adote progressivamente recursos mais avançados conforme suas aplicações de IA crescem em complexidade

    Conclusão

    A combinação de Amazon Bedrock, Amazon Bedrock AgentCore e W&B Weave oferece uma solução robusta para o desenvolvimento, otimização e operação de soluções empresariais de IA com agentes. W&B Weave aprimora cada etapa do ciclo de vida de desenvolvimento de LLM — desde experimentação inicial no Playground até avaliação sistemática de desempenho de modelos, e finalmente monitoramento em produção de fluxos de trabalho complexos de agentes.

    A integração entre Amazon Bedrock e W&B Weave fornece várias capacidades-chave: rastreamento automático de chamadas a modelos de fundação do Amazon Bedrock com mudanças mínimas de código usando o SDK W&B Weave; experimentação rápida através da interface intuitiva do W&B Weave Playground para testes de prompts e comparação de modelos; avaliação sistemática com funções de pontuação personalizadas para comparar diferentes modelos do Amazon Bedrock; e observabilidade abrangente para implantações AgentCore, com métricas CloudWatch fornecendo monitoramento operacional robusto suplementado por rastreamentos de execução detalhados.

    Esta combinação de Amazon Bedrock e ferramentas de desenvolvimento abrangentes do W&B Weave fornece a fundação necessária para construir, avaliar e manter soluções de IA prontas para produção em escala.

    Fonte

    Accelerate Enterprise AI Development using Weights & Biases and Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/accelerate-enterprise-ai-development-using-weights-biases-weave-and-amazon-bedrock-agentcore/)

  • Amazon ECS Service Connect aprimora observabilidade com Envoy Access Logs

    Observabilidade aprimorada no ECS Service Connect

    A AWS expandiu as capacidades do Amazon Elastic Container Service (ECS) Service Connect com suporte a Envoy Access Logs, um recurso que oferece visibilidade mais granular sobre os padrões de tráfego em nível de requisição e as interações entre serviços. Esta nova funcionalidade captura telemetria detalhada para cada requisição, habilitando rastreamento ponta a ponta, depuração eficiente e conformidade com requisitos regulatórios.

    Como funciona o ECS Service Connect

    O ECS Service Connect simplifica a construção de comunicação segura e resiliente entre serviços, abrangendo clusters, VPCs e contas AWS. O serviço integra funcionalidades de descoberta de serviços e malha de serviços ao injetar automaticamente proxies Envoy gerenciados pela AWS como sidecars, que tratam roteamento de tráfego, balanceamento de carga e conectividade entre serviços.

    Recursos dos Envoy Access Logs

    Os Envoy Access Logs capturam metadados detalhados de tráfego, proporcionando visibilidade em nível de requisição sobre os padrões de comunicação entre serviços. Isso permite que equipes realizem diagnósticos de rede, solucionem problemas com eficiência e mantenham trilhas de auditoria para conformidade regulatória.

    Segurança e proteção de dados

    Por padrão, as strings de consulta são ocultadas para proteger dados sensíveis durante o registro de acesso. Os logs de acesso do Envoy são direcionados para o fluxo de saída padrão (STDOUT), fluindo através do pipeline ECS de logs existente sem necessidade de infraestrutura adicional.

    Compatibilidade de protocolos

    Esta nova funcionalidade oferece suporte a todos os protocolos de aplicação existentes: HTTP, HTTP2, GRPC e TCP, garantindo compatibilidade ampla com diferentes arquiteturas de serviços.

    Configuração e disponibilidade

    A configuração dos access logs dentro do ECS Service Connect é realizada atualizando a ServiceConnectConfiguration para ativar o registro de acesso. O recurso está disponível nas regiões AWS GovCloud (US-West) e AWS GovCloud (US-East), onde o Amazon ECS Service Connect é suportado.

    Para aprofundar-se na implementação, consulte a documentação do Amazon ECS Developer Guide.

    Fonte

    Amazon ECS Service Connect enhances observability with Envoy Access Logs (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-ecs-service-connect-observability-envoy-access-logs)

  • Análise de Documentos com Agentes de IA: Nova Funcionalidade do Acelerador GenAI IDP

    Do Processamento à Inteligência: O Próximo Passo na Análise de Documentos

    Extrair informações estruturadas de dados não-estruturados é um passo fundamental para desbloquear valor empresarial. O Acelerador GenAI IDP (Processamento Inteligente de Documentos com IA Generativa) tem se posicionado na vanguarda dessa transformação, tendo já processado dezenas de milhões de documentos para centenas de clientes.

    Porém, existe um desafio que muitas organizações enfrentam: após digitizar e estruturar seus documentos, como analisar esse volume de informações de forma eficiente e extrair insights acionáveis rapidamente? A AWS identificou essa lacuna e apresentou uma solução: o Analytics Agent, uma nova funcionalidade integrada nativamente ao Acelerador GenAI IDP.

    Com esse recurso, usuários podem realizar buscas avançadas e análises complexas usando consultas em linguagem natural, sem necessidade de dominar SQL ou técnicas de análise de dados. O objetivo é democratizar o acesso a insights, permitindo que qualquer usuário de negócio possa explorar seus documentos processados em escala.

    O Acelerador GenAI IDP: Fundação para a Análise Inteligente

    O Acelerador GenAI IDP é uma solução de código aberto que ajuda organizações a automatizar a extração de informações de diversos tipos de documentos usando IA generativa. A solução integra Amazon Bedrock com outros serviços da AWS, como AWS Lambda, AWS Step Functions, Amazon SQS (Simple Queue Service) e Amazon DynamoDB, para criar um sistema serverless robusto.

    O acelerador foi projetado para operar em larga escala, conseguindo processar milhares de documentos diariamente. Ele oferece três padrões de processamento que permitem aos usuários construir soluções customizadas para fluxos complexos de tratamento de documentos.

    A implantação é simplificada através de templates do AWS CloudFormation, e usuários podem começar a processar documentos imediatamente via interface web ou carregando arquivos direto no Amazon S3 (Simple Storage Service). O acelerador inclui múltiplos módulos como classificação de documentos, extração de dados, avaliação, sumarização e análise de qualidade.

    Para aprofundar-se no Acelerador GenAI IDP, consulte a documentação oficial sobre como acelerar processamento inteligente de documentos com IA generativa na AWS.

    O Analytics Agent: Tornando Dados Acessíveis através de Linguagem Natural

    Com a nova funcionalidade Analytics Agent, usuários podem realizar consultas através de linguagem natural na interface Agent Companion Chat, acessível na seção de navegação do acelerador (a partir da versão 0.4.7). Consultas relacionadas a análises são automaticamente roteadas para o Analytics Agent.

    O agente funciona como uma interface inteligente entre usuários de negócio e seus dados de documentos processados. Ele consegue lidar com consultas complexas que normalmente exigiriam um cientista de dados experiente, tornando análises avançadas acessíveis ao usuário médio.

    Alguns exemplos práticos:

    • Um provedor de saúde poderia perguntar: “Qual percentual de reclamações de seguro foi negado no mês passado? Daquelas, quantas foram devido a documentação incompleta? Mostre-me uma tendência de motivos de negação nos últimos seis meses.”
    • Um escritório de contabilidade fiscal poderia questionar: “Quais dos meus clientes estão pagando imposto estadual em mais de um estado nos formulários W2?”

    Como o Analytics Agent Funciona: Arquitetura e Fluxo

    O Analytics Agent é construído sobre Strands Agents, um SDK de código aberto que utiliza uma abordagem orientada por modelos para construir agentes de IA. O agente é projetado para tornar o trabalho com dados empresariais mais intuitivo, oferecendo conversão automática de linguagem natural para dados e visualizações.

    O fluxo de trabalho do Analytics Agent segue estes passos:

    1. Exploração do banco de dados: O agente usa uma ferramenta de exploração para entender as estruturas de dados armazenadas nas tabelas do Amazon Athena dentro da solução IDP. Isso é necessário porque as tabelas podem ter esquemas diferentes dependendo de como os usuários configuraram o pipeline de processamento.
    2. Conversão para SQL: O agente converte consultas em linguagem natural em queries SQL otimizadas e compatíveis com os bancos e tabelas disponíveis, capazes de escalar para tabelas de tamanho arbitrário.
    3. Execução de queries: O agente executa SQL contra o Athena e armazena os resultados no Amazon S3. Ele corrige e re-executa queries que falharam com base na mensagem de erro.
    4. Transferência segura: Os resultados são transferidos com segurança do Amazon S3 para o sandbox do AWS Bedrock AgentCore Code Interpreter.
    5. Geração de visualizações: O agente escreve código Python para analisar os resultados e gerar gráficos ou tabelas em formato estruturado compatível com a interface web.
    6. Apresentação final: As visualizações finais são exibidas na interface web para interpretação direta pelo usuário.
    Fonte: Aws

    Arquitetura da Solução: Design Orientado pela Segurança

    O Analytics Agent é implantado principalmente dentro de funções Lambda. Quando uma consulta do usuário chega através da API AWS AppSync, uma função Lambda efêmera cria e armazena um ID único de trabalho no DynamoDB para rastrear o fluxo de processamento assíncrono, e inicializa uma função Lambda de longa duração que instancia um agente Strands.

    A interface frontend consulta o status do trabalho e recupera os resultados finais (incluindo de trabalhos anteriores) do DynamoDB. A função processadora tem permissões do AWS IAM (Gerenciamento de Identidade e Acesso) para acessar as tabelas IDP no Athena e para executar um sandbox Code Interpreter com execução mais segura de código Python.

    A arquitetura segue um design orientado pela segurança:

    • Execução em sandbox: O código Python executa no AgentCore Code Interpreter, completamente isolado do resto do ambiente AWS e da internet.
    • Transferência segura de dados: Os resultados são transferidos através do Amazon S3 e APIs do AgentCore, não através do contexto da janela de um modelo de linguagem.
    • Gerenciamento de sessões: As sessões do AgentCore Code Interpreter são gerenciadas adequadamente e limpas após o uso.
    • Permissões mínimas: Cada componente solicita apenas as permissões AWS necessárias.
    • Auditoria: A solução oferece logging e monitoramento abrangentes para revisões de segurança.

    Demonstração Prática: Análise de Memorandos Departamentais

    Para demonstrar as capacidades do Analytics Agent, a AWS processou 10.000 documentos do conjunto de dados RVL-CDIP usando o Acelerador GenAI IDP. O conjunto contém diversos tipos de documentos como memorandos, cartas, formulários e relatórios, processados usando a configuração de Padrão 2 para extrair informações estruturadas como tipo de documento, remetente, destinatário e detalhes de departamento.

    Um usuário fez uma pergunta simples em linguagem natural: “Quais departamentos geram o maior volume de memorandos?”

    Traditicionalmente, essa consulta exigiria que um analista de dados completasse várias etapas: obter credenciais, conectar ao banco de dados interno, entender o esquema através de queries exploratórias ou documentação, escrever SQL complexo com sintaxe Athena correta, executar e validar a query, processar resultados e criar visualizações, e formatar os achados para apresentação.

    O Analytics Agent completou todo esse fluxo de forma autônoma em menos de 60 segundos.

    Fonte: Aws

    A análise revelou que Lorillard gerou o maior número de memorandos (11 documentos), seguido pelos departamentos INBIFO, Assuntos Corporativos e Philip Morris (10 documentos cada). A visualização mostrou a distribuição entre as unidades organizacionais principais, com departamentos de pesquisa de tabaco e corporativos dominando a geração de memorandos.

    Usuários podem rapidamente alternar entre diferentes estilos de visualização como gráficos de pizza, linhas e barras, ou exibir os resultados como tabelas.

    Capacidades Transformadoras do Agente

    O exemplo acima ilustra três capacidades principais:

    • Resolução autônoma de problemas: O agente descobriu independentemente o esquema do banco de dados, identificou as tabelas e colunas corretas, e tratou problemas de qualidade de dados (valores nulos) sem intervenção humana. Isso significa que o agente pode trabalhar com diferentes documentos analisados pela solução IDP, independentemente do tipo de documento ou configurações de processamento.
    • Raciocínio adaptativo: Quando o agente detectou valores nulos na visualização inicial, corrigiu automaticamente o problema filtrando os dados e regenerando o gráfico, demonstrando capacidades de auto-correção.
    • Interpretabilidade fim-a-fim: Todo o fluxo de trabalho, da consulta em linguagem natural até a visualização polida, executou em 90 segundos com transparência completa. Usuários podem revisar cada decisão que o agente tomou através do registro detalhado de raciocínio.

    Casos de Uso Práticos para o Analytics Agent

    O poder dessa funcionalidade reside em sua capacidade de democratizar análise de dados, transformando usuários de negócio em analistas através da conversa simples. Alguns casos de uso incluem:

    Insights Empresariais Instantâneos

    Fazer perguntas complexas em linguagem natural como “Qual percentual de faturas excedeu $50.000 no último trimestre?” ou “Como o valor médio de faturas tendenciou ao longo dos últimos 12 meses?” Tomar decisões orientadas por dados sem aguardar equipes de TI ou ciência de dados.

    Monitoramento de Risco e Conformidade

    Detectar anomalias em tempo real com queries como “Mostre-me todos os contratos com cláusulas obrigatórias ausentes”, rastrear taxas de conformidade entre tipos de documento e identificar documentos de alto risco que requerem atenção imediata.

    Excelência Operacional

    Monitorar gargalos de processamento com “Quais tipos de documento têm os tempos de processamento mais longos?”, rastrear taxas de precisão entre categorias de documento e otimizar alocação de recursos baseado em padrões de volume.

    Aprimoramento da Experiência do Cliente

    Analisar métricas de processamento específicas do cliente, identificar oportunidades para automação de processos e rastrear conformidade com SLA em tempo real.

    Planejamento Estratégico

    Prever volumes de processamento baseado em padrões históricos, identificar tendências sazonais e planejar de acordo, rastrear métricas de ROI para investimentos em processamento de documentos e tomar decisões informadas sobre escalabilidade do sistema.

    Melhores Práticas para Usar o Analytics Agent

    • Comece abrangente: Inicie com perguntas gerais antes de mergulhar em especificidades.
    • Seja específico: Declare claramente que informação você está procurando. Não tenha medo de fornecer um parágrafo inteiro descrevendo suas necessidades se necessário.
    • Use consultas de acompanhamento: Desenvolva o que aprendeu em perguntas anteriores para explorar tópicos em profundidade. As mensagens enviadas no Agent Companion Chat possuem estado, permitindo fazer perguntas de acompanhamento.
    • Verifique os resultados: Valide se as visualizações fazem sentido para seus dados e leia através do processo de raciocínio do agente exibido para validar as decisões que ele tomou.

    Integração com Sistemas Agênticos Externos

    O Analytics Agent pode ser facilmente integrado em outros sistemas agênticos de IA, como o Amazon Quick Suite, através do novo Servidor MCP (Model Context Protocol) do Acelerador IDP. Organizações podem incorporar capacidades de análise de documentos em seus fluxos de trabalho de IA mais amplos e plataformas de automação usando essa integração. Para orientação de implementação e detalhes técnicos, consulte a documentação de integração MCP.

    Limpeza e Manutenção

    Após experimentar o Analytics Agent, existem duas opções de limpeza dependendo das suas necessidades:

    • Remover queries individuais: Navegue para a seção de Análise do Agente na interface web e use o painel “carregar chat anterior” para deletar queries específicas.
    • Deletar toda a implantação IDP: Use o console CloudFormation para deletar a pilha IDP. Para limpeza automatizada incluindo esvaziamento de buckets S3, use o CLI do IDP conforme documentado na documentação do IDP CLI.

    Próximos Passos e Recursos

    Visite o repositório GitHub do Acelerador GenAI IDP para guias detalhados e exemplos, e escolha “Watch” para se manter informado sobre novos lançamentos e recursos.

    O time de AWS Professional Services e AWS Partners está disponível para auxiliar com implementação. Você também pode se juntar à comunidade GitHub para contribuir com melhorias e compartilhar suas experiências.

    Conclusão

    O Analytics Agent representa um passo significativo na democratização da análise de dados empresariais. Ao eliminar barreiras técnicas tradicionais—conhecimento de SQL, compreensão de estruturas de banco de dados, familiaridade com ferramentas de análise—a AWS coloca o poder da exploração de dados nas mãos de qualquer usuário de negócio.

    Com a integração nativa no Acelerador GenAI IDP, organizações que já investiram no processamento inteligente de documentos agora ganham uma ferramenta poderosa para extrair valor máximo de seus dados. Essa combinação de processamento de documentos automatizado e análise conversacional abre novas possibilidades para casos de uso em saúde, contabilidade, conformidade, operações e muito além.

    Fonte

    Enhance document analytics with Strands AI Agents for the GenAI IDP Accelerator (https://aws.amazon.com/blogs/machine-learning/enhance-document-analytics-with-strands-ai-agents-for-the-genai-idp-accelerator/)

  • Implantando Voxtral da Mistral AI no Amazon SageMaker

    O Que É Voxtral: Capacidades Multimodais Integradas

    Os modelos Voxtral da Mistral AI marcam um avanço significativo no processamento simultâneo de texto e áudio. Ao contrário de soluções convencionais que exigem etapas separadas para transcrever e processar dados, o Voxtral integra essas funcionalidades em um único framework coeso.

    A família Voxtral apresenta dois modelos específicos, cada um otimizado para cenários distintos. O Voxtral-Mini-3B-2507 é uma versão compacta com 3 bilhões de parâmetros, direcionado a aplicações onde velocidade e economia de recursos computacionais são prioridades. O Voxtral-Small-24B-2507, com 24 bilhões de parâmetros baseados no Mistral Small 3, atende casos corporativos mais complexos, proporcionando recursos avançados de conversação, execução de funções diretamente por comando de voz e processamento sofisticado em múltiplos idiomas.

    Ambos suportam contexto de áudio estendido (entre 30 e 40 minutos), identificação automática de idioma e mantêm uma janela de contexto de 32 mil tokens. Disponibilizados sob licença Apache 2.0, permitem tanto uso comercial quanto em pesquisa.

    Processamento Multimodal Unificado

    Um dos diferenciais do Voxtral é processar fala e texto em um único fluxo de trabalho. Isso elimina a necessidade de etapas separadas de transcrição, reduzindo latência e complexidade da arquitetura. O modelo extrai contexto e sentimento diretamente do áudio, e gerencia vários arquivos de áudio dentro da mesma conversa.

    O Voxtral Small acrescenta capacidade de chamada de funções, permitindo que comandos falados se convertam em ações executáveis. Isso viabiliza assistentes de voz contextualizados, transcrição automática e extração de insights em reuniões, processamento inteligente de chamadas para suporte ao cliente, ferramentas acessíveis e sistemas de comunicação multilíngue para empresas globais.

    Hospedagem no Amazon SageMaker Com Contêiner Personalizado

    A solução combina Amazon SageMaker AI com vLLM usando a abordagem Bring Your Own Container (BYOC). O vLLM é uma biblioteca otimizada para servir grandes modelos de linguagem, oferecendo atenção paginada para melhor gestão de memória e paralelismo tensorial para distribuir modelos entre várias GPUs.

    A capacidade BYOC do SageMaker permite implantação com imagens Docker personalizadas. Isso oferece controle de versão compatível com vLLM 0.10.0+, flexibilidade para otimizar requisitos específicos do Voxtral (incluindo bibliotecas de áudio e gerenciamento customizado de memória), além de suportar ambas as variantes através de ajustes simples de configuração.

    Arquitetura da Solução

    O notebook do SageMaker atua como ponto central de orquestração. Gerencia a construção e envio de imagens Docker personalizadas para o Registro de Contêineres (Amazon ECR), coordena fluxos de configuração e implementação, e oferece capacidades de teste e validação.

    Um componente essencial é o contêiner Docker personalizado que estende o servidor vLLM oficial com bibliotecas especializadas para processar áudio (librosa, soundfile, pydub) e mistral_common para tokenização do Voxtral. O Amazon Elastic Container Registry (ECR) fornece armazenamento seguro e distribuição escalável dessa imagem, integrando-se aos mecanismos de implantação do SageMaker.

    O endpoint de inferência do SageMaker funciona como ambiente de produção, oferecendo escalonamento automático e distribuição de carga. Para Voxtral-Mini, a recomendação é ml.g6.4xlarge; para Voxtral-Small, ml.g6.12xlarge. O Amazon Simple Storage Service (S3) armazena três arquivos críticos: o manipulador de inferência personalizado (model.py), configuração do modelo (serving.properties) e dependências (requirements.txt). Essa abordagem modular permite separar configuração de imagens de contêiner e facilita mudanças sem reconstrução completa.

    Imagem original — fonte: Aws

    Padrões de Uso Suportados

    A solução atende múltiplos padrões de uso alinhados a necessidades organizacionais variadas. O processamento apenas de texto utiliza a API padrão de conclusão de chat para IA conversacional. O modo transcription-only oferece transcrição precisa de arquivos de áudio, ideal para anotações de reuniões. Aplicações sofisticadas combinam inteligência de áudio e texto, onde o áudio fornece contexto e texto entrega instruções específicas. O padrão avançado envolve chamada de funções a partir de áudio, onde comandos falados disparam ações automatizadas—por exemplo, “Calcule a raiz quadrada de 144” executa automaticamente a ferramenta de calculadora.

    Este guia também demonstra integração do Voxtral implantado no SageMaker com Strands Agents para construir aplicações agentic com código mínimo.

    Preparação Técnica Para Implantação

    Antes de iniciar, certifique-se de possuir os seguintes pré-requisitos:

    Requisitos de software:

    • vLLM >= 0.10.0
    • mistral_common >= 1.8.1

    Configuração da AWS:

    Processo de Implantação

    Para implantar os modelos Voxtral, siga estas etapas:

    1. Baixe o código do repositório

    git clone https://github.com/aws-samples/mistral-on-aws.git
    cd mistral-on-aws/Mistral\ Voxtral/Voxtral-vllm-byoc

    2. Construa seu contêiner

    chmod +x build_and_push.sh
    ./build_and_push.sh

    3. Configure o modelo em code/serving.properties

    Para Voxtral-Mini:

    option.model_id=mistralai/Voxtral-Mini-3B-2507
    option.tensor_parallel_degree=1

    Para Voxtral-Small:

    option.model_id=mistralai/Voxtral-Small-24B-2507
    option.tensor_parallel_degree=4

    4. Execute a implantação

    Abra e execute Voxtral-vLLM-BYOC-SageMaker.ipynb para implantar seu endpoint e testar com recursos de texto, áudio e chamada de funções.

    Configuração do Contêiner Docker

    O repositório GitHub contém o Dockerfile completo. Os componentes principais são:

    # Custom vLLM Container for Voxtral Model Deployment on SageMaker
    FROM --platform=linux/amd64 vllm/vllm-openai:latest
    
    # Set environment variables for SageMaker
    ENV MODEL_CACHE_DIR=/opt/ml/model
    ENV TRANSFORMERS_CACHE=/tmp/transformers_cache
    ENV HF_HOME=/tmp/hf_home
    ENV VLLM_WORKER_MULTIPROC_METHOD=spawn
    
    # Install audio processing dependencies
    RUN pip install --no-cache-dir \
        "mistral_common>=1.8.1" \
        librosa>=0.10.2 \
        soundfile>=0.12.1 \
        pydub>=0.25.1

    Este Dockerfile estende o servidor vLLM oficial com capacidades específicas do Voxtral. A abordagem separa infraestrutura de lógica de negócio: o contêiner permanece genérico enquanto o SageMaker injeta dinamicamente código específico do modelo a partir do S3 em tempo de execução.

    Configurações do Modelo

    As configurações estão no arquivo serving.properties. Os parâmetros principais incluem:

    # Model configuration
    option.model_id=mistralai/Voxtral-Small-24B-2507
    option.tensor_parallel_degree=4
    option.dtype=bfloat16
    
    # Voxtral-specific settings (as per official documentation)
    option.tokenizer_mode=mistral
    option.config_format=mistral
    option.load_format=mistral
    option.trust_remote_code=true
    
    # Audio processing (Voxtral specifications)
    option.limit_mm_per_prompt=audio:8
    option.mm_processor_kwargs={"audio_sampling_rate": 16000, "audio_max_length": 1800.0}
    
    # Performance optimizations (vLLM v0.10.0+ features)
    option.enable_chunked_prefill=true
    option.enable_prefix_caching=true
    option.use_v2_block_manager=true

    Esta configuração implementa otimizações específicas do Voxtral, permitindo processamento de até oito arquivos de áudio por prompt com suporte a transcrição de 30 minutos, além de utilizar mecanismos avançados de cache para melhorar desempenho de inferência.

    Manipulador de Inferência Personalizado

    O arquivo model.py implementa um servidor compatível com SageMaker. Os componentes-chave são:

    # FastAPI app for SageMaker compatibility
    app = FastAPI(title="Voxtral vLLM Inference Server", version="1.1.0")
    model_engine = None
    
    # vLLM Server Initialization for Voxtral
    def start_vllm_server():
        """Start vLLM server with Voxtral-specific configuration"""
        config = load_serving_properties()
        cmd = [
            "vllm",
            "serve",
            config.get("option.model_id"),
            "--tokenizer-mode", "mistral",
            "--config-format", "mistral",
            "--tensor-parallel-size", config.get("option.tensor_parallel_degree"),
            "--host", "127.0.0.1",
            "--port", "8000"
        ]
        vllm_server_process = subprocess.Popen(cmd, env=vllm_env)
        server_ready = wait_for_server()
        return server_ready
    
    @app.post("/invocations")
    async def invoke_model(request: Request):
        """Handle chat, transcription, and function calling"""
        # Transcription requests
        if "transcription" in request_data:
            audio_source = request_data["transcription"]["audio"]
            return transcribe_audio(audio_source)
        
        # Chat requests with multimodal support
        messages = format_messages_for_openai(request_data["messages"])
        tools = request_data.get("tools")
        
        # Generate via vLLM OpenAI client
        response = openai_client.chat.completions.create(
            model=model_config["model_id"],
            messages=messages,
            tools=tools if supports_function_calling() else None
        )
        return response

    Este manipulador cria um servidor baseado em FastAPI que se integra ao servidor vLLM, processando conteúdo multimodal incluindo áudio codificado em base64 e URLs de áudio, além de suportar chamadas de funções.

    Código de Implantação no SageMaker

    O notebook Voxtral-vLLM-BYOC-SageMaker.ipynb orquestra todo o processo de implantação:

    import boto3
    import sagemaker
    from sagemaker.model import Model
    
    # Initialize SageMaker session
    sagemaker_session = sagemaker.Session()
    role = sagemaker.get_execution_role()
    bucket = "your-s3-bucket"
    
    # Upload model artifacts to S3
    byoc_config_uri = sagemaker_session.upload_data(
        path="./code",
        bucket=bucket,
        key_prefix="voxtral-vllm-byoc/code"
    )
    
    # Configure custom container image
    account_id = boto3.client('sts').get_caller_identity()['Account']
    region = boto3.Session().region_name
    image_uri = f"{account_id}.dkr.ecr.{region}.amazonaws.com/voxtral-vllm-byoc:latest"
    
    # Create SageMaker model
    voxtral_model = Model(
        image_uri=image_uri,
        model_data={
            "S3DataSource": {
                "S3Uri": f"{byoc_config_uri}/",
                "S3DataType": "S3Prefix",
                "CompressionType": "None"
            }
        },
        role=role,
        env={
            'MODEL_CACHE_DIR': '/opt/ml/model',
            'TRANSFORMERS_CACHE': '/tmp/transformers_cache',
            'SAGEMAKER_BIND_TO_PORT': '8080'
        }
    )
    
    # Deploy to endpoint
    predictor = voxtral_model.deploy(
        initial_instance_count=1,
        instance_type="ml.g6.12xlarge",
        container_startup_health_check_timeout=1200,
        wait=True
    )

    Exemplos de Uso do Modelo

    O repositório GitHub contém o código completo. Aqui apresentamos exemplos para diferentes cenários.

    Apenas texto

    Uma conversa básica onde o usuário envia uma consulta e recebe resposta estruturada:

    payload = {
        "messages": [
            {
                "role": "user",
                "content": "Hello! Can you tell me about the advantages of using vLLM for model inference?"
            }
        ],
        "max_tokens": 200,
        "temperature": 0.2,
        "top_p": 0.95
    }
    response = predictor.predict(payload)

    Apenas transcrição

    Este exemplo foca em transcrição de fala em texto. O modelo processa URL de arquivo de áudio ou arquivo em base64, retornando apenas o texto transcrito:

    payload = {
        "transcription": {
            "audio": "https://audiocdn.frenchtoday.com/file/ft-public-files/audiobook-samples/AMPFE/AMP%20FE%20Ch%2002%20Story%20Slower.mp3",
            "language": "fr",
            "temperature": 0.0
        }
    }
    response = predictor.predict(payload)

    Entendimento de texto e áudio

    Combinação de instruções em texto e entrada de áudio para processamento multimodal. O modelo segue comandos escritos enquanto analisa o arquivo de áudio em uma única passada de inferência:

    payload = {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": "Can you summarise this audio file"
                    },
                    {
                        "type": "audio",
                        "path": "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/obama.mp3"
                    }
                ]
            }
        ],
        "max_tokens": 300,
        "temperature": 0.2,
        "top_p": 0.95
    }
    response = predictor.predict(payload)

    Uso de ferramentas

    Este exemplo demonstra chamada de funções, permitindo que o modelo interprete comandos de voz e execute ferramentas predefinidas:

    WEATHER_TOOL = {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Get the current weather for a specific location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA"
                    },
                    "format": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "description": "The temperature unit to use."
                    }
                },
                "required": ["location", "format"]
            }
        }
    }
    
    def mock_weather(location, format="celsius"):
        """Always returns sunny weather at 25°C/77°F"""
        temp = 77 if format.lower() == "fahrenheit" else 25
        unit = "°F" if format.lower() == "fahrenheit" else "°C"
        return f"It's sunny in {location} with {temp}{unit}"
    
    payload = {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "audio",
                        "path": "https://huggingface.co/datasets/patrickvonplaten/audio_samples/resolve/main/fn_calling.wav"
                    }
                ]
            }
        ],
        "temperature": 0.2,
        "top_p": 0.95,
        "tools": [WEATHER_TOOL]
    }
    response = predictor.predict(payload)

    Integrando Com Strands Agents

    O exemplo a seguir mostra como integrar Voxtral com o framework Strands para criar agentes inteligentes capazes de utilizar múltiplas ferramentas. O agente seleciona e executa ferramentas apropriadas (calculadora, operações com arquivos ou comandos shell) com base em consultas de usuário:

    # SageMaker integration with Strands agents
    from strands import Agent
    from strands.models.sagemaker import SageMakerAIModel
    from strands_tools import calculator, current_time, file_read, shell
    
    model = SageMakerAIModel(
        endpoint_config={
            "endpoint_name": endpoint_name,
            "region_name": "us-west-2",
        },
        payload_config={
            "max_tokens": 1000,
            "temperature": 0.7,
            "stream": False,
        }
    )
    
    agent = Agent(model=model, tools=[calculator, current_time, file_read, shell])
    response = agent("What is the square root of 12?")

    Limpeza de Recursos

    Após concluir os experimentos, delete os endpoints do SageMaker criados para evitar custos desnecessários:

    # Delete SageMaker endpoint
    print(f" Deleting endpoint: {endpoint_name}")
    predictor.delete_endpoint(delete_endpoint_config=True)
    print(" Endpoint deleted successfully")

    Considerações Finais

    A abordagem apresentada demonstra como hospedar os modelos Voxtral da Mistral AI no SageMaker utilizando a estratégia BYOC. A solução é pronta para produção, aproveitando o framework vLLM mais recente e as otimizações do Voxtral para ambas as variantes Mini e Small.

    A arquitetura suporta todo o espectro de capacidades do Voxtral: conversas apenas com texto, transcrição de áudio, entendimento multimodal sofisticado e chamada de funções a partir de entrada de voz. Por seu design flexível, é possível alternar entre Voxtral-Mini e Voxtral-Small através de simples atualizações de configuração, sem reconstruir contêineres.

    Para aprofundar sua experiência, experimente o código completo disponível no repositório GitHub para hospedar o Voxtral no SageMaker e comece a construir suas próprias aplicações habilitadas para voz. Explore todo o potencial do Voxtral visitando o site oficial da Mistral para conhecer capacidades detalhadas, benchmarks de desempenho e especificações técnicas. Por fim, explore o framework Strands Agents para criar aplicações agentic que executem fluxos de trabalho complexos de forma integrada.

    Fonte

    Deploy Mistral AI’s Voxtral on Amazon SageMaker AI (https://aws.amazon.com/blogs/machine-learning/deploy-mistral-ais-voxtral-on-amazon-sagemaker-ai/)

  • Além da Cadeia de Pensamento: Cadeia de Rascunho no Amazon Bedrock

    O Desafio da Eficiência em IA Generativa

    Conforme as organizações ampliam suas implementações de inteligência artificial generativa, um desafio crítico se intensifica: como equilibrar qualidade dos resultados, custos operacionais e velocidade de resposta? Os números revelam a urgência dessa questão. Os custos de inferência dominam entre 70 a 90% das despesas operacionais de modelos de linguagem grande (LLM). Quando estratégias de prompting verbosas inflam o volume de tokens de 3 a 5 vezes, o impacto financeiro e de desempenho se torna inescapável. Organizações buscam ativamente alternativas mais eficientes para interagir com esses modelos.

    Métodos tradicionais de prompting, embora funcionem, frequentemente criam sobrecarga desnecessária que prejudica tanto a eficiência de custos quanto os tempos de resposta. É neste contexto que surge a Cadeia de Rascunho (Chain-of-Draft, CoD), uma técnica inovadora de prompting que muda radicalmente como modelos abordam tarefas de raciocínio.

    Da Cadeia de Pensamento para Cadeia de Rascunho

    Compreendendo a Cadeia de Pensamento Tradicional

    A técnica de Cadeia de Pensamento (Chain-of-Thought, CoT) guia modelos de linguagem a raciocinar sobre problemas passo a passo, em vez de saltar diretamente para respostas. Este método provou ser particularmente eficaz em tarefas complexas como quebra-cabeças lógicos, problemas matemáticos e cenários de raciocínio de bom senso. Ao espelhar padrões humanos de resolução de problemas, CoT ajuda modelos a decompor questões complexas em etapas gerenciáveis, melhorando tanto a precisão quanto a transparência.

    Considere um exemplo simples: “Se há 5 maçãs e você come 2, quantas maçãs restam?” Uma resposta com CoT seria: “Comece com 5 maçãs. Como 2 maçãs. Subtraia 2 de 5. 5 – 2 = 3 maçãs restantes.”

    Porém, essa abordagem apresenta desvantagens significativas em ambientes de produção. A natureza verbosa das respostas CoT aumenta o uso de tokens e consequentemente os custos. O tempo estendido necessário para gerar explicações detalhadas resulta em latência mais alta, tornando-a menos adequada para aplicações em tempo real. Além disso, os outputs extensos complicam o processamento posterior e integração com outros sistemas.

    Apresentando a Cadeia de Rascunho

    A Cadeia de Rascunho (CoD) é uma técnica de prompting que visa reduzir verbosidade limitando o número de palavras em cada etapa de raciocínio. Ela concentra-se apenas nos cálculos ou transformações essenciais necessários para avançar, reduzindo significativamente o uso de tokens e a latência de inferência.

    CoD se inspira em como humanos resolvem problemas com anotações mentais breves em vez de explicações verbosas. A chave da inovação reside em uma restrição simples mas poderosa: cada etapa de raciocínio é limitada a cinco palavras ou menos. Essa limitação força o modelo a focar em componentes lógicos essenciais enquanto minimiza verbosidade desnecessária.

    Voltando ao exemplo anterior: para a pergunta “Jason tinha 20 pirulitos. Ele deu alguns a Denny. Agora Jason tem 12 pirulitos. Quantos pirulitos Jason deu a Denny?”, uma resposta CoT poderia incluir várias frases explicativas. Uma resposta CoD simplesmente diria: “Início: 20, Fim: 12, 20 – 12 = 8”. Esta abordagem minimalista alcança o mesmo raciocínio lógico usando significativamente menos tokens.

    Imagem original — fonte: Aws

    Por Que a Cadeia de Rascunho Funciona

    A ideia fundamental por trás de CoD é que cadeias de raciocínio tipicamente contêm alta redundância. Destilando etapas até seu núcleo semântico, CoD ajuda o modelo a focar na estrutura lógica da tarefa em vez de fluência linguística. O resultado é latência de inferência menor devido a outputs mais curtos, custos de token reduzidos pela geração minimizada e output mais limpo para parsing ou automação posterior.

    Esse minimalismo é alcançado sem sacrificar precisão. De acordo com pesquisa na área, CoD “alcançou 91,4% de precisão em GSM8K (versus 95,3% para CoT), enquanto reduzia tokens de output em até 92,1%, e cortava latência pela metade em vários modelos testados”.

    Tecnicamente, CoD utiliza prompts em linguagem natural que instruem o modelo a “pensar passo a passo” enquanto explicitamente limitam o comprimento de cada etapa de raciocínio: “Mantenha apenas um rascunho mínimo para cada etapa de pensamento, com no máximo 5 palavras.” Modelos como GPT-4, Claude e Cohere Command R+ funcionaram especialmente bem sob essas restrições, particularmente quando exemplos few-shot foram usados para demonstrar o padrão de raciocínio conciso.

    Além de tarefas aritméticas, CoD demonstrou forte desempenho em tarefas de raciocínio de bom senso. Avaliações usando benchmarks revelaram que CoD não apenas reduz significativamente a geração de tokens e latência, mas em vários casos supera CoT em precisão — especialmente quando output verboso não é necessário. Um exemplo notável com um modelo de linguagem grande em tarefas de compreensão de esportes mostrou que CoT produzia respostas longas e verbosas com média de 172,5 tokens de output, enquanto CoD reduzia isso para 31,3 tokens, alcançando redução de ~82%. Curiosamente, a precisão melhorou ligeiramente, demonstrando que CoD pode ser mais eficaz com menos palavras.

    Implementação Prática na AWS

    Configuração e Pré-requisitos

    Para testar e comparar técnicas de prompting no Amazon Bedrock, você precisa verificar se possui:

    • Conta AWS com permissão para criar e executar funções Lambda
    • Acesso ao Amazon Bedrock habilitado em sua região AWS (por exemplo, us-east-1) com Model Access para modelos de sua escolha
    • Função AWS IAM para execução da função Lambda
    • Permissões para invocar modelos do Amazon Bedrock (bedrock:Converse)
    • Permissões para enviar métricas personalizadas ao Amazon CloudWatch (cloudwatch:PutMetricData)
    • Permissões opcionais de CloudWatch Logs para logging
    • Bibliotecas Python necessárias (boto3), incluída no ambiente de runtime do AWS Lambda para Python 3.9 ou posterior

    Avaliação com a API Bedrock Converse

    O ponto de partida é criar uma função AWS Lambda que interage com modelos usando a API Amazon Bedrock Converse. Essa API fornece uma interface unificada e consistente para interagir com vários modelos de fundação, simplificando o envio de mensagens conversacionais e recebimento de respostas, suportando diálogos multi-turno e recursos avançados enquanto gerencia autenticação AWS e infraestrutura.

    A função Lambda será configurada para:

    • Inicializar clientes para Amazon Bedrock Runtime e CloudWatch
    • Enviar um prompt estático como mensagem do usuário para a API Converse
    • Recuperar o texto da resposta e calcular latência e uso de tokens para entrada e saída
    • Publicar métricas no CloudWatch e registrar logs relevantes
    • Retornar a resposta do modelo junto com contagens de tokens de entrada/saída
    • Registrar erros e retorná-los com código HTTP apropriado

    Código da Função Lambda

    import json
    import boto3
    import time
    import logging
    from botocore.exceptions import ClientError
    
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    
    bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')
    cloudwatch = boto3.client('cloudwatch')
    
    MODEL_ID = "model1-id"  # Replace with actual Model 1 ID
    
    PROMPT = (
        "You have three boxes. Each box contains three balls, but the balls can be red, blue, or green. "
        "Box 1 is labeled as 'Red Balls Only'. Box 2 is labeled 'Blue Balls Only'. "
        "Box 3 is labeled 'Red and Blue Balls Only'. The labels on the boxes are all incorrect. "
        "The Task: You must determine the contents of each box, knowing that all labels are incorrect. "
        "You can only take a single ball from one box and observe its color. "
        "Then you must deduce the contents of all three boxes. "
        "Think step by step to answer the question, but only keep a minimum draft for each thinking step, with 5 words at most. "
        "Return the answer at the end of the response after separator ###."
    )
    
    def lambda_handler(event, context):
        conversation = [{"role": "user", "content": [{"text": PROMPT}]}]
        start_time = time.time()
        
        try:
            response = bedrock.converse(
                modelId=MODEL_ID,
                messages=conversation,
                inferenceConfig={"maxTokens": 2000, "temperature": 0.7}
            )
            
            response_text = response["output"]["message"]["content"][0]["text"]
            latency = time.time() - start_time
            input_tokens = len(PROMPT.split())
            output_tokens = len(response_text.split())
            
            cloudwatch.put_metric_data(
                Namespace='ChainOfDraft',
                MetricData=[
                    {"MetricName": "Latency", "Value": latency, "Unit": "Seconds"},
                    {"MetricName": "TokensUsed", "Value": input_tokens + output_tokens, "Unit": "Count"},
                ]
            )
            
            logger.info({
                "request_id": context.aws_request_id,
                "latency_seconds": round(latency, 2),
                "total_tokens": input_tokens + output_tokens
            })
            
            return {
                "statuscode": 200,
                "body": json.dumps({
                    "response": response_text,
                    "input_tokens": input_tokens,
                    "output_tokens": output_tokens,
                    "metrics": {
                        "latency_seconds": round(latency, 2),
                        "total_tokens": input_tokens + output_tokens,
                    },
                }),
            }
            
        except ClientError as e:
            logger.error(f"AWS service error: {e}")
            return {"statuscode": 500, "body": json.dumps("Service error occurred")}
        except Exception as e:
            logger.error(f"Unexpected error: {e}")
            return {"statusCode": 500, "body": json.dumps(f"Internal error occurred: {e}")}

    Estratégias de Teste

    Para avaliar as técnicas de prompting, três abordagens são testadas:

    Prompt Padrão: O prompt sem instruções de raciocínio, pedindo resposta direta sem explicação.

    Prompt de Cadeia de Pensamento: O mesmo puzzle com instrução “Think step by step to answer the question” e retornar a resposta após separador.

    Prompt de Cadeia de Rascunho: O puzzle com instrução “Think step by step to answer the question but only keep a minimum draft for each thinking step, with 5 words at most.”

    Resultados Práticos

    Ao testar a função Lambda com esses prompts em dois modelos diferentes, os resultados revelaram eficiências notáveis:

    Para o Modelo-1: CoD reduziu o uso total de tokens de 350 para 216 (redução de 39%) e cortou latência de 3,28 para 1,58 segundos (redução de 52%).

    Para o Modelo-2: os ganhos foram ainda maiores. CoD baixou tokens de 601 para 142 (redução de 76%) e latência de 3,81 para 0,79 segundos (redução de 79%).

    Esses números demonstram que Cadeia de Rascunho oferece melhorias significativas em velocidade e eficiência de tokens comparado a Cadeia de Pensamento, com resultados especialmente fortes no Modelo-2.

    Quando Não Usar Cadeia de Rascunho

    Embora CoD ofereça benefícios convincentes em eficiência e desempenho, não é universalmente aplicável. Alguns cenários requerem CoT ou abordagens ainda mais verbosas:

    Casos sem exemplos prévios: CoD funciona melhor quando acompanhado de exemplos few-shot robustos. Em cenários zero-shot — sem padrões de raciocínio fornecidos — modelos frequentemente lutam para adotar o estilo minimalista de rascunho, levando a menor precisão ou etapas de raciocínio incompletas.

    Tarefas exigindo alta interpretabilidade: Para casos como revisão de documentos legais ou médicos, trilhas de auditoria ou ambientes regulados, raciocínio verboso pode ser essencial. As explicações passo a passo transparentes de CoT oferecem melhor rastreabilidade e confiança.

    Modelos de linguagem pequenos: CoD teve desempenho inferior em modelos com menos de 3 bilhões de parâmetros. Esses modelos carecem da fidelidade de seguimento de instruções e poder de raciocínio necessários para executar prompts no estilo CoD efetivamente. CoT pode produzir melhores resultados nesses casos.

    Tarefas criativas ou abertas: Tarefas que se beneficiam de elaboração — como escrita, ideação ou conversas voltadas ao usuário — podem perder valor se muito condensadas. CoD é melhor adequado para raciocínio estruturado, lógica e tarefas determinísticas onde brevidade melhora o desempenho.

    Conclusão e Pontos-Chave

    A Cadeia de Rascunho emerge como uma técnica eficiente para organizações buscando otimizar implementações de IA generativa. Ao encorajar modelos de linguagem a raciocinar em etapas concisas e focadas, CoD alcança melhorias notáveis em desempenho e utilização de recursos. Implementações usando Amazon Bedrock e AWS Lambda demonstram benefícios significativos em uso de tokens e melhoria em latência comparado ao prompting tradicional de Cadeia de Pensamento, mantendo precisão comparável em vários modelos de fundação e tarefas complexas de raciocínio.

    Conforme a IA continua evoluindo, CoD representa um passo significativo em direção a modelos de linguagem mais eficientes e performáticos. É particularmente valioso para tarefas de raciocínio estruturado onde velocidade e eficiência de tokens são críticas, embora não seja uma solução única para todos os cenários. Profissionais são encorajados a explorar CoD em seus próprios fluxos de trabalho de IA, aproveitando seu potencial para reduzir custos, melhorar tempos de resposta e aumentar escalabilidade.

    O futuro da IA reside em abordagens de raciocínio mais inteligentes e eficientes, e a técnica de prompting de Cadeia de Rascunho está na vanguarda dessa transformação.

    Recursos Adicionais

    Fonte

    Move Beyond Chain-of-Thought with Chain-of-Draft on Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/move-beyond-chain-of-thought-with-chain-of-draft-on-amazon-bedrock/)

  • Assistente de IA Multimodal para Diagnóstico de Falhas em Manutenção Preditiva com Amazon Bedrock

    Entendendo Manutenção Preditiva com IA

    A manutenção preditiva representa uma mudança estratégica significativa na forma como as indústrias gerenciam seus ativos. Em vez de esperar que equipamentos falhem ou realizar manutenção em intervalos fixos, essa abordagem utiliza dados contínuos de sensores e análise avançada para prever quando uma máquina provavelmente enfrentará problemas. Isso permite que as equipes intervenham proativamente, evitando paradas não planejadas, melhorando a eficiência operacional e prolongando a vida útil de equipamentos críticos como motores, ventiladores, caixas de engrenagens, rolamentos e transportadores.

    A AWS apresentou uma solução prática que combina modelos de fundação com IA generativa para aprimorar significativamente o processo de diagnóstico. Usando Amazon Bedrock como base tecnológica, a empresa demonstrou como um assistente inteligente pode ajudar equipes de manutenção a identificar com precisão a causa raiz de problemas nos equipamentos.

    Os Dois Pilares da Manutenção Preditiva

    O processo de manutenção preditiva funciona em duas fases complementares que, juntas, criam uma abordagem completa para evitar falhas.

    Fase 1: Geração de Alarmes a Partir de Sensores

    Nesta primeira etapa, sensores monitoram continuamente parâmetros críticos do equipamento, como temperatura e vibração. A Amazon Monitron oferece uma solução integrada de monitoramento de equipamentos com capacidades de aprendizado de máquina. O processo segue uma sequência clara: os sensores capturam dados de vibração e temperatura, que são automaticamente transferidos para a nuvem AWS, onde algoritmos de aprendizado de máquina analisam esses dados em comparação com padrões ISO de vibração, disparando notificações quando condições anormais são detectadas.

    Fase 2: Diagnóstico da Causa Raiz

    A segunda fase enfrenta desafios significativos que o setor há muito tempo procura resolver. Após o disparo de um alarme, os técnicos recebem ordens de trabalho genéricas com pouca orientação específica e precisam consultar entre 40 ou mais manuais de reparo, cada um contendo centenas de páginas. Quando problemas surgem em estágios iniciais e não exibem sinais claros de mau funcionamento, torna-se extremamente difícil para os técnicos identificar a causa raiz, resultando em longos períodos de inatividade, redução de eficiência e custos elevados de manutenção.

    Dados mostram que mais de 50% das ordens de trabalho geradas após um alarme permanecem classificadas como “Indeterminadas” quanto à causa raiz—um problema operacional substancial que impacta diretamente a produtividade.

    A Solução: Um Assistente Inteligente Multimodal

    Para resolver esse desafio, a AWS desenvolveu um assistente baseado em IA generativa que transforma o processo de diagnóstico. A solução oferece várias capacidades integradas que trabalham em conjunto para fornecer orientação precisa e contextualizada aos técnicos.

    Análise de Séries Temporais e Diagnóstico Orientado

    O assistente processa dados de sensores e identifica padrões anômalos em relação aos padrões normais de operação. Quando anormalidades são detectadas, o sistema inicia uma conversa orientada que retém o histórico de interações, permitindo diálogos multiturno e contextualmente conscientes. O sistema faz perguntas direcionadas para reunir informações essenciais, funcionando como um técnico virtual consultivo.

    Capacidades Multimodais

    Uma das características mais poderosas da solução é seu suporte a múltiplos tipos de entrada. Os técnicos podem enviar imagens de componentes desgastados, descrever problemas por áudio, ou até mesmo fazer upload de vídeos mostrando o funcionamento anormal do equipamento. Usando modelos multimodais como Claude 3 Haiku e Claude 3 Sonnet disponíveis através do Amazon Bedrock, o sistema analisa todos esses formatos e fornece interpretações precisas e recomendações contextualizadas.

    Recuperação Aumentada Multimodal com Fusão de Ranking

    O sistema integra informações tanto de manuais de reparo em texto quanto de diagrama visuais. Quando um técnico faz uma pergunta, o assistente utiliza técnicas avançadas de busca semântica para recuperar informações relevantes. A fusão de ranking recíproco garante que os resultados retornados sejam semanticamente alinhados com a consulta do usuário, combinando insights textuais com guias visuais para diagnóstico mais efetivo.

    Guardrails para Segurança e Conformidade

    O assistente emprega Amazon Bedrock Guardrails para manter segurança, precisão e conformidade durante todo o processo diagnóstico. Esses guardrails incluem filtros para informações sensíveis, bloqueio de conteúdo prejudicial e passos de validação para evitar recomendações errôneas.

    Implementação Técnica: Como Funciona

    Processamento de Dados de Sensores

    O processo começa quando um técnico carrega um arquivo Excel contendo dados de vibração e temperatura em uma aplicação Streamlit. O sistema extrai esses dados, cria visualizações que destacam desvios de padrões normais com linhas verticais em vermelho, e classifica os níveis de vibração em comparação com padrões internacionais ISO 20816-1. As classificações resultam em zonas de avaliação: Muito Bom, Satisfatório, Alerta ou Crítico, dependendo da classe de máquina e dos valores medidos em VRMS (Velocidade Raiz Quadrática Média).

    Entrada por Áudio

    Os técnicos podem registrar notas de áudio descrevendo as condições do equipamento. O áudio é enviado para Amazon Transcribe para transcrição automática. Após revisão da transcrição, o texto é processado pelo assistente de IA, que integra essas observações verbais no fluxo diagnóstico, mantendo contexto através de múltiplas trocas.

    O seguinte exemplo mostra como isso é implementado. Um arquivo de áudio é enviado para um bucket de Amazon Simple Storage Service (Amazon S3), uma transcrição é acionada através de um endpoint customizado do Amazon API Gateway, e o resultado é recuperado:

    def transcribe_audio(audio_filename):
        file_size = os.path.getsize(audio_filename)
        bucket_name = read_key_value(config_filename, "S3_bucket_name")
        s3 = boto3.client('s3')
        s3.upload_file(audio_filename, bucket_name, audio_filename)
        s3_uri = f's3://{bucket_name}/{audio_filename}'
        url = 'https:' + read_key_value(config_filename, "api_endpoint_amazon_transcribe")
        response = requests.post(url, json={'audio_file_uri': s3_uri})
        result = response.json()
        return result.get('transcript_uri', 'No transcription found.')

    Uma função AWS Lambda processa o trabalho de transcrição de forma assíncrona:

    import boto3
    import json
    import time
    transcribe = boto3.client('transcribe')
    def lambda_handler(event, context):
        print("Received event: " + json.dumps(event, indent=2))
        try:
            body = json.loads(event.get('body', '{}'))
            audio_file_uri = body.get('audio_file_uri')
            if not audio_file_uri:
                return {
                    'statusCode': 400,
                    'body': json.dumps({'error': 'audio_file_uri is missing'})
                }
            s3_bucket = audio_file_uri.split('/')[2]
            s3_key = '/'.join(audio_file_uri.split('/')[3:])
            job_name = f"transcription-job-{int(time.time())}"
            response = transcribe.start_transcription_job(
                TranscriptionJobName=job_name,
                Media={'MediaFileUri': audio_file_uri},
                MediaFormat=s3_key.split('.')[-1],
                LanguageCode='en-US'
            )
            while True:
                status = transcribe.get_transcription_job(TranscriptionJobName=job_name)
                if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
                    break
                time.sleep(5)
            if status['TranscriptionJob']['TranscriptionJobStatus'] == 'COMPLETED':
                transcript_uri = status['TranscriptionJob']['Transcript']['TranscriptFileUri']
                return {
                    'statusCode': 200,
                    'body': json.dumps({'transcript_uri': transcript_uri})
                }
            else:
                return {
                    'statusCode': 500,
                    'body': json.dumps({'error': 'Transcription job failed.'})
                }
        except Exception as e:
            return {
                'statusCode': 500,
                'body': json.dumps({'error': str(e)})
            }

    Processamento de Vídeo

    Para vídeos, a solução extrai componentes de áudio e visual de forma separada. O áudio é transcrito usando o mesmo processo mencionado anteriormente. Frames individuais são extraídos em intervalos regulares, convertidos em formato base64, e processados por modelos multimodais para gerar descrições. Os timestamps dos frames são sincronizados com as transcrições de áudio para manter coerência entre informações visuais e auditivas.

    A AWS nota que abordagens mais recentes, como as capacidades nativas de compreensão de vídeo do Amazon Nova, agora oferecem alternativas simplificadas e escaláveis para essa funcionalidade.

    Recuperação de Informação de Manuais

    O sistema extrai texto e imagens de manuais em PDF usando bibliotecas especializadas. O texto é convertido em embeddings usando o modelo Amazon Titan v2 e armazenado nas Amazon Bedrock Knowledge Bases. As imagens também são processadas: modelos multimodais geram descrições detalhadas que incluem contexto das páginas adjacentes, e essas descrições são também convertidas em embeddings.

    Durante a busca, o sistema transforma a consulta do usuário em múltiplas consultas relacionadas usando um LLM (Modelo de Linguagem Grande). Cada consulta recupera resultados de uma base de dados vetorial, e um algoritmo de fusão de ranking recíproco reordena esses resultados para priorizar informações verdadeiramente relevantes e semanticamente alinhadas. Texto e imagens são processados em fluxos separados de busca, garantindo que o resultado final combine insights escritos com suporte visual.

    Pré-requisitos para Implementação

    Para implementar com sucesso essa solução, algumas fundações precisam estar em lugar:

    • Identificar ativos críticos para manutenção preditiva—determinar quais equipamentos são mais essenciais e causariam maior impacto se falhassem
    • Coletar e registrar dados acionáveis—configurar monitoramento contínuo de vibração e temperatura em intervalos de um minuto com transferência automática para a nuvem
    • Reunir manuais de reparo—obter documentos dos fabricantes de equipamentos originais que detalhem requisitos de manutenção e procedimentos seguros
    • Manter registros históricos de manutenção (opcional mas recomendado)—dados anteriores ajudam a refinar modelos e melhorar a precisão de previsões

    Impacto Operacional e Escalabilidade

    A implementação dessa solução em centros de distribuição da Amazon demonstrou capacidade de reduzir significativamente o número de diagnósticos indeterminados. Ao fornecer aos técnicos orientação clara e acionável quando um alarme é disparado, o assistente não apenas acelera o processo de diagnóstico mas também melhora a confiabilidade geral das recomendações.

    O design adaptável da solução a torna viável para diversos setores além da manufatura—indústrias de óleo e gás, logística e saúde podem todas se beneficiar dessa abordagem. Melhorias futuras poderiam incluir expansão de capacidades de busca para abranger vídeos, treinamento de agentes inteligentes para recomendar próximos passos com base em diagnósticos bem-sucedidos anteriores, e geração automática de ordens de trabalho que especifiquem recursos e tarefas com base nos resultados diagnósticos.

    Fonte

    Build a multimodal generative AI assistant for root cause diagnosis in predictive maintenance using Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/build-a-multimodal-generative-ai-assistant-for-root-cause-diagnosis-in-predictive-maintenance-using-amazon-bedrock/)