大型语言模型(LLM)应用调试:Langfuse 本地化部署与集成指南
随着 LLM 应用的不断成熟,特别是在 B 端企业场景中的逐渐落地,其不再停留在原型与验证阶段,将面临着更高的工程化要求。无论是输出的稳定性、性能、以及成本控制等,都需要实现真正的'生产就绪'。但由于大量的应用基于 LangChain、LlamaIndex 等框架开发,更多的抽象与封装使得应用难以跟踪与调试。因此,借助一个独立且侵入性较小的工程化平台来捕获 LLM 应用内部细节,帮助排障、优化与测试是很有必要的。
本文将介绍如何使用开源的 LLM 应用工程化平台 Langfuse。与在线且收费的 LangSmith 不同,Langfuse 支持完全本地化部署与使用,与应用集成也很简单。
一、快速本地化部署
Langfuse 是一个开源的 LLM 应用的工程平台,可以帮助开发者及团队进行集中、在线、协作的 LLM 应用跟踪调试、分析与测试评估。主要功能包括:
- 跟踪调试:跟踪应用执行过程、上下文、LLM 调用与成本、用户反馈等。
- 提示管理:集中的 Prompt 模板创建、维护与版本管理。
- 监控分析:调用统计、模型使用、tokens 成本、响应延迟、评分统计等。
- 测试评估:基于 LLM 与用户反馈的评估,包括质量、风格、内容安全。
方法一:Docker Compose 快速启动
适合个人开发者、对数据保存要求不高的开发团队。这种模式下会自动启动 Postgres 的独立 Docker,只需三步:
# 下载代码
git clone https://github.com/langfuse/langfuse.git
# 进入代码目录
cd langfuse
# 一键获取并启动 docker 容器
docker compose up
方法二:独立数据库 + Docker Run
适合有更高数据保存要求的开发团队,或者有现成的 Postgres 数据库。这种模式下,需要首先自行安装并启动 Postgres 数据库。如果还没有 Postgres,可进入官网下载、安装并配置启动。记录下数据库的连接 URL。然后执行以下命令:
# 拉取最新镜像
docker pull langfuse/langfuse:latest
# 注意替换这里的 DATABASE_URL 为你的 postgres url
docker run --name langfuse \
-e DATABASE_URL=postgresql://hello \
-e NEXTAUTH_URL=http://localhost:3000 \
-e NEXTAUTH_SECRET=mysecret \
-e SALT=mysalt \
-p 3000:3000 \
-a STDOUT \
langfuse/langfuse
方法三:本地开发部署
除非你需要对 Langfuse 做个性化定制,或者使用 Langfuse 展开商业运营,否则不建议采用这种方式。具体请参考项目中 CONTRIBUTING.md 文件说明。
健康检查与测试
完成部署后,运行如下命令进行健康检查:
# 健康测试,在本机运行
curl http://localhost:3000/api/public/health
登录 Langfuse UI 使用。访问如下地址,登录 Langfuse 的管理 UI,出现登录界面就大功告成:
http://你的服务器地址:3000/
常见问题排查
- 容器启动失败:检查网络是否连通;3000 端口是否被占用;数据库是否正常。


