Langfuse 是一个开源 LLM 工程平台。它帮助团队协作开发、监控、评估和调试 AI 应用。Langfuse 可以在几分钟内完成自托管,并且经过实战检验。
LLM 应用可观测性:为你的应用添加插桩,开始向 Langfuse 发送追踪数据,从而跟踪 LLM 调用以及应用中的其他相关逻辑,如检索、嵌入或智能体操作。检查和调试复杂的日志和用户会话。尝试交互式演示以查看实际效果。
提示词管理帮助你集中管理、版本控制和协作迭代你的提示词。得益于服务器和客户端的强大缓存,你可以在不增加应用延迟的情况下迭代提示词。
评估是 LLM 应用开发工作流的关键,Langfuse 适应你的需求。它支持 LLM 作为评判器、用户反馈收集、手动标注以及通过 API/SDK 的自定义评估流水线。
数据集为评估你的 LLM 应用提供测试集和基准。它们支持持续改进、部署前测试、结构化实验、灵活评估,并与 LangChain 和 LlamaIndex 等框架无缝集成。
LLM 游乐场是一个用于测试和迭代你的提示词和模型配置的工具,缩短反馈循环并加速开发。当你在追踪中看到不理想的结果时,可以直接跳转到游乐场进行迭代。
全面的 API:Langfuse 经常被用来支持定制的 LLMOps 工作流,同时通过 API 使用 Langfuse 提供的构建模块。提供 OpenAPI 规范、Postman 集合以及适用于 Python、JS/TS 的类型化 SDK。
由 Langfuse 团队管理的部署,提供慷慨的免费套餐,无需信用卡。
在你自己的基础设施上运行 Langfuse:
```bash
# 获取最新的 Langfuse 仓库副本
git clone https://github.com/langfuse/langfuse.git
cd langfuse
# 运行 langfuse docker compose
docker compose up
```
查看自托管文档以了解更多关于架构和配置选项的信息。
| 集成 | 支持 | 描述 |
|---|---|---|
| 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 | 专为帮助开发者使用 React、Next.js、Vue、Svelte、Node.js 构建 AI 应用而设计的 TypeScript 工具包。 |
| Mastra | JS/TS | 用于构建 AI 智能体和多智能体系统的开源框架。 |
| API | 直接调用公共 API。提供 OpenAPI 规范。 |
| 名称 | 类型 | 描述 |
|---|---|---|
| Instructor | 库 | 用于获取结构化 LLM 输出(JSON, Pydantic)的库 |
| DSPy | 库 | 系统化优化语言模型提示词和权重的框架 |
| Mirascope | 库 | 用于构建 LLM 应用的 Python 工具包。 |
| Ollama | 模型 (本地) | 轻松在你自己的机器上运行开源 LLMs。 |
| Amazon Bedrock | 模型 | 在 AWS 上运行基础模型和微调模型。 |
| AutoGen | 智能体框架 | 用于构建分布式智能体的开源 LLM 平台。 |
| Flowise | 聊天/智能体 UI | 用于定制化 LLM 流程的 JS/TS 无代码构建器。 |
| Langflow | 聊天/智能体 UI | 基于 Python 的 LangChain UI,使用 react-flow 设计,提供了一种轻松实验和原型化流程的方式。 |
| Dify | 聊天/智能体 UI | 带有无代码构建器的开源 LLM 应用开发平台。 |
| OpenWebUI | 聊天/智能体 UI | 自托管的 LLM 聊天 Web UI,支持各种 LLM 运行器,包括自托管和本地模型。 |
| Promptfoo | 工具 | 开源 LLM 测试平台。 |
| LobeChat | 聊天/智能体 UI | 开源聊天机器人平台。 |
| Vapi | 平台 | 开源语音 AI 平台。 |
| Inferable | 智能体 | 用于构建分布式智能体的开源 LLM 平台。 |
| Gradio | 聊天/智能体 UI | 用于构建 Web 界面(如聊天 UI)的开源 Python 库。 |
| Goose | 智能体 | 用于构建分布式智能体的开源 LLM 平台。 |
| smolagents | 智能体 | 开源 AI 智能体框架。 |
| CrewAI | 智能体 | 用于智能体协作和工具使用的多智能体框架。 |
为你的应用添加插桩,开始向 Langfuse 发送追踪数据,从而跟踪 LLM 调用以及应用中的其他相关逻辑,如检索、嵌入或智能体操作。检查和调试复杂的日志和用户会话。
@observe() 装饰器 使得追踪任何 Python LLM 应用变得容易。在这个快速开始中,我们还使用 Langfuse OpenAI 集成 来自动捕获所有模型参数。
[!TIP]
不使用 OpenAI?访问 我们的文档 了解如何记录其他模型和框架。
pip install langfuse openai
```bash filename=".env"
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_BASE_URL="https://cloud.langfuse.com" # 🇪🇺 欧盟区域
```python /@observe()/ /from langfuse.openai import openai/ filename="main.py"
from langfuse 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 中查看你的语言模型调用和其他应用逻辑。
[!TIP]
寻找问题的答案:
支持渠道:
欢迎你的贡献!
除 ee 文件夹外,此仓库采用 MIT 许可证。更多详情请参阅 LICENSE 和文档。
我们在基于 Linux Alpine 镜像 (来源) 的 Docker 容器中部署此代码库。你可以在 web/Dockerfile 和 worker/Dockerfile 中找到 Dockerfile。
使用 Langfuse 的顶级开源 Python 项目,按星标数排名 (来源):
| 仓库 | 星标数 |
|---|---|
| 116251 | |
| 109642 | |
| 70877 | |
| 65454 | |
| 64118 | |
| 56713 | |
| 44203 | |
| 43547 | |
| 38415 | |
| 38012 | |
| 36071 | |
| 35669 | |
| 33142 | |
| 28726 | |
| 22447 | |
| 21748 | |
| 17976 | |
| 17057 | |
| 16484 | |
| 16054 | |
| 11868 | |
| 8350 | |
| 8313 | |
| 7093 | |
| 7011 | |
| 6785 | |
| 6231 | |
| 6019 | |
| 4873 | |
| 4654 | |
| 4165 | |
| 3557 | |
| 3517 | |
| 3210 | |