跳转到主要内容

Weave 概述

Weights & Biases (W&B) Weave 是一个用于跟踪、实验、评估、部署和改进基于 LLM 的应用程序的框架。 W&B Weave CrewAI 跟踪使用概览 Weave 为您的 CrewAI 应用程序开发的每个阶段提供全面的支持:
  • 跟踪与监控:自动跟踪 LLM 调用和应用程序逻辑,以调试和分析生产系统
  • 系统化迭代:优化和迭代提示、数据集和模型
  • 评估:使用自定义或预构建的评分器来系统地评估和提升智能体性能
  • 护栏:通过事前和事后保障措施保护您的智能体,进行内容审核和提示安全防护
Weave 会自动捕获您的 CrewAI 应用程序的跟踪信息,使您能够监控和分析智能体的性能、交互和执行流程。这有助于您构建更好的评估数据集并优化智能体工作流程。

设置说明

1

安装所需包

pip install crewai weave
2

设置 W&B 账户

如果您还没有 Weights & Biases 账户,请注册一个。您将需要它来查看您的跟踪信息和指标。
3

在您的应用程序中初始化 Weave

将以下代码添加到您的应用程序中
import weave

# Initialize Weave with your project name
weave.init(project_name="crewai_demo")
初始化后,Weave 将提供一个 URL,您可以在其中查看您的跟踪信息和指标。
4

创建您的 Crew/Flow

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

# Create an LLM with a temperature of 0 to ensure deterministic outputs
llm = LLM(model="gpt-4o", temperature=0)

# Create agents
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,
)

# Create tasks
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
)

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

# Run the crew
result = crew.kickoff(inputs={"topic": "AI in material science"})
print(result)
5

在 Weave 中查看跟踪信息

运行您的 CrewAI 应用程序后,访问初始化时提供的 Weave URL 以查看:
  • LLM 调用及其元数据
  • 智能体交互和任务执行流程
  • 性能指标,如延迟和令牌使用量
  • 执行期间发生的任何错误或问题
Weave tracing example with CrewAI

Weave 跟踪仪表板

功能

  • Weave 会自动捕获所有 CrewAI 操作:智能体交互和任务执行;带有元数据和令牌使用量的 LLM 调用;工具使用情况和结果。
  • 该集成支持所有 CrewAI 执行方法:kickoff()kickoff_for_each()kickoff_async()kickoff_for_each_async()
  • 自动跟踪所有 crewAI-tools
  • 通过装饰器修补支持 Flow 功能(@start@listen@router@or_@and_)。
  • 使用 @weave.op() 跟踪传递给 CrewAI Task 的自定义护栏。
有关支持内容的详细信息,请访问 Weave CrewAI 文档

资源