LangChain
tip
如果您尚未使用ClearML,请参阅入门指南以获取设置说明。
LangChain 是一个流行的框架,用于开发由语言模型驱动的应用程序。您可以使用内置的 ClearMLCallbackHandler
将 ClearML 集成到您的 LangChain 代码中。该类用于创建一个 ClearML 任务来记录 LangChain 的资源和指标。
按照以下步骤集成ClearML:
-
设置
ClearMLCallbackHandler
。以下代码在langchain_callback_demo
项目中创建了一个名为llm
的ClearML任务,该任务捕获您的脚本信息,包括Git详细信息、未提交的代码和python环境:from langchain.callbacks import ClearMLCallbackHandler
from langchain_openai import OpenAI
# Set up and use the ClearML Callback
clearml_callback = ClearMLCallbackHandler(
task_type="inference",
project_name="langchain_callback_demo",
task_name="llm",
tags=["test"],
# Change the following parameters based on the amount of detail you want tracked
visualize=True,
complexity_metrics=True,
stream_logs=True,
)
llm = OpenAI(temperature=0, callbacks=[clearml_callback])你也可以向
ClearMLCallbackHandler
对象传递以下参数:task_type
– 要创建的ClearML任务的类型(参见任务类型)tags
– 要添加到任务中的标签列表visualize
- 设置为True
以便 ClearML 捕获运行的依赖关系和实体图到 ClearML 任务中complexity_metrics
- 设置为True
以记录复杂度指标stream_logs
- 设置为True
以将回调操作流式传输到 ClearML 参数。
-
在每个模型请求后使用
ClearMLCallbackHandler.flush_tracker()
,以确保所有输出,包括指标和提示,都被记录到ClearML中:llm_result = llm.generate(["Tell me a joke", "Tell me a poem"] * 3)
clearml_callback.flush_tracker(langchain_asset=llm, name="simple_sequential")指定以下参数:
name
- 一个字符串,用于标识记录信息的上下文(提示:使用不同的名称来记录不同的模型对话)。langchain_asset
- 要保存的LangChain资产。这也可以是LangChain代理,ClearML将跟踪其结果。finish
- 设置为True
以在记录后关闭ClearML任务。如果设置为True
,则无法再使用回调。
额外的日志选项
为了增强其自动日志记录功能,ClearML 还提供了一个显式的日志记录接口。
查看有关显式记录信息到ClearML任务的更多信息:
- 模型
- 配置 (例如 参数, 配置文件)
- Artifacts(例如,由任务创建的输出文件或Python对象)
- 标量
- 文本/图表/调试样本
参见 显式报告教程。