跳转到主要内容

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

创建您的 Crews/Flows

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 文档

资源