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

Weave 为 CrewAI 应用开发的每个阶段提供全面支持:
- 追踪与监控:自动跟踪 LLM 调用和应用逻辑,以调试和分析生产系统
- 系统化迭代:改进并迭代提示词、数据集和模型
- 评估:使用自定义或预置评分器系统性地评估和增强代理性能
- Guardrails:通过前置与后置防护机制保护代理,进行内容审核和提示安全控制
Weave 会自动捕获你的 CrewAI 应用追踪,使你能够监控和分析代理性能、交互和执行流程。这有助于你构建更好的评估数据集并优化代理工作流。
- 安装所需包
Terminal window pip install crewai weave - 设置 W&B 账户
如果你还没有账户,请注册一个 Weights & Biases 账户。查看追踪和指标需要它。
- 在应用中初始化 Weave
将以下代码添加到你的应用中:
import weave# Initialize Weave with your project nameweave.init(project_name="crewai_demo")初始化后,Weave 会提供一个 URL,你可以在其中查看追踪和指标。
- 创建你的 Crews/Flowsfrom crewai import Agent, Task, Crew, LLM, Process# Create an LLM with a temperature of 0 to ensure deterministic outputsllm = LLM(model="gpt-4o", temperature=0)# Create agentsresearcher = 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 tasksresearch_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 crewcrew = Crew(agents=[researcher, writer],tasks=[research_task, writing_task],verbose=True,process=Process.sequential,)# Run the crewresult = crew.kickoff(inputs={"topic": "AI in material science"})print(result)
- 在 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()跟踪传递给 CrewAITask的自定义 guardrails。
有关支持内容的详细信息,请访问 Weave CrewAI 文档。