什么是 Langfuse?
Langfuse 是一个开源的 LLM 工程平台,可帮助团队以协作方式调试、分析并持续迭代其 LLM 应用。它是 ClickHouse 生态系统的一部分,以 ClickHouse 作为核心,提供可扩展且高性能的可观测性后端。
凭借 ClickHouse 的列式存储和快速分析能力,Langfuse 能够以低延迟处理数十亿条链路追踪和事件,因此非常适合高吞吐的生产环境工作负载。
为什么选择 Langfuse?
- 开源: 完全开源,并提供用于自定义集成的公开 API
- 针对生产环境优化: 设计时将性能开销降至最低
- 一流的 SDKs: 提供适用于 Python 和 JavaScript 的原生 SDKs
- 框架支持: 可与 OpenAI SDK、LangChain 和 LlamaIndex 等主流框架集成
- 多模态: 支持对文本、图像及其他模态进行追踪
- 完整平台: 提供覆盖整个 LLM 应用开发生命周期的一整套工具
部署选项
Langfuse 提供灵活的部署选项,以满足不同的安全性和基础设施需求。
Langfuse Cloud 是一项全托管服务,由托管的 ClickHouse 集群提供支持,以实现最佳性能。它已通过 SOC 2 Type II 和 ISO 27001 认证,符合 GDPR 要求,并可在美国 (AWS us-west-2) 和欧洲 (AWS eu-west-1) 区域使用。
自托管 Langfuse 完全开源 (MIT 许可证) ,可通过 Docker 或 Kubernetes 免费部署在您自己的基础设施上。您可以运行自己的 ClickHouse 实例 (或使用 ClickHouse Cloud) 来存储可观测性数据,从而完全掌控您的数据。
架构
Langfuse 仅依赖开源组件,可部署在本地、云基础设施或私有化环境中:
- ClickHouse:存储高吞吐量的可观测性数据 (链路追踪、spans、generations、评分) ,支持快速聚合分析并为仪表盘提供支撑。
- Postgres:存储事务性数据,例如用户账户、项目配置和提示词定义。
- Redis:处理事件队列和缓存。
- S3/Blob Storage:存储大型载荷和原始事件数据。
flowchart TB
User["UI, API, SDKs"]
subgraph vpc["VPC"]
Web["Web Server<br/>(langfuse/langfuse)"]
Worker["Async Worker<br/>(langfuse/worker)"]
Postgres@{ img: "https://langfuse.com/images/logos/postgres_icon.svg", label: "Postgres - OLTP\n(Transactional Data)", pos: "b", w: 60, h: 60, constraint: "on" }
Cache@{ img: "https://langfuse.com/images/logos/redis_icon.png", label: "Redis\n(Cache, Queue)", pos: "b", w: 60, h: 60, constraint: "on" }
ClickHouse@{ img: "https://langfuse.com/images/logos/clickhouse_icon.svg", label: "ClickHouse - OLAP\n(Observability Data)", pos: "b", w: 60, h: 60, constraint: "on" }
S3@{ img: "https://langfuse.com/images/logos/s3_icon.svg", label: "S3 / Blob Storage\n(Raw events, multi-modal attachments)", pos: "b", w: 60, h: 60, constraint: "on" }
end
LLM["LLM API/Gateway<br/>(optional; BYO; can be same VPC or VPC-peered)"]
User --> Web
Web --> S3
Web --> Postgres
Web --> Cache
Web --> ClickHouse
Web -..->|"optional for playground"| LLM
Cache --> Worker
Worker --> ClickHouse
Worker --> Postgres
Worker --> S3
Worker -..->|"optional for evals"| LLM
功能
可观测性
可观测性 对于理解和调试 LLM 应用至关重要。与传统软件不同,LLM 应用涉及复杂的非确定性交互,因此更难监控和调试。Langfuse 提供了全面的链路追踪能力,帮助你准确了解应用中到底发生了什么。
📹 想了解更多?观看 Langfuse 可观测性的端到端演示,了解如何将其集成到你的应用中。
链路追踪可让你跟踪应用中的每一次 LLM 调用以及其他相关逻辑。
会话可让你跟踪多轮对话或智能体工作流。
通过查看时间线视图来排查延迟问题。
添加你自己的 userId,以监控每位用户的成本和用量。你还可以选择在自己的系统中创建指向该视图的深度链接。
可将 LLM agent 可视化为图,以展示复杂智能体工作流的流程。
在仪表板中查看质量、成本和延迟指标,以监控你的 LLM 应用。
提示词管理
提示词管理是构建高效 LLM 应用的关键环节。Langfuse 提供了一系列工具,帮助你在整个开发生命周期内管理、版本化和优化提示词。
📹 想进一步了解?可观看 端到端演示,了解 Langfuse 提示词管理以及如何将其集成到你的应用中。
通过 UI、SDKs 或 API 创建新的提示词。
通过 UI、API 或 SDKs 协作管理提示词版本并进行编辑。
通过标签将提示词部署到生产环境或其他任意环境中,无需修改代码。
比较不同提示词版本在延迟、成本和评估指标方面的表现。
立即在 Playground 中测试你的提示词。
将提示词与链路追踪关联起来,以了解它们在你的 LLM 应用上下文中的表现。
跟踪提示词的变更,了解它们如何随时间演变。
评估与数据集
评估对于确保 LLM 应用的质量和可靠性至关重要。Langfuse 提供灵活的评估工具,可根据你的具体需求进行调整,无论你是在开发阶段测试,还是监控生产环境中的性能。
📹 想了解更多?观看端到端演示,了解 Langfuse Evaluation 以及如何用它改进你的 LLM 应用。
在 Langfuse 仪表板 中查看评估结果图表。
收集用户反馈。可通过我们的 Browser SDK 在前端采集,也可通过 SDKs 或 API 在服务端采集。视频中包含示例应用。
在生产或开发 trace 上运行全托管的 LLM-as-a-judge 评估。它可应用于应用中的任意步骤,以支持分步骤评估。
直接在用户界面中基于数据集评估提示词和模型。无需编写自定义代码。
通过 Annotation Queues 中的人工标注,为评估工作流打下基础。
添加自定义评估结果;支持数值、布尔和分类值。
POST /api/public/scores通过 Python 或 JS SDK 添加评分。
langfuse.score(
trace_id="123",
name="my_custom_evaluator",
value=0.5,
)快速入门
几分钟内即可开始使用 Langfuse。选择最适合您当前需求的路径: