🪢 Open source LLM engineering platform: LLM Observability, metrics, evals, prompt management, playground, datasets. Integrates with OpenTelemetry, Langchain, OpenAI SDK, LiteLLM, and more. 🍊YC W23
Langfuse 是一个 开源 LLM 工程 平台。它帮助团队协作 开发、监控、评估 以及 调试 AI 应用。Langfuse 可在几分钟内 自托管,并且经过 实战考验。
LLM 应用可观察性:为你的应用插入仪表代码,并开始将追踪数据传送到 Langfuse,从而追踪 LLM 调用及应用中其他相关逻辑(如检索、嵌入或代理操作)。检查并调试复杂日志及用户会话。试试互动的 演示 看看效果。
提示管理 帮助你集中管理、版本控制并协作迭代提示。得益于服务器和客户端的高效缓存,你可以在不增加延迟的情况下反复迭代提示。
评估 是 LLM 应用开发流程的关键组成部分,Langfuse 能够满足你的多样需求。它支持 LLM 作为“裁判”、用户反馈收集、手动标注以及通过 API/SDK 实现自定义评估流程。
数据集 为评估你的 LLM 应用提供测试集和基准。它们支持持续改进、部署前测试、结构化实验、灵活评估,并能与 LangChain、LlamaIndex 等框架无缝整合。
LLM 试玩平台 是用于测试和迭代提示及模型配置的工具,缩短反馈周期,加速开发。当你在追踪中发现异常结果时,可以直接跳转至试玩平台进行调整。
综合 API:Langfuse 常用于驱动定制化的 LLMOps 工作流程,同时利用 Langfuse 提供的构建模块和 API。我们提供 OpenAPI 规格、Postman 集合以及针对 Python 和 JS/TS 的类型化 SDK。
由 Langfuse 团队管理的部署,提供慷慨的免费额度(爱好者计划),无需信用卡。
在你自己的基础设施上运行 Langfuse:
本地(docker compose):使用 Docker Compose 在你的机器上于 5 分钟内运行 Langfuse。
# 获取最新的 Langfuse 仓库副本
git clone https://github.com/langfuse/langfuse.git
cd langfuse
# 运行 Langfuse 的 docker compose
docker compose up
Kubernetes(Helm):使用 Helm 在 Kubernetes 集群上部署 Langfuse。这是推荐的生产环境部署方式。
虚拟机:使用 Docker Compose 在单台虚拟机上部署 Langfuse。
【计划中】:针对各云平台的部署指南,欢迎在以下讨论中投票和评论:AWS、Google Cloud、Azure。
请参阅 自托管文档 了解更多关于架构和配置选项的信息。
集成 | 支持语言/平台 | 描述 |
---|---|---|
SDK | Python, JS/TS | 使用 SDK 进行手动仪表化,实现全面灵活性。 |
OpenAI | Python, JS/TS | 通过直接替换 OpenAI SDK 实现自动仪表化。 |
Langchain | Python, JS/TS | 通过传入回调处理器至 Langchain 应用实现自动仪表化。 |
LlamaIndex | Python | 通过 LlamaIndex 回调系统实现自动仪表化。 |
Haystack | Python | 通过 Haystack 内容追踪系统实现自动仪表化。 |
LiteLLM | Python, JS/TS (仅代理) | 允许使用任何 LLM 替代 GPT。支持 Azure、OpenAI、Cohere、Anthropic、Ollama、VLLM、Sagemaker、HuggingFace、Replicate(100+ LLMs)。 |
Vercel AI SDK | JS/TS | 基于 TypeScript 的工具包,帮助开发者使用 React、Next.js、Vue、Svelte 和 Node.js 构建 AI 驱动的应用。 |
API | 直接调用公共 API。提供 OpenAPI 规格。 |
名称 | 类型 | 描述 |
---|---|---|
Instructor | 库 | 用于获取结构化 LLM 输出(JSON、Pydantic)的库。 |
DSPy | 库 | 一个系统性优化语言模型提示和权重的框架。 |
Mirascope | 库 | 构建 LLM 应用的 Python 工具包。 |
Ollama | 模型(本地) | 在你的机器上轻松运行开源 LLM。 |
Amazon Bedrock | 模型 | 在 AWS 上运行基础模型和微调模型。 |
AutoGen | 代理框架 | 用于构建分布式代理的开源 LLM 平台。 |
Flowise | 聊天/代理界面 | 基于 JS/TS 的无代码构建器,用于定制化 LLM 流程。 |
Langflow | 聊天/代理界面 | 基于 Python 的 LangChain 用户界面,采用 react-flow 设计,提供便捷的实验与原型构建体验。 |
Dify | 聊天/代理界面 | 带有无代码构建器的开源 LLM 应用开发平台。 |
OpenWebUI | 聊天/代理界面 | 自托管的 LLM 聊天网页界面,支持包括自托管和本地模型在内的多种 LLM 运行器。 |
Promptfoo | 工具 | 开源 LLM 测试平台。 |
LobeChat | 聊天/代理界面 | 开源聊天机器人平台。 |
Vapi | 平台 | 开源语音 AI 平台。 |
Inferable | 代理 | 构建分布式代理的开源 LLM 平台。 |
Gradio | 聊天/代理界面 | 开源 Python 库,可用于构建类似聊天 UI 的网页界面。 |
Goose | 代理 | 构建分布式代理的开源 LLM 平台。 |
smolagents | 代理 | 开源 AI 代理框架。 |
CrewAI | 代理 | 多代理框架,用于实现代理之间的协作与工具调用。 |
为你的应用增加仪表代码,并开始将追踪数据上传到 Langfuse,从而记录 LLM 调用及应用中其他相关逻辑(如检索、嵌入或代理操作)。
使用 @observe()
装饰器 可轻松跟踪任何 Python LLM 应用。在本快速入门中,我们还使用了 Langfuse 的 OpenAI 集成 来自动捕获所有模型参数。
[!提示]
不使用 OpenAI?请访问 我们的文档 了解如何记录其他模型和框架。
安装依赖:
pip install langfuse openai
配置环境变量(创建名为 .env 的文件):
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_HOST="https://cloud.langfuse.com" # 🇪🇺 欧盟区域
# LANGFUSE_HOST="https://us.cloud.langfuse.com" # 🇺🇸 美洲区域
创建示例代码(文件名:main.py):
from langfuse.decorators import observe
from langfuse.openai import openai # OpenAI 集成
@observe()
def story():
return openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "What is Langfuse?"}],
).choices[0].message.content
@observe()
def main():
return story()
main()
在 Langfuse 中查看你的语言模型调用及其他应用逻辑。
[!提示]
查找问题答案:
支持渠道:
欢迎你的贡献!
除 ee
文件夹外,本仓库采用 MIT 许可证。详情请参见 LICENSE 以及 文档。
以下是使用 Langfuse 的顶级开源 Python 项目,按星标数排名(来源):
我们非常重视数据安全和隐私。更多信息请参阅我们的 安全与隐私 页面。
默认情况下,Langfuse 会自动将自托管实例的基础使用统计数据上传至集中服务器(PostHog)。
这有助于我们:
所有数据均不会与第三方共享,也不包含任何敏感信息。我们对这一过程保持高度透明,你可以在 此处 查看我们收集的具体数据。
你可以通过设置 TELEMETRY_ENABLED=false
来选择退出。