Visão Geral do Weave

Weights & Biases (W&B) Weave é um framework para rastreamento, experimentação, avaliação, implementação e aprimoramento de aplicações baseadas em LLM.

Visão geral do uso do tracing do W&B Weave com CrewAI

O Weave oferece suporte completo para todas as etapas do desenvolvimento da sua aplicação CrewAI:

  • Rastreamento e Monitoramento: Acompanhe automaticamente chamadas LLM e a lógica da aplicação para depuração e análise de sistemas em produção
  • Iteração Sistemática: Aperfeiçoe e itere em prompts, conjuntos de dados e modelos
  • Avaliação: Utilize avaliadores personalizados ou pré-construídos para avaliar e aprimorar sistematicamente o desempenho dos agentes
  • Guardrails: Proteja seus agentes com salvaguardas pré e pós-execução para moderação de conteúdo e segurança de prompts

O Weave captura automaticamente rastreamentos (traces) de suas aplicações CrewAI, permitindo monitorar e analisar o desempenho, as interações e o fluxo de execução dos seus agentes. Isso te ajuda a construir melhores conjuntos de dados para avaliação e a otimizar os fluxos de trabalho dos agentes.

Instruções de Configuração

1

Instale os pacotes necessários

pip install crewai weave
2

Crie uma conta no W&B

Cadastre-se em uma conta Weights & Biases caso ainda não tenha uma. Você precisará dela para visualizar rastreamentos e métricas.

3

Inicialize o Weave na sua aplicação

Adicione o seguinte código à sua aplicação:

import weave

# Inicialize o Weave com o nome do seu projeto
weave.init(project_name="crewai_demo")

Após a inicialização, o Weave fornecerá uma URL onde você poderá visualizar seus rastreamentos e métricas.

4

Crie seus Crews/Flows

from crewai import Agent, Task, Crew, LLM, Process

# Crie um LLM com temperatura 0 para garantir saídas determinísticas
llm = LLM(model="gpt-4o", temperature=0)

# Crie os agentes
pesquisador = Agent(
    role='Analista de Pesquisa',
    goal='Encontrar e analisar as melhores oportunidades de investimento',
    backstory='Especialista em análise financeira e pesquisa de mercado',
    llm=llm,
    verbose=True,
    allow_delegation=False,
)

redator = Agent(
    role='Redator de Relatórios',
    goal='Escrever relatórios de investimento claros e concisos',
    backstory='Experiente na criação de relatórios financeiros detalhados',
    llm=llm,
    verbose=True,
    allow_delegation=False,
)

# Crie as tarefas
pesquisa = Task(
    description='Pesquisa aprofundada sobre o {tema}',
    expected_output='Dados de mercado abrangentes incluindo principais players, tamanho de mercado e tendências de crescimento.',
    agent=pesquisador
)

redacao = Task(
    description='Escreva um relatório detalhado com base na pesquisa',
    expected_output='O relatório deve ser fácil de ler e entender. Use tópicos quando aplicável.',
    agent=redator
)

# Crie o crew
equipe = Crew(
    agents=[pesquisador, redator],
    tasks=[pesquisa, redacao],
    verbose=True,
    process=Process.sequential,
)

# Execute o crew
resultado = equipe.kickoff(inputs={"tema": "IA em ciência dos materiais"})
print(resultado)
5

Visualize rastreamentos no Weave

Após executar sua aplicação CrewAI, acesse a URL do Weave fornecida durante a inicialização para visualizar:

  • Chamadas LLM e seus metadados
  • Interações dos agentes e fluxo de execução das tarefas
  • Métricas de desempenho como latência e uso de tokens
  • Quaisquer erros ou problemas ocorridos durante a execução
Exemplo de rastreamento do Weave com CrewAI

Painel de Rastreamento do Weave

Funcionalidades

  • O Weave captura automaticamente todas as operações do CrewAI: interações dos agentes e execuções das tarefas; chamadas LLM com metadados e uso de tokens; uso de ferramentas e resultados.
  • A integração suporta todos os métodos de execução do CrewAI: kickoff(), kickoff_for_each(), kickoff_async() e kickoff_for_each_async().
  • Rastreamento automático de todas as crewAI-tools.
  • Suporte ao recurso flow com patching por decorador (@start, @listen, @router, @or_, @and_).
  • Rastreie guardrails personalizados passados para o Task do CrewAI com @weave.op().

Para informações detalhadas sobre o que é suportado, acesse a documentação do Weave CrewAI.

Recursos