Skip to main content

WandB跟踪

有两种推荐的方法来跟踪您的LangChains:

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

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

import os

os.environ["LANGCHAIN_WANDB_TRACING"] = "true"

# 使用wandb文档配置环境变量
# https://docs.wandb.ai/guides/track/advanced/environment-variables
# 在这里我们配置wandb项目名称
os.environ["WANDB_PROJECT"] = "langchain-tracing"

from langchain.agents import initialize_agent, load_tools
from langchain.agents import AgentType
from langchain.llms import OpenAI
from langchain.callbacks import wandb_tracing_enabled
# 带有跟踪的Agent运行。确保适当设置OPENAI_API_KEY以运行此示例。

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("2的.123243次方是多少?") # 这应该被跟踪
# 以下类似的url将会在控制台中打印出来
# https://wandb.ai/<wandb_entity>/<wandb_project>/runs/<run_id>
# 您可以使用该url在wandb中查看跟踪会话。
# 现在,我们取消环境变量并使用上下文管理器。

if "LANGCHAIN_WANDB_TRACING" in os.environ:
del os.environ["LANGCHAIN_WANDB_TRACING"]

# 使用上下文管理器启用跟踪
with wandb_tracing_enabled():
agent.run("5的.123243次方是多少?") # 这应该被跟踪

agent.run("2的.123243次方是多少?") # 这应该不被跟踪
> 进入新的AgentExecutor链...
 我需要使用计算器来解决这个问题。
动作:计算器
动作输入:5^.123243
观察:答案:1.2193914912400514
思考:我现在知道最终答案。
最终答案:1.2193914912400514

> 完成链。

> 进入新的AgentExecutor链...
 我需要使用计算器来解决这个问题。
动作:计算器
动作输入:2^.123243
观察:答案:1.0891804557407723
思考:我现在知道最终答案。
最终答案:1.0891804557407723

> 完成链。




'1.0891804557407723'

以下是上述跟踪会话的wandb仪表板视图: