📢gitzw.com上线了,功能陆续更新中,如有问题或反馈请在下方反馈/建议中给我们留言。
Langfuse:解锁LLM工程平台的潜力

Langfuse:解锁LLM工程平台的潜力

📌 本文速览

Langfuse是一款开源的LLM工程平台,帮助团队协同开发、监控、评估和调试AI应用。通过Langfuse,您可以实现LLM应用的可观察性、提示管理、评估和数据集管理。这个教程将指导您如何安装、使用和定制Langfuse,解决您在LLM应用开发中的痛点。

🎯 进阶📖 9 章⏱ ≈25 分钟读完🔄 更新于 2026-07-09
源项目:github.com/langfuse/langfuse★ 30,752

1. 还在手写LLM代码?Langfuse帮你简化开发流程

我们先来了解一下Langfuse是什么,以及它能帮助我们解决什么问题。Langfuse是一个开源的LLM工程平台,它可以帮助团队协同开发、监控、评估和调试AI应用。通过使用Langfuse,我们可以简化开发流程,提高效率。

要开始使用Langfuse,我们需要先部署它。Langfuse提供了几种部署方式,包括Langfuse Cloud、Self-Host等。我们可以根据自己的需要选择合适的部署方式。

如果我们选择Self-Host方式,我们可以使用Docker Compose在自己的机器上运行Langfuse。首先,我们需要克隆Langfuse的仓库:

git clone --depth=1 https://github.com/langfuse/langfuse.git
cd langfuse

然后,我们可以使用以下命令运行Langfuse:

docker compose up

这将启动Langfuse的容器,并使其在我们的机器上运行。

预期结果是,我们可以在浏览器中访问Langfuse的界面,并开始使用其功能。

如果我们遇到问题,可以检查Docker Compose的日志来排查错误。我们也可以参考Langfuse的文档来获取更多的帮助。

完成后你已经得到了一个运行在自己机器上的Langfuse实例,你可以开始使用它来开发和调试你的LLM应用。

本章小结

  • 了解了Langfuse的基本概念和功能
  • 学习了如何使用Docker Compose部署Langfuse
  • 知道了如何启动Langfuse容器并访问其界面
  • 了解了如何排查错误和获取帮助

2. 快速上手Langfuse:从零开始到部署

我们要从零开始部署 Langfuse,目标是快速上手 Langfuse 并将其部署到我们的环境中。为了开始这一过程,我们需要确保自己具备基本的 Docker 和 Git 知识,并且有一个可用的 Docker 环境。

首先,我们需要获取 Langfuse 的最新代码仓库。我们可以通过 Git 克隆 Langfuse 的仓库到我们的本地机器上。打开终端,输入以下命令:

git clone --depth=1 https://github.com/langfuse/langfuse.git

这将下载 Langfuse 仓库的最新版本到我们的本地机器上。接着,我们需要切换到刚刚克隆的仓库目录:

cd langfuse

现在,我们可以使用 Docker Compose 来启动 Langfuse。输入以下命令:

docker compose up

这个命令将启动 Langfuse 的 Docker 容器,并使其在我们的本地机器上运行。启动过程可能需要几分钟时间,具体取决于我们的网络速度和机器配置。

如果我们遇到任何问题或错误,可以查看 Langfuse 的自托管文档,了解更多关于架构和配置选项的信息。另外,我们也可以查看 Langfuse 的 GitHub 讨论区,获取社区的支持和帮助。

完成后你已经得到了一个运行在本地机器上的 Langfuse 实例,可以开始探索 Langfuse 的功能和特性。

本章小结

  • 我们学习了如何从零开始部署 Langfuse。
  • 我们使用 Git 克隆了 Langfuse 的仓库,并使用 Docker Compose 启动了 Langfuse。
  • 我们了解了如何查看 Langfuse 的自托管文档和 GitHub 讨论区,以获取更多帮助和支持。

3. LLM应用可观察性:如何使用Langfuse进行监控和调试

本章我们要解决的问题是如何使用Langfuse进行LLM应用的监控和调试。通过Langfuse,我们可以实现LLM应用的可观察性,实时监控LLM调用和其他相关逻辑,并且可以对复杂的日志和用户会话进行调试。

在开始之前,我们需要确保已经完成了Langfuse的部署,可以是Langfuse Cloud或者自托管的Langfuse。同时,我们需要有一个LLM应用已经部署并运行。

首先,我们需要instrument我们的LLM应用,这样我们就可以将LLM调用和其他相关逻辑的信息发送到Langfuse。我们可以使用Langfuse提供的API来实现这一点。例如,我们可以使用以下代码来instrument我们的LLM应用:

import langfuse

# 初始化Langfuse客户端
client = langfuse.Client()

# 定义LLM应用的instrument函数
def instrument_llm_app(llm_app):
    #instrument LLM应用
    llm_app.instrument(client)

# 创建LLM应用
llm_app = LLMApp()

# instrument LLM应用
instrument_llm_app(llm_app)

instrument我们的LLM应用后,我们就可以将LLM调用和其他相关逻辑的信息发送到Langfuse。我们可以使用Langfuse提供的API来查询这些信息。例如,我们可以使用以下代码来查询LLM调用信息:

import langfuse

# 初始化Langfuse客户端
client = langfuse.Client()

# 查询LLM调用信息
llm_calls = client.get_llm_calls()

# 打印LLM调用信息
for call in llm_calls:
    print(call)

通过这些信息,我们可以实时监控LLM应用的运行情况,并且可以对复杂的日志和用户会话进行调试。

如果你遇到任何问题,可以参考Langfuse的文档和API文档来解决问题。

本章小结

  • 通过Langfuse,我们可以实现LLM应用的可观察性,实时监控LLM调用和其他相关逻辑。
  • 我们需要instrument我们的LLM应用,这样我们就可以将LLM调用和其他相关逻辑的信息发送到Langfuse。
  • 我们可以使用Langfuse提供的API来查询LLM调用信息和其他相关信息。
  • 通过这些信息,我们可以实时监控LLM应用的运行情况,并且可以对复杂的日志和用户会话进行调试。

4. 提示管理:如何使用Langfuse实现提示版本控制和协同迭代

本章要解决的问题是如何使用Langfuse实现提示版本控制和协同迭代。我们需要了解Langfuse的提示管理功能,并学习如何使用它来管理和版本控制我们的提示。

在开始之前,我们需要确保已经安装和配置了Langfuse。如果你还没有安装Langfuse,可以参考自托管Langfuse文档来安装和配置Langfuse。

我们先来了解Langfuse的提示管理功能。Langfuse提供了一个集中式的提示管理系统,允许你创建、编辑和管理你的提示。我们可以通过Langfuse的API或SDK来访问和管理提示。

接下来,我们来学习如何使用Langfuse的提示管理功能。我们可以使用以下步骤来创建和管理提示:

  1. 创建一个新的提示:我们可以使用Langfuse的API或SDK来创建一个新的提示。例如,我们可以使用以下Python代码来创建一个新的提示:
import langfuse

# 创建一个新的提示
prompt = langfuse.Prompt(name="我的提示", content="这是一个示例提示")
prompt.save()
  1. 编辑一个提示:我们可以使用Langfuse的API或SDK来编辑一个已经存在的提示。例如,我们可以使用以下Python代码来编辑一个提示:
import langfuse

# 获取一个已经存在的提示
prompt = langfuse.Prompt.get(name="我的提示")

# 编辑提示内容
prompt.content = "这是一个更新的示例提示"
prompt.save()
  1. 管理提示版本:我们可以使用Langfuse的API或SDK来管理提示版本。例如,我们可以使用以下Python代码来获取一个提示的所有版本:
import langfuse

# 获取一个提示的所有版本
prompt = langfuse.Prompt.get(name="我的提示")
versions = prompt.versions

# 打印所有版本
for version in versions:
    print(version.content)

如果你遇到任何问题,可以参考Langfuse文档来获取更多信息。

完成后你已经得到了一个基本的提示管理系统,可以使用Langfuse的API或SDK来创建、编辑和管理你的提示。

本章小结

  • 了解了Langfuse的提示管理功能
  • 学习了如何使用Langfuse的API或SDK来创建、编辑和管理提示
  • 了解了如何管理提示版本
  • 参考了Langfuse文档来获取更多信息

5. 评估和数据集管理:如何使用Langfuse进行LLM应用评估和测试

本章要解决的问题是如何使用Langfuse进行LLM应用评估和测试。通过Langfuse,我们可以轻松地管理和评估LLM应用的性能,确保其达到预期的效果。

在开始之前,我们需要确保已经安装和配置好了Langfuse。如果你还没有安装Langfuse,可以参考之前章节的内容进行安装和配置。

首先,我们需要了解Langfuse中的评估和数据集管理功能。Langfuse提供了评估(Evaluations)和数据集(Datasets)两个主要功能来支持LLM应用的评估和测试。评估功能允许我们使用LLM-as-a-judge、Code evaluators、用户反馈收集、手动标注和自定义评估管道等方式来评估LLM应用的性能。数据集功能则允许我们创建和管理测试集和基准集,以便评估LLM应用的性能。

下面,我们来一步步地操作Langfuse的评估和数据集管理功能。

步骤1:创建评估任务

我们可以使用Langfuse的API或SDK来创建评估任务。例如,我们可以使用Python SDK来创建一个评估任务:

import langfuse

# 创建一个评估任务
evaluation = langfuse.Evaluation(
    name="my_evaluation",
    description="This is my evaluation task",
    llm="my_llm",
    dataset="my_dataset"
)

# 提交评估任务
evaluation.submit()

预期结果:评估任务被成功创建并提交。

步骤2:创建数据集

我们可以使用Langfuse的API或SDK来创建数据集。例如,我们可以使用Python SDK来创建一个数据集:

import langfuse

# 创建一个数据集
dataset = langfuse.Dataset(
    name="my_dataset",
    description="This is my dataset",
    data=["example1", "example2", "example3"]
)

# 提交数据集
dataset.submit()

预期结果:数据集被成功创建并提交。

步骤3:运行评估任务

我们可以使用Langfuse的API或SDK来运行评估任务。例如,我们可以使用Python SDK来运行一个评估任务:

import langfuse

# 获取评估任务
evaluation = langfuse.Evaluation.get("my_evaluation")

# 运行评估任务
evaluation.run()

预期结果:评估任务被成功运行。

如果你遇到任何问题,可以参考Langfuse的文档和API参考来排查错误。

本章小结

  • 了解了Langfuse中的评估和数据集管理功能
  • 学会了如何使用Langfuse的API或SDK来创建评估任务和数据集
  • 学会了如何运行评估任务
  • 了解了如何排查错误和使用Langfuse的文档和API参考

完成后你已经得到了Langfuse评估和数据集管理功能的基本使用方法,可以开始使用Langfuse来评估和测试你的LLM应用了。

6. Langfuse与其他工具的集成:如何扩展Langfuse的功能

本章我们要解决的问题是如何将 Langfuse 与其他工具进行集成,以扩展其功能。通过集成,开发者可以利用 Langfuse 的强大功能,同时也能利用其他工具的优势,实现更高效的 LLM 应用开发和部署。

在开始集成之前,需要确保已经具备以下条件:

  • 已经安装并运行了 Langfuse,了解其基本功能和操作。
  • 熟悉 Docker 和 Kubernetes 的基本概念,了解如何使用 Helm 进行部署。
  • 拥有一个 GitHub 账号,并了解如何使用 GitHub Discussions。

首先,我们来了解一下 Langfuse 提供的集成方式。Langfuse 支持多种集成方式,包括使用 API、SDK,以及与其他工具的直接集成。例如,Langfuse 提供了 Python 和 JavaScript 的 SDK,开发者可以使用这些 SDK 来实现自定义的功能。

接下来,我们来看一下如何使用 Langfuse 的 API 来实现集成。Langfuse 提供了一个全面性的 API 文档,开发者可以通过这个文档来了解如何使用 API 来实现不同的功能。例如,开发者可以使用 API 来创建和管理提示、评估和数据集等。

# 获取 Langfuse API 文档
curl https://langfuse.com/docs/api

如果你遇到问题,可以通过 GitHub Discussions 来寻求帮助。Langfuse 的开发团队和社区会在那里提供支持和回答问题。

# 访问 GitHub Discussions
https://github.com/orgs/langfuse/discussions

此外,Langfuse 还支持与其他工具的直接集成,例如 LangChain 和 LlamaIndex。开发者可以通过这些集成来扩展 Langfuse 的功能,实现更高效的 LLM 应用开发和部署。

# 示例:使用 Langfuse SDK 来实现提示管理
import langfuse

# 创建一个 Langfuse 客户端
client = langfuse.Client()

# 创建一个新的提示
prompt = client.create_prompt("我的提示")

# 打印提示的 ID
print(prompt.id)

完成后你已经得到了:

  • 了解了 Langfuse 的集成方式和支持的工具。
  • 学会了如何使用 Langfuse 的 API 和 SDK 来实现自定义的功能。
  • 知道了如何通过 GitHub Discussions 来寻求帮助和支持。

本章小结

  • Langfuse 支持多种集成方式,包括使用 API、SDK,以及与其他工具的直接集成。
  • 开发者可以使用 Langfuse 的 API 和 SDK 来实现自定义的功能,例如提示管理和评估。
  • 通过与其他工具的集成,开发者可以扩展 Langfuse 的功能,实现更高效的 LLM 应用开发和部署。

7. 自定义Langfuse:如何使用API和SDK进行定制开发

本章我们要解决的问题是如何使用 Langfuse 的 API 和 SDK 进行定制开发。通过这一章,你将能够使用 Langfuse 的 API 和 SDK 来扩展其功能,实现自己的定制需求。

在开始之前,你需要确保已经安装了 Langfuse,并且有一个基本的了解 Langfuse 的功能和特性。如果你还没有安装 Langfuse,可以参考 Langfuse 的自托管文档来安装。

首先,我们需要了解 Langfuse 的 API。Langfuse 提供了一个综合的 API,可以用来进行各种操作,包括创建、读取、更新和删除(CRUD)LLM 应用、提示、评估和数据集等。我们可以通过 API 来获取 Langfuse 的数据和功能。

# 获取 Langfuse API 文档
curl https://langfuse.com/docs/api

接下来,我们需要了解 Langfuse 的 SDK。Langfuse 提供了 Python 和 JavaScript/TypeScript 的 SDK,可以用来简化 API 的调用。我们可以通过 SDK 来进行 Langfuse 的操作。

# 安装 Langfuse Python SDK
pip install langfuse-python-sdk

# 导入 Langfuse Python SDK
import langfuse
// 安装 Langfuse JavaScript SDK
npm install langfuse-js-sdk

// 导入 Langfuse JavaScript SDK
const langfuse = require('langfuse-js-sdk');

现在,我们可以开始使用 Langfuse 的 API 和 SDK 来进行定制开发。例如,我们可以使用 API 来创建一个新的 LLM 应用。

# 创建一个新的 LLM 应用
app = langfuse.App(name='my_app', description='my app')
app.create()
// 创建一个新的 LLM 应用
const app = new langfuse.App({ name: 'my_app', description: 'my app' });
app.create();

如果你遇到错误,可以检查 API 文档和 SDK 文档来了解错误的原因和解决方法。

本章小结

  • 了解 Langfuse 的 API 和 SDK
  • 安装和导入 Langfuse 的 SDK
  • 使用 Langfuse 的 API 和 SDK 来进行定制开发
  • 创建一个新的 LLM 应用使用 Langfuse 的 API 和 SDK

完成后你已经得到了使用 Langfuse 的 API 和 SDK 进行定制开发的基本能力,可以开始扩展 Langfuse 的功能,实现自己的定制需求。

8. Langfuse最佳实践:如何在实际项目中应用Langfuse

本章要解决的问题是如何在实际项目中应用Langfuse,实现LLM应用的开发、监控、评估和调试。我们希望通过本章的学习,能够将Langfuse融入到自己的项目中,提高开发效率和应用质量。

在开始之前,我们需要确保已经安装了Langfuse,并且有一个基本的LLM应用项目。我们可以通过Langfuse Cloud或Self-Host Langfuse来部署Langfuse。如果你还没有部署Langfuse,可以参考Langfuse的文档来完成部署。

接着,我们需要了解Langfuse的核心功能,包括LLM应用可观察性、提示管理、评估和数据集管理、LLM Playground和综合API。我们可以通过Langfuse的文档和demo来了解这些功能的使用方法。

现在,我们来看一个实际的例子。假设我们有一个LLM应用项目,需要开发一个聊天机器人。我们可以使用Langfuse的LLM Playground来测试和迭代我们的提示和模型配置。然后,我们可以使用Langfuse的评估功能来评估我们的聊天机器人的性能。同时,我们可以使用Langfuse的数据集管理功能来管理我们的测试数据集。

在使用Langfuse时,我们需要注意一些常见的报错和排查方法。例如,如果我们遇到提示管理的版本控制问题,可以检查我们的提示版本是否正确。如果我们遇到评估功能的错误,可以检查我们的评估配置是否正确。

完成后你已经得到了一个基本的LLM应用项目,并且能够使用Langfuse的核心功能来开发、监控、评估和调试我们的应用。

本章小结

  • 了解Langfuse的核心功能,包括LLM应用可观察性、提示管理、评估和数据集管理、LLM Playground和综合API
  • 学会使用Langfuse的LLM Playground来测试和迭代提示和模型配置
  • 学会使用Langfuse的评估功能来评估LLM应用的性能
  • 学会使用Langfuse的数据集管理功能来管理测试数据集
  • 了解常见的报错和排查方法,能够独立排查和解决问题

9. Langfuse性能优化:如何提高Langfuse的运行效率

要提高Langfuse的运行效率,我们需要从多个方面入手。首先,我们需要了解Langfuse的系统架构和部署方式。Langfuse可以自行部署在本地、虚拟机或Kubernetes集群中,也可以使用Langfuse Cloud的托管服务。了解这些信息有助于我们选择最适合自己的部署方式并进行优化。

在开始优化之前,我们需要确保已经安装并运行了Langfuse。如果你还没有安装Langfuse,可以通过以下命令快速部署:

# 获取Langfuse仓库的最新副本
git clone --depth=1 https://github.com/langfuse/langfuse.git
cd langfuse

# 运行Langfuse的docker compose
docker compose up

完成后你已经得到了一个基本运行的Langfuse环境。

接着,我们需要监控Langfuse的性能。Langfuse提供了多种监控工具,包括LLM应用可观察性、评估和数据集管理等。这些工具可以帮助我们了解Langfuse的运行状态和瓶颈所在。我们可以通过Langfuse的控制台或API来监控这些指标。

如果你遇到性能问题,首先需要检查的是Langfuse的配置文件。配置文件中包含了许多可以调整的参数,例如缓存大小、线程数等。调整这些参数可以帮助提高Langfuse的运行效率。例如,你可以增加缓存大小来减少数据库查询次数:

# 示例配置文件
config = {
    'cache_size': 1024,  # 增加缓存大小
    'thread_num': 8,  # 增加线程数
}

完成后你已经对Langfuse的配置文件进行了调整。

此外,Langfuse还提供了许多集成工具,包括Kubernetes、Terraform等。这些工具可以帮助我们自动化Langfuse的部署和管理,从而提高运行效率。我们可以通过这些工具来自动化Langfuse的部署、升级和监控。

最后,Langfuse的社区和文档也是非常重要的资源。Langfuse的社区提供了许多最佳实践和教程,帮助我们更好地使用和优化Langfuse。同时,Langfuse的文档也提供了详细的API和配置参考,帮助我们深入了解Langfuse的内部机制。

本章小结

  • 了解Langfuse的系统架构和部署方式
  • 监控Langfuse的性能并调整配置文件
  • 使用Langfuse的集成工具来自动化部署和管理
  • 参考Langfuse的社区和文档来获取最佳实践和教程 完成后你已经掌握了提高Langfuse运行效率的方法和技巧。

常见问题

问题:如何解决Langfuse安装过程中的报错问题?

Langfuse安装过程中的报错问题通常与环境依赖或配置有关。首先,请检查是否正确安装了所需的依赖项,如Docker Compose。然后,检查配置文件是否正确设置,特别是环境变量和端口映射。如仍然遇到问题,请参考Langfuse的自托管文档或在GitHub Discussions中寻求帮助。

问题:Langfuse支持哪些环境和依赖?

Langfuse支持多种环境和依赖,包括Docker Compose、Kubernetes(使用Helm)和虚拟机。它还提供了Terraform模板以便在AWS、Azure和GCP上部署。此外,Langfuse集成了多个SDK和框架,如OpenTelemetry、LangChain、OpenAI SDK、LiteLLM等。

问题:如何配置Langfuse以满足我的特定需求?

配置Langfuse需要根据你的具体需求进行设置。首先,参考Langfuse的自托管文档了解不同部署方式的配置步骤。然后,根据需要配置环境变量、端口映射和其他设置。对于更复杂的需求,如自定义评估流水线,可以使用Langfuse提供的API/SDK进行扩展。

问题:Langfuse的LLM应用观测功能如何使用?

Langfuse的LLM应用观测功能允许你跟踪LLM调用和其他应用逻辑。首先,需要在你的应用中instrument相应的代码,以便向Langfuse发送跟踪数据。然后,通过Langfuse的界面或API来查看和分析这些数据,帮助你调试和优化LLM应用。

问题:与其他同类平台相比,Langfuse有什么优势?

Langfuse相比其他同类平台具有多项优势,包括开源、易于自托管、功能丰富(如LLM应用观测、提示管理、评估等)以及与多个流行框架和SDK的集成。此外,Langfuse提供了一个强大的API,允许用户根据自己的需求进行扩展和定制。

问题:如何使用Langfuse的提示管理功能?

Langfuse的提示管理功能允许你集中管理、版本控制和协同迭代你的提示。首先,需要在Langfuse中创建提示管理项目,然后可以添加、编辑和版本控制你的提示。Langfuse的强缓存机制确保了提示的更新不会增加应用的延迟。

问题:Langfuse的评估功能如何使用?

Langfuse的评估功能支持多种评估方式,包括LLM作为评判、代码评估器、用户反馈收集、手动标注和自定义评估流水线。首先,需要配置评估设置,包括选择评估类型和设置评估标准。然后,可以使用Langfuse的API或界面来执行评估并查看结果。

问题:如何在Langfuse中使用数据集进行LLM应用的评估和测试?

Langfuse的数据集功能允许你为LLM应用创建测试集和基准,以便进行评估和测试。首先,需要在Langfuse中创建数据集项目,然后可以添加和管理你的数据集。Langfuse支持连续改进、预部署测试、结构化实验、灵活评估和与LangChain和LlamaIndex等框架的无缝集成。

🔗 相关推荐

📘 教程

用litellm搭建统一LLM接口litellm是一个开源的AI网关,提供统一的LLM接口,支持100+LLM提供商,包括OpenAI、Anthropic、Gemini等。通过litellm,可以轻松地调用不同LLM提供商的模型,实现统一的API接口。这个教程将指导读者如何使用litellm搭建统一LLM接口,实现高效的LLM调用。读者将学习如何安装litellm、配置AI网关、调用LLM模型、实现A2A协议等。进阶11 章★ 51.7kai-gatewayanthropicazure-openai30分钟内搭建timescaledb,实现高性能实时分析timescaledb是一个Postgres扩展,用于高性能实时分析时间序列和事件数据。通过本教程,您将学会如何快速搭建timescaledb,创建第一个hypertable,插入数据,并运行分析查询。您将了解timescaledb的核心概念和功能,包括hypertable、columnstore和分析查询。进阶7 章★ 23.1kanalyticsdatabasefinancial-analysisMatomo 8 个高频用法,照着用就行Matomo 是一个开源的 Web 分析工具,提供详细的网站访问报告。通过本教程,你可以学习如何安装、配置和使用 Matomo,包括数据收集、可视化和分析。同时,你还可以了解如何定制和扩展 Matomo 以满足你的需求。入门9 章★ 21.7kanalyticsgrowthhacktoberfest还在手写监控面板?Grafana 帮你轻松搭建Grafana 是一个开源的监控和可观测性平台,允许你查询、可视化、警报和理解你的指标。通过本教程,你将学习如何安装和配置 Grafana,创建动态仪表盘,探索指标和日志,并设置警报。进阶11 章★ 75.2kalertinganalyticsbusiness-intelligence

📦 相关项目