当前位置:   article > 正文

Langchain debug方式调研_langchain verbose

langchain verbose

前言

Langchain作为市面上一个比较新的sdk,并且是大语言模型开发方向,具体debug方式较少目前只有 verbose配置项、Langsmith和Evaluation评估器这三种,其中Langsmith和Evaluation评估器这两种方式没有完成使用,本次调研只作简单介绍。


一、verbose配置项

Langchain提供了一个verbose 配置项,设置为True时显示一些关键信息,这个配置项在模型、检索器、链、代理等组件中支持,但是模型和检索器的调试依赖于第三方服务的实现,我们主要看在链和代理中如何使用verbose。通过在代理(agent)的参数中将verbose设置为true,用户可以轻松地监控代理的运行过程。

  const executor = await initializeAgentExecutorWithOptions(tools, model, {

    agentType: "structured-chat-zero-shot-react-description",
    verbose: true,

  })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

实时日志打印: 通过将verbose配置设为true,项目的后台将能够实时打印有关代理运行的信息。这意味着用户和开发人员可以在演示过程中密切关注代理的活动,随时了解项目的状态。

运行过程的可视化: 后台日志使项目运行过程可视化,有助于用户更好地理解代理是如何处理用户请求的。这种透明性有助于用户更好地与代理互动,并有可能改进代理的性能。

及时错误反馈: 在代理运行中发生错误时,后台日志也能够即时反馈。这样,用户和开发人员能够立即识别问题并采取纠正措施,确保项目持续高效地运行。

性能监控: 通过监控代理的详细运行信息,用户可以评估项目的性能并进行必要的优化。这有助于确保代理在不断改进中,以满足不断变化的需求。
具体日志呈现方式如下图所示:

二、 Langsmith

通过设置verbose配置项为True,在开发Langchain应用时就能查看执行时的关键信息,但是这些信息是文字形式的,查看起来并不直观,信息量也非常有限,Langchain公司提供的一个用于调试、测试、评估和监控LLM应用程序的统一平台,Langsmith(原名:Langchain-server)支持云托管和本地托管,目前账号只对特定人员邀请开放,还处于封测阶段。

Langsmith介绍

langsmith关注了一个目前大模型的一个投入生产比较棘手的问题,就是大模型prompt的可读性,可调式性以及大模型输出的不稳定干预。目前微软等厂商也提供了guidance,Guardrails等工具库来解决,但集成度不高,有使用门槛。

langsmith

Debugging

LangSmith 可让您全面了解事件链中每一步的模型输入和输出。这使得团队可以轻松尝试新的链和提示模板,并发现意外结果、错误或延迟问题的来源。我们还将公开延迟和令牌使用情况,这样您就可以确定是哪些调用导致了问题。

Testing

开发过程中要解决的一个主要问题是"如果我更改了这个链/提示,会对我的输出产生什么影响?要回答这个问题,最有效的方法是策划一个你所关心的示例数据集,然后在这个数据集上运行任何更改过的提示/链。首先,LangSmith 可以让开发者轻松地根据轨迹创建这些数据集,或者上传手动策划的数据集。然后,开发者就可以在这些数据集上轻松运行链和提示.

Monitoring

虽然调试、测试和评估可以帮助从原型到生产,但工作并不会在程序开发完成后就停止。开发人员需要积极跟踪性能,并根据反馈优化性能。我们经常看到开发人员依靠 LangSmith 来跟踪应用程序的系统级性能(如延迟和成本)、跟踪模型/链性能(通过将反馈与运行关联起来)、调试问题(深入研究出错的特定运行),并广泛了解用户如何与其应用程序交互以及他们的体验如何。
Monitoring界面

三、Evaluation评估器

LangChainjs 的最新文档中还有一种Evaluation工具。LangChain 提供各种类型的评估器来帮助衡量不同数据的性能和完整性。每种评估器类型都带有即用型实现和可扩展的 API,允许根据您的独特要求进行自定义。不过目前该工具尚未完善以及需要用到openai去评估性能,本文未能复现该功能。
根据英文文档简单概括工具的组件。

String Evaluators 字符串计算器

字符串评估器是 LangChain 中的一个组件,旨在通过将语言模型生成的输出(预测)与参考字符串或输入进行比较来评估语言模型的性能。这种比较是评估语言模型的关键步骤,可以衡量生成文本的准确性或质量。

在实践中,字符串计算器通常用于根据给定输入(如问题或提示)评估预测字符串。通常,会提供参考标签或上下文字符串来定义正确或理想响应的外观。这些评估器可以定制,以定制评估过程,以满足您应用的特定要求。

在实践中,字符串计算器通常用于根据给定输入(如问题或提示)评估预测字符串。通常,会提供参考标签或上下文字符串来定义正确或理想响应的外观。这些评估器可以定制,以定制评估过程,以满足您应用的特定要求。

Comparison Evaluators 比较评估器

LangChain 中的比较评估器有助于测量两个不同的链或 LLM 输出。这些评估器有助于比较分析,例如两个语言模型之间的 A/B 测试,或比较同一模型的不同版本。它们还可用于生成 AI 辅助强化学习的偏好分数等。

Trajectory Evaluators 轨迹赋值器

LangChain 中的轨迹评估器提供了一种更全面的方法来评估代理。这些评估者评估代理采取的完整行动序列及其相应的响应,称之为“轨迹”。可以更好地衡量代理的有效性和能力。代理可能难以全面评估,因为它们可以采取的行动和生成范围很广。评估代理的一种方法是查看所采取行动的整个轨迹及其响应。评分标准是由openai去执行,这种评分标准是否合理有待考究。

总结

根据本次调研结果,langchain debug方式目前尚不成熟,很多功能才处于起步阶段,因为不同于一般的程序是直接由代码执行,langchain是调用大模型去实现功能。如何去评判大模型在langchain调用令人满意,还需要评价体系的构建,以及langchain流式追踪的技术迭代。才能成熟实现调试langchain。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/643562
推荐阅读
相关标签
  

闽ICP备14008679号