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/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *