使用Langfuse集成LlamaIndex进行性能跟踪和调试

在构建和调试基于大模型的应用时,性能跟踪和调试是至关重要的步骤。Langfuse 是一个开源的 LLM 工程平台,可以帮助团队协作调试、分析和迭代他们的 LLM 应用程序。本文将介绍如何使用 LangfuseCallbackHandler 集成 LlamaIndex,并在 Langfuse UI 中查看性能跟踪和度量。

安装包

首先,我们需要安装所需的 Python 包:

%pip install llama-index llama-index-callbacks-langfuse

配置环境

如果您还没有账户,请在 Langfuse 注册并从项目设置中获取 API 密钥。

import os

# Langfuse
os.environ["LANGFUSE_SECRET_KEY"] = "sk-lf-..."
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-lf-..."
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com"  # 🇪🇺 EU region, 🇺🇸 US region: "https://us.cloud.langfuse.com"

# OpenAI
os.environ["OPENAI_API_KEY"] = "sk-..."

注册 Langfuse 回调处理器

您可以通过两种方式之一来注册 Langfuse 回调处理器:

选项 1:设置全局 LlamaIndex 处理器

from llama_index.core import global_handler, set_global_handler

set_global_handler("langfuse")
langfuse_callback_handler = global_handler

选项 2:直接使用 Langfuse 回调

from llama_index.core import Settings
from llama_index.core.callbacks import CallbackManager
from langfuse.llama_index import LlamaIndexCallbackHandler

langfuse_callback_handler = LlamaIndexCallbackHandler()
Settings.callback_manager = CallbackManager([langfuse_callback_handler])

刷新事件到 Langfuse

Langfuse SDK 会在后台排队和批处理事件,以减少网络请求数量并提高整体性能。在退出应用程序之前,请确保所有排队的事件都已刷新到 Langfuse 服务器。

# ... 这里是您的 LlamaIndex 调用 ...

langfuse_callback_handler.flush()

示例

以下是一个完整的示例,演示如何构建索引、执行查询和进行聊天对话,并在 Langfuse 中查看结果。

获取并保存示例数据

!mkdir -p 'data/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham_essay.txt'

运行示例索引构建、查询和聊天

from llama_index.core import SimpleDirectoryReader, VectorStoreIndex

# 创建索引
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 执行查询
query_engine = index.as_query_engine()
query_response = query_engine.query("What did the author do growing up?")
print(query_response)

# 执行聊天查询
chat_engine = index.as_chat_engine()
chat_response = chat_engine.chat("What did the author do growing up?")
print(chat_response)

# 为了立即在 Langfuse 中查看结果,我们需要刷新回调处理器
langfuse_callback_handler.flush()

运行上述代码后,您将在 Langfuse 项目中看到您的索引和查询的跟踪结果。

可能遇到的错误

  1. API 密钥错误:确保您正确设置了 Langfuse 和 OpenAI 的 API 密钥。
  2. 网络问题:检查您的网络连接,确保能够连接到 Langfuse 服务器。
  3. 回调处理器未正确注册:确认回调处理器已正确设置和注册。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料:

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值