一、Langfuse是什么
Langfuse是一个开源的LLM(大型语言模型)工程平台,由Langfuse公司开发。它旨在帮助用户更好地管理、调试和优化他们的LLM应用程序。Langfuse的核心产品包括追踪、可观察性、评估、提示管理和API/SDK等。作为一款开源项目,Langfuse能够解决数据安全和隐私问题,用户可以选择自行托管。它适用于希望对LLM应用程序进行迭代和改进的企业和个人开发者。
Langfuse的主要功能和特点
Langfuse的核心功能包括:
- 追踪(Tracing):捕获LLM应用程序的完整上下文。
- 可观察性(Observability):通过客户端SDKs和集成,模型和框架无关,能够捕获执行的全貌。
- 评估(Evals):帮助用户构建丰富的应用性能数据集,用于后续的微调、调试等。
- 提示管理(Prompt Management):管理LLM应用程序中的提示。
- API/SDK:提供Python、JS/TS等语言的SDK,以及手动 instrumentation。
Langfuse的独特之处在于其开源特性,以及能够帮助用户持续迭代和改进LLM应用程序的能力。
如何使用Langfuse
用户可以通过以下步骤使用Langfuse:
- 注册Langfuse并获取公钥和私钥。
- 使用Langfuse提供的客户端SDKs和集成,如Python Decorator、JS/TS、LLama Index、LangChain、OpenAI SDK等。
- 通过SDKs捕获LLM应用程序的完整上下文,包括推理、嵌入检索、API使用等。
- 构建应用程序性能数据集,用于微调、调试等。
- 使用Langfuse提供的仪表板、分析和统计数据来优化LLM应用程序。

二、安装
使用docker compose在5分钟内在您自己的计算机上运行Langfuse。
获取最新Langfuse存储库的副本
git clone https://github.com/langfuse/langfuse.git
cd langfuse
运行langfuse docker compose
docker compose up
运行完成后,访问3000端口

Langfuse 没有预设的默认用户密码,需要新注册一个用户,这个用户,就是管理员。
输入用户名和密码

注册成功后,登录

登录完成后,效果如下:

注意:Langfuse默认是英文的,不支持中文。
点击新建组织dify

点击下一步

输入项目名dify-llm

创建api key

这里会显示secret_key,public_key,host,注意复制一下,等会对接dify会用到。

三、dify对接
进入dify,随便找一个工作流,点击监测

点击右上角的箭头,点击Langfuse,配置

输入上面的secret_key,public_key,host

确保dify和Langfuse网络通讯没问题,提示成功

在dify页面,调用工作流

四、Langfuse查看
追踪
点击tracing,找到刚才dify调用的

点击这条消息,这里可以看到工作流的执行情况。
左边显示的是工作流,可以看到执行了5个步骤
右边可以看到输入参数,最后的执行结果。

这里的每一个步骤,都可以看到详细信息

分析仪表盘
点击home,可以看到总体的一些信息。
它展示很多有用的分析与统计指标,包括Trace的统计、模型成本分析、评分统计、不同类型环节的响应延迟等,非常适合用来帮助应用优化

以上只是演示了1个工作流,如果你的dify有很多工作流,都可以接入到Langfuse,对每个工作流进行设置监测即可。
通过仪表盘,就可以看到所有dify工作流的调用情况,方便统计一些数据。比如调用次数,模型tokens消耗等等。
注意:dify社区版没有仪表盘功能,企业版是有的。