AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAG应用过程监控系统选型:LangFuse
发布日期:2024-09-07 07:22:49 浏览次数: 1593





Langfuse 是一个开源 LLM 工程平台,可帮助团队协作调试、分析和迭代他们的 LLM 应用程序。

1、概述:核心平台功能

发展

  • 可观察性:检测你的应用并开始将跟踪信息导入 Langfuse(快速入门跟踪

    • 跟踪应用程序中的所有 LLM 调用和所有其他相关逻辑

    • 适用于 Python 和 JS/TS 的异步 SDK

    • @observe()Python 的装饰器

    • OpenAI SDK、Langchain、LlamaIndex、LiteLLM、Flowise 和 Langflow 的集成

    • API(在新标签页中打开)

  • Langfuse UI:检查和调试复杂日志和用户会话(演示跟踪会话

  • 提示管理:在 Langfuse 内部管理、版本控制和部署提示(提示管理

  • 提示工程:使用LLM Playground测试和迭代您的提示

监视器

  • 分析:跟踪指标(LLM 成本、延迟、质量)并从仪表板和数据导出中获取见解(分析每日指标 API

  • 评估:收集并计算您的法学硕士 (LLM) 成绩(分数和评估

    • 在 Langfuse 中运行基于模型的评估

    • 收集用户反馈

    • 在 Langfuse 中注释观察结果

测试

  • 实验:在部署新版本之前跟踪和测试应用行为

    • 数据集可让您在部署之前测试预期的输入和输出对以及基准性能

    • 跟踪应用程序中的版本和发布(实验及时管理


为什么选择 Langfuse?

  • 开源

  • 与模型和框架无关

  • 为生产而构建

  • 逐步采用 - 从单个 LLM 调用或集成开始,然后扩展到复杂链/代理的完整跟踪

  • 使用 GET API 构建下游用例


构建 LLM 应用程序的挑战以及 Langfuse 如何提供帮助

在实现流行的 LLM 用例(例如检索增强生成、使用内部工具和 API 的代理或背景提取/分类作业)时,开发人员面临着一系列不同于传统软件工程的独特挑战:

跟踪和控制流许多有价值的 LLM 应用程序依赖于对基础模型的复杂、重复、链式或代理调用。这使得调试这些应用程序变得困难,因为很难在扩展的控制流中找出问题的根本原因。

使用 Langfuse,可以轻松捕获 LLM 应用程序的完整上下文。我们的客户端 SDK 和集成与模型和框架无关,能够捕获执行的完整上下文。用户通常跟踪 LLM 推理、嵌入检索、API 使用情况以及与内部系统的任何其他交互,以帮助查明问题。Langchain 等框架的用户受益于自动化检测,否则 SDK 提供了一种符合人体工程学的方式来定义 Langfuse 要跟踪的步骤。

输出质量在传统软件工程中,开发人员习惯于测试是否存在异常以及是否符合测试用例。基于 LLM 的应用程序是不确定的,而且很少有严格的质量评估标准。了解应用程序的质量(尤其是大规模应用程序的质量)以及“良好”的评估是什么样的是一项主要挑战。托管模型的变更超出了用户的控制范围,这加剧了这个问题。

使用 Langfuse,用户可以将分数附加到生产轨迹(甚至是其中的子步骤)上,以便更接近于测量质量。根据用例,这些分数可以基于基于模型的评估、用户反馈、手动标记或其他隐式数据信号。然后,当想要了解部署到生产中的更改的影响时,可以使用这些指标来监控特定用户和应用程序版本/发布随时间推移的质量。

混合意图许多 LLM 应用程序不会严格限制用户输入。对话式和代理式应用程序通常会处理千差万别的输入和用户意图。这带来了一个挑战:团队使用自己的思维模型构建和测试他们的应用程序,但现实世界的用户通常有不同的目标,并导致许多令人惊讶和意想不到的结果。

使用 Langfuse,用户可以将输入分类为应用程序的一部分,并获取这些额外的上下文,以便稍后深入分析用户行为。

Langfuse 开发生命周期中的功能

2、LLM 应用程序追踪

LLM 应用程序使用越来越复杂的抽象,例如链、带有工具的代理和高级提示。Langfuse 中的嵌套跟踪有助于了解正在发生的事情并确定问题的根本原因。

为什么要对 LLM 应用程序使用追踪?

  • 捕获执行的完整上下文,包括 API 调用、上下文、提示、并行性等

  • 跟踪模型使用情况和成本

  • 收集用户反馈

  • 识别低质量输出

  • 构建微调和测试数据集

为什么选择 Langfuse?

  • 开源

  • 低性能开销

  • Python 和 JavaScript 的 SDK

  • 与流行框架集成:OpenAI SDK (Python)、Langchain (Python、JS)、LlamaIndex (Python)

  • 用于自定义集成的公共 API

  • 适用于整个 LLM 应用程序开发生命周期的工具套件


3、Langfuse 中的 Trace 简介

Langfuse 中的跟踪由以下对象组成:

  • 通常trace表示单个请求或操作。它包含函数的整体输入和输出,以及有关请求的元数据,例如用户、会话和标签。

  • 每个跟踪可以包含多个observations来记录执行的各个步骤。

    • Events是基本构建块。它们用于跟踪踪迹中的离散事件。

    • Spans表示跟踪中工作单元的持续时间。

    • Generations是用于记录 AI 模型代数的跨度。它们包含有关模型、提示和完成度的其他属性。对于代数,会自动计算代币使用情况和成本。

    • 观察有多种类型:

    • 观察可以嵌套。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询