可观测性范围图
随着生成式 AI 概念的火爆,以 ChatGPT 为代表,市场上涌现了一系列商用或者开源的大模型,同时基于大语言模型以及 AI 生态技术栈构建的应用以及业务场景也越来越多,大规模的模型训练以及模型推理场景也催生了 MLOps、LLMOps 等相关的岗位需求。
如何监控并保障大模型应用上线的性能以及用户体验?如何支持复杂拓扑场景下 LLM 应用领域的链路可视化分析以及根因定位?
需要从成本以及效果等方面获得线上实际效果表现,辅助分析、评估以及优化迭代大语言模型等。基于上述需求以及问题背景,面向 LLM 应用技术栈的可观测能力解决方案也成为了日益重要的话题。
为什么需要 LLM 应用可观测
TruEra 的研究数据揭示,尽管 2023 年被视为构建大规模语言模型(LLM)应用原型的繁荣时期,但实际转化成生产环境部署的比例依旧偏低。历史数据分析指出,仅约 10% 的企业能将超过 25% 的 LLM 开发项目推进至生产阶段,而逾 75% 的企业则尚未实现任何 LLM 应用的商业化落地。这一现状凸显了从理论原型到实践应用之间存在的显著差距。例如前面介绍的不同的应用范式都面临实际的问题需要解决。究其原因,大模型应用从研发到生产依然面临着一系列挑战。
大模型依赖存在不确定性
LLM 作为一种复杂的统计模型,其行为偶尔呈现出不可预知性,尤其在以下几个核心问题上表现突出:
- 模型效果不佳: 模型在处理复杂逻辑推理任务时能力欠佳,且由于知识库的局限性,面对新颖问题时回答质量不高。此外,随时间推移,模型漂移可能导致回答质量逐渐下滑。
- 性能与可靠性挑战: LLM 设计为无状态,完成一次回答需耗时超过十秒,复杂推理则更久。在高并发场景下,大型模型的请求容易引发限流,同时部分请求还可能偶发失败,影响服务稳定性。
- 可解释性和透明度不足: 模型的可解释性需要提供详尽的模型版本、参数配置及部署详情,以便用户更好地理解和验证模型输出的答案。
- 资源管理问题: 监控计算资源的负载与效率至关重要,因 LLM 系统在高峰期可能遭遇响应迟缓,并受限于 Token 计数的硬性约束,影响服务的连续性和效率。
LLM App 架构链路复杂
一个复杂的 LLM App 应用架构可能包含前端 UI 组件、认证模块、会话管理、对话服务、LLM 路由以及静态或者动态的流程编排。需要对接不同的 LLM 服务,需要借助 Moderation 和 Guarddrails 进行内容审查以及提示词防御。可能会调用外部工具或者服务来完成具体的操作,查询向量数据库来优化对话上下文或者长期记忆,通过对接缓存服务能够直接命中缓存降低对 LLM 的重复调用进而降低成本。可能会面临如下挑战:
- 不同应用的语言技术栈多样,技术框架多样,不同的大模型调用,如何低成本高质量的采集数据发现并定位线上问题?
- 如何监控大模型应用上线后,端到端全链路的性能以及业务质量,在性能下降或者报错时及时触发告警,第一时间保障用户体验?
- 如何标准化的记录输入输出,跟踪 Token 消耗、关键执行动作、结果状态,最终通过可视化的方式进行呈现并灵活分析?
- 应用编排框架屏蔽底层细节,Agent 逻辑复杂、使用的工具质量参差不齐,如何具备一定的白盒化能力进行根因定位?
- 如何记录线上实际效果表现数据,辅助分析、评估以及持续优化迭代 LLM 应用?
综上,LLM 应用存在复杂的应用链路拓扑、组件依赖以及大模型领域洞察,需要通过可观测能力来保障系统 SLA 以及终端用户使用体验。
LLM大模型应用可观测性工具最负盛名的就是Langsmith,这个工具跟Langchain兼容性很好,不过这个工具有一个缺点就是他是个云平台,不能本地部署,对国内的小伙伴来说就不太友好。
Langsmith是自信构建和部署 LLM 应用。用于调试、测试、评估和监控的统一平台。
Is Langfuse a Langsmith Alternative?
The answer is yes, Langfuse is an open-source alternative to Langsmith.
Langsmith可替代吗? 答案是肯定的,Langfuse是一个开源的框架,可平替Langsmith。
Lang Smith和Langfuse是大致相似的产品。它们提供LLM可观察性、分析、评估、测试和注释。
Langfuse和Langsmith的主要区别是什么
Langfuse是一个开源项目,而Lang Smith是一个闭源项目。
Lang Smith由Lang Chain团队开发,与Lang Chain框架集成得很好。虽然Langfuse也维护着Langchain集成,但如果你打算专门使用Langchain和Langgraph框架进行开发,你最好选择Langsmith。
Langfuse维护了大量与许多框架和库的集成。Langsmith专注于其Langchain集成。
Langfuse可以免费自托管,而Lang Smith需要购买才能自托管。
Langfuse和Langsmith和Langchain有关系吗?
不,Langfuse独立于Langsmith和Langchain。Langsmith是由开发开源Langchain LLM应用程序框架的同一家公司提供的商业产品。
虽然Langfuse与开源Langchain框架集成,但这两个组织是独立的,没有关系。Langfuse和Langsmith在同一个领域运作,都试图帮助开发人员改进和迭代他们的LLM应用程序。
你能自主控制Langsmith吗?
Langsmith可以自托管,但需要付费的企业许可证。它是一个闭源项目。
Langfuse可以自由自托管,并且是开源的。用户可以在自由和开源软件(FOSS)版本中自行托管Langfuse,同时还可以使用具有一些附加功能的付费企业版。
Langfuse与Langsmith的比较
独立咨询公司Astral Insights撰写了一份比较Langsmith和Langfuse的报告。你可以在这里找到它
Comparison of Observability Platforms: LangSmith & Langfuse - Astral Insights
Reddit上有一个帖子,用户在其中讨论Langsmith的替代品。
https://www.reddit.com/r/LangChain/comments/1b2y18p/langsmith_started_charging_time_to_compare/
另一个Reddit帖子讨论了Langsmith的免费替代品
https://www.reddit.com/r/LocalLLaMA/comments/1aujfiz/real_free_alternative_to_langsmith/
大家知道Langfuse什么含义了吧
感兴趣的同学可以自行去查看文档,至于是使用Langsmith 还是langfuse,自己根据项目应用情况,和两者的优劣势进行抉择,相信小伙伴都能找到最合适自己的LLM应用可观测工具。