Langfuse 使用介绍:功能、价格与上手指南
Langfuse 是一个开源的 LLM 工程平台,提供追踪、评估、提示词管理和数据集功能,帮助开发者构建可靠的 AI 应用。本文介绍其核心功能、价格方案和快速上手指南,并以 Python 为例演示如何集成 Langfuse 进行 LLM 调用追踪。
在构建 LLM 应用时,开发者常面临可见性不足的问题:调用链不透明、提示词版本混乱、输出质量难以量化。Langfuse 正是为解决这些问题而生的开源 LLM 工程平台。本文将从功能、价格到上手实践,带你全面了解 Langfuse。
Langfuse 是什么?
Langfuse 是一个面向 LLM 应用的可观测性与开发平台。它帮助团队追踪每一次模型调用、管理提示词版本、评估输出质量,并通过数据集进行实验。Langfuse 提供云托管服务和自托管两种方式,核心代码开源。
Langfuse 核心功能
1. LLM 追踪(Tracing)
Langfuse 可以记录完整的调用链,包括:
- 每次 LLM 请求的输入、输出、耗时和成本
- 嵌套的 span,展示函数调用和检索步骤
- 关联的元数据(用户 ID、会话 ID、标签)
通过追踪视图,你可以直观看到每个请求的完整生命周期,快速定位延迟瓶颈或错误。
2. 提示词管理(Prompt Management)
Langfuse 提供集中的提示词仓库:
- 版本控制:每次修改自动生成新版本
- 标签与部署:通过标签(如 production、staging)指定使用版本
- 动态获取:代码中按名称拉取提示词,无需硬编码
这样,产品和运营人员也能参与提示词优化,无需修改代码。
3. 评估(Evaluation)
评估是保证 LLM 输出质量的关键。Langfuse 支持:
- 人工标注:在界面中对输出打分、评论
- 自动评估:集成 LLM-as-a-judge 或自定义评估函数
- 数据集运行:在固定数据集上批量测试提示词或模型
4. 数据集与实验
你可以将生产中的真实请求保存为数据集,用于回归测试。每次修改提示词或切换模型后,可在数据集上运行实验,比较不同版本的表现。
5. 集成与 SDK
Langfuse 提供 Python、JavaScript/TypeScript SDK,并支持与 OpenAI、LangChain、LlamaIndex 等框架集成。只需几行代码即可接入。
Langfuse 价格
Langfuse 采用免费增值模式,主要分为以下方案:
| 方案 | 价格 | 主要限制 |
|---|---|---|
| Hobby | 免费 | 50k 事件/月,30 天数据保留 |
| Pro | $59/月起 | 100k 事件/月,90 天保留,团队协作 |
| Enterprise | 定制 | 无限事件,自托管,SSO,SLA |
| 自托管 | 免费 | 自行部署,功能完整 |
注意:价格可能调整,请以官网为准。对于早期项目,Hobby 方案足够;生产环境建议 Pro 或自托管。
上手指南:快速集成 Langfuse
以下以 Python 为例,演示如何追踪一次 OpenAI 调用。
步骤 1:安装 Langfuse
pip install langfuse
步骤 2:配置环境变量
在 Langfuse 云平台创建项目,获取 API Key,然后设置:
export LANGFUSE_PUBLIC_KEY="pk-lf-..."
export LANGFUSE_SECRET_KEY="sk-lf-..."
export LANGFUSE_HOST="https://cloud.langfuse.com"
步骤 3:使用 SDK 追踪
from langfuse import Langfuse
from langfuse.openai import openai
langfuse = Langfuse()
# 使用 Langfuse 包装的 OpenAI 客户端
response = openai.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "你好,介绍一下 Langfuse"}],
metadata={"user_id": "user_123"}
)
print(response.choices[0].message.content)
运行后,登录 Langfuse 控制台,即可看到这次调用的详细信息,包括耗时、token 消耗和成本。
步骤 4:使用提示词管理
在 Langfuse 界面创建提示词 my-prompt,然后在代码中获取:
prompt = langfuse.get_prompt("my-prompt")
compiled = prompt.compile(name="张三")
print(compiled)
步骤 5:创建数据集与评估
将生产中的 trace 添加到数据集,或手动上传。然后运行评估:
from langfuse import Evaluation
# 伪代码:在数据集上运行评估
evaluation = Evaluation(dataset="my-dataset")
results = evaluation.run(
task=lambda item: my_llm_function(item.input),
evaluators=["correctness", "toxicity"]
)
print(results)
常见问题
Langfuse 是否支持自托管? 是的,Langfuse 开源,可通过 Docker 自行部署,数据完全自主控制。
Langfuse 与 LangSmith 有什么区别? Langfuse 开源且支持自托管,价格更灵活;LangSmith 与 LangChain 生态集成更紧密。两者都提供追踪、评估和提示词管理。
是否必须使用 OpenAI? 不,Langfuse 支持任何 LLM 提供商,包括 Anthropic、Cohere、本地模型等。
结论
Langfuse 为 LLM 应用开发提供了强大的可观测性工具集,从追踪、提示词管理到评估和数据集,覆盖了迭代优化的完整闭环。其免费起步的定价和开源特性,使其成为个人开发者和企业团队的理想选择。如果你正在构建 AI 应用,不妨从 Hobby 方案开始,体验 Langfuse 带来的透明与效率。