跳转到内容

Weave 集成

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

W&B Weave CrewAI 追踪使用概览

Weave 为 CrewAI 应用开发的每个阶段提供全面支持:

  • 追踪与监控:自动跟踪 LLM 调用和应用逻辑,以调试和分析生产系统
  • 系统化迭代:改进并迭代提示词、数据集和模型
  • 评估:使用自定义或预置评分器系统性地评估和增强代理性能
  • Guardrails:通过前置与后置防护机制保护代理,进行内容审核和提示安全控制

Weave 会自动捕获你的 CrewAI 应用追踪,使你能够监控和分析代理性能、交互和执行流程。这有助于你构建更好的评估数据集并优化代理工作流。

  1. 安装所需包
    Terminal window
    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 使用量等性能指标
    • 执行期间发生的任何错误或问题
    CrewAI 的 Weave 追踪示例
    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 的自定义 guardrails。

有关支持内容的详细信息,请访问 Weave CrewAI 文档