Weave 概述

Weights & Biases (W&B) Weave 是一个用于跟踪、实验、评估、部署和改进基于 LLM 的应用程序的框架。

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 调用及其元数据
  • 代理交互和任务执行流程
  • 延迟和 token 使用等性能指标
  • 执行期间发生的任何错误或问题

Weave 跟踪仪表盘

功能

  • Weave 自动捕获所有 CrewAI 操作:代理交互和任务执行;带有元数据和 token 使用的 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 文档

资源