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.

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
researcher = Agent(
    role='Research Analyst',
    goal='Find and analyze the best investment opportunities',
    backstory='Expert in financial analysis and market research',
    llm=llm,
    verbose=True,
    allow_delegation=False,
)

writer = Agent(
    role='Report Writer',
    goal='Write clear and concise investment reports',
    backstory='Experienced in creating detailed financial reports',
    llm=llm,
    verbose=True,
    allow_delegation=False,
)

# Crie as tarefas
research_task = Task(
    description='Deep research on the {topic}',
    expected_output='Comprehensive market data including key players, market size, and growth trends.',
    agent=researcher
)

writing_task = Task(
    description='Write a detailed report based on the research',
    expected_output='The report should be easy to read and understand. Use bullet points where applicable.',
    agent=writer
)

# Crie o crew
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    verbose=True,
    process=Process.sequential,
)

# Execute o crew
result = crew.kickoff(inputs={"topic": "AI in material science"})
print(result)
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

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