--- title: Integração com Weave description: Saiba como usar o Weights & Biases (W&B) Weave para rastrear, experimentar, avaliar e melhorar suas aplicações CrewAI. icon: radar --- # Visão Geral do Weave [Weights & Biases (W&B) Weave](https://weave-docs.wandb.ai/) é 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](/images/weave-tracing.gif) 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 ```shell pip install crewai weave ``` Cadastre-se em uma [conta Weights & Biases](https://wandb.ai) caso ainda não tenha uma. Você precisará dela para visualizar rastreamentos e métricas. Adicione o seguinte código à sua aplicação: ```python 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. ```python 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) ``` 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 ## 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](https://github.com/crewAIInc/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](https://weave-docs.wandb.ai/guides/integrations/crewai/#getting-started-with-flow). ## Recursos - [📘 Documentação do Weave](https://weave-docs.wandb.ai) - [📊 Exemplo de dashboard Weave x CrewAI](https://wandb.ai/ayut/crewai_demo/weave/traces?cols=%7B%22wb_run_id%22%3Afalse%2C%22attributes.weave.client_version%22%3Afalse%2C%22attributes.weave.os_name%22%3Afalse%2C%22attributes.weave.os_release%22%3Afalse%2C%22attributes.weave.os_version%22%3Afalse%2C%22attributes.weave.source%22%3Afalse%2C%22attributes.weave.sys_version%22%3Afalse%7D&peekPath=%2Fayut%2Fcrewai_demo%2Fcalls%2F0195c838-38cb-71a2-8a15-651ecddf9d89) - [🐦 X](https://x.com/weave_wb)