Skip to main content

LangChain

tip

如果您尚未使用ClearML,请参阅入门指南以获取设置说明。

LangChain 是一个流行的框架,用于开发由语言模型驱动的应用程序。您可以使用内置的 ClearMLCallbackHandler 将 ClearML 集成到您的 LangChain 代码中。该类用于创建一个 ClearML 任务来记录 LangChain 的资源和指标。

按照以下步骤集成ClearML:

  1. 设置ClearMLCallbackHandler。以下代码在langchain_callback_demo项目中创建了一个名为llmClearML任务,该任务捕获您的脚本信息,包括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 参数。
  2. 在每个模型请求后使用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任务的更多信息:

参见 显式报告教程