跳转到主要内容

我们很高兴宣布在LangChain中支持原生追踪!通过在LangChain运行中启用跟踪,您将能够更有效地可视化、逐步完成和调试链和代理。

A view of a more complicated trace at a high level

动机

关于链和代理执行的推理对于故障排除和调试非常重要。然而,对于复杂的链和代理来说,这可能很困难,原因有很多:

  • 可能会有大量的步骤,因此很难跟踪所有步骤
  • 步骤的顺序无法固定,可能会根据用户输入而变化
  • 每个阶段的输入/输出可能不长,需要进行更详细的检查

链或代理的每一步也可能涉及嵌套——例如,代理可能会调用一个工具,该工具使用LLMMathChain,它使用LLMChain,然后调用LLM。如果您注意到来自顶级代理运行的奇怪或不正确的输出,则很难确定它在执行中的确切位置。

通过跟踪,您可以清楚地看到特定链或代理运行中涉及的每个LangChain原语的输入和输出,按照它们被调用的顺序,从而解决了这一问题。

在LLM组合的跟踪和可视化方面已经有了一些出色的工作(请参阅ICE和langchain可视化工具),我们现在很高兴能够在langchain中原生地结合跟踪。我们希望在不久的将来发布基于追踪的新的、令人兴奋的功能。

用法

作为一个起点,我们允许每个人通过使用docker compose建立的本地托管设置,在他们的LangChain组合中利用跟踪。我们还将向一小群初始用户推出托管版本。如果您有兴趣访问此信息,请填写此表格。

有关如何开始的完整技术文档,请参阅此处。

我们希望不断地对此进行迭代,使其尽可能有用。如有任何反馈,请联系我们!

上一个

我们才刚刚开始使用跟踪和其他功能。未来我们希望补充:

  • UI改进
  • 更好的跟踪筛选和分组
  • 记录每次运行的完整序列化LLM和Chain

我们仍在完善其他令人兴奋的功能;)