news 2026/6/5 14:22:52

【observability】【observability03】HoneyHive LlamaIndex Tracer 功能完整案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【observability】【observability03】HoneyHive LlamaIndex Tracer 功能完整案例

本案例将引导您一步步集成 HoneyHive 到 LlamaIndex 应用中,演示如何利用 HoneyHiveLlamaIndexTracer 监控和分析 LLM 管道的执行流程,以及如何自定义特定追踪事件的反馈,从而从生产环境中创建评估或微调数据集。

1. 案例目标

我们将创建一个应用程序,实现以下功能:

  1. 集成 HoneyHive Tracer:将 HoneyHiveLlamaIndexTracer 集成到 LlamaIndex 中,实现全面的追踪
  2. 文档索引与查询:使用 LlamaIndex 创建文档索引,并对文档内容进行查询
  3. 执行流程追踪:追踪索引构建和查询过程中的每个步骤
  4. 数据可视化:通过 HoneyHive 平台查看和分析追踪数据

2. 技术栈与核心依赖

  • LlamaIndex:用于构建文档索引和查询系统
  • HoneyHive:用于监控、评估和持续改进 LLM 应用的平台
  • OpenAI API:作为示例中的语言模型提供者

需要安装的核心依赖:

pip install llama-index pip install llama-index-llms-openai

3. 环境配置

在开始之前,您需要:

  1. 获取 OpenAI API 密钥
  2. 获取 HoneyHive API 密钥
  3. 确保 Python 3.7 或更高版本

4. 案例实现

4.1 配置 API 密钥

首先,我们需要配置 OpenAI 和 HoneyHive 的 API 密钥:

import os from getpass import getpass # 配置 OpenAI API 密钥 if os.getenv("OPENAI_API_KEY") is None: os.environ["OPENAI_API_KEY"] = getpass( "Paste your OpenAI key from: https://platform.openai.com/account/api-keys\n" ) # 配置 HoneyHive API 密钥 if os.getenv("HONEYHIVE_API_KEY") is None: os.environ["HONEYHIVE_API_KEY"] = getpass( "Paste your HoneyHive key from: https://app.honeyhive.ai/settings/account\n" )

4.2 导入必要的库

from llama_index.core.callbacks import CallbackManager from llama_index.core.callbacks import LlamaDebugHandler from llama_index.core import ( VectorStoreIndex, SimpleDirectoryReader, Settings, ) from llama_index.llms.openai import OpenAI from honeyhive.utils.llamaindex_tracer import HoneyHiveLlamaIndexTracer

4.3 设置 LLM

from llama_index.core import Settings Settings.llm = OpenAI(model="gpt-4", temperature=0)

4.4 配置 HoneyHive 追踪器

有两种方式可以配置 HoneyHive 追踪器:

选项 1:设置全局评估处理器
import llama_index.core from llama_index.core import set_global_handler set_global_handler( "honeyhive", project="My LlamaIndex Project", name="My LlamaIndex Pipeline", api_key=os.environ["HONEYHIVE_API_KEY"], ) hh_tracer = llama_index.core.global_handler
选项 2:手动配置回调处理器
# 创建调试处理器,用于额外的笔记本可见性 llama_debug = LlamaDebugHandler(print_trace_on_end=True) # 创建 HoneyHive 追踪器 hh_tracer = HoneyHiveLlamaIndexTracer( project="My LlamaIndex Project", name="My LlamaIndex Pipeline", api_key=os.environ["HONEYHIVE_API_KEY"], ) # 创建回调管理器 callback_manager = CallbackManager([llama_debug, hh_tracer]) # 设置全局回调管理器 Settings.callback_manager = callback_manager

4.5 准备数据

下载并加载示例数据:

# 创建数据目录 !mkdir -p 'data/paul_graham/' # 下载示例文档 !wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt' # 使用 SimpleDirectoryReader 加载文档 docs = SimpleDirectoryReader("./data/paul_graham/").load_data()

4.6 创建索引

# 创建向量索引,这将触发追踪 index = VectorStoreIndex.from_documents(docs)

注意:创建索引时,您将看到类似以下的追踪输出:

********** Trace: index_construction |_node_parsing -> 0.080298 seconds |_chunking -> 0.078948 seconds |_embedding -> 1.117244 seconds |_embedding -> 0.382624 seconds **********

4.7 执行查询

# 创建查询引擎 query_engine = index.as_query_engine() # 执行查询,这将触发追踪 response = query_engine.query("What did the author do growing up?") print(response)

注意:执行查询时,您将看到类似以下的追踪输出:

********** Trace: query |_query -> 11.334982 seconds |_retrieve -> 0.255016 seconds |_embedding -> 0.247083 seconds |_synthesize -> 11.079581 seconds |_templating -> 5.7e-05 seconds |_llm -> 11.065533 seconds **********

4.8 查看 HoneyHive 追踪数据

完成追踪后,您可以通过 HoneyHive 平台 查看追踪事件:

  1. 登录到 HoneyHive
  2. 导航到您的 "My LlamaIndex Project" 项目
  3. 点击 "Data Store" 标签页
  4. 查看您的 "Sessions"

5. 案例效果

通过本案例,您可以实现以下效果:

  • 详细追踪:自动追踪索引构建和查询过程中的每个步骤,包括时间统计
  • 性能分析:通过时间统计识别性能瓶颈
  • 可视化监控:通过 HoneyHive 平台直观地查看和分析追踪数据
  • 反馈收集:自定义特定追踪事件的反馈,创建评估或微调数据集

6. 案例实现思路

本案例的核心实现思路是:

  1. 回调机制:利用 LlamaIndex 的回调系统,在关键执行节点触发事件
  2. 事件追踪:通过 HoneyHiveLlamaIndexTracer 捕获和记录这些事件
  3. 云端分析:将追踪数据发送到 HoneyHive 平台进行集中分析和可视化

这种实现方式的优点是:

  • 非侵入性:只需少量配置代码即可启用全面的追踪
  • 细粒度:提供详细的执行流程和时间统计
  • 可扩展:可以同时使用多个回调处理器,实现多种功能

7. 扩展建议

  • 自定义事件:扩展追踪器以记录自定义的业务事件
  • 性能优化:基于追踪数据优化查询性能
  • 异常监控:设置异常监控和警报
  • A/B 测试:使用追踪数据进行不同配置的 A/B 测试
  • 用户行为分析:结合用户行为数据,分析查询模式
  • 成本分析:追踪和分析 API 调用成本

8. 总结

本案例展示了如何将 HoneyHiveLlamaIndexTracer 集成到 LlamaIndex 应用中,实现对执行流程的全面监控和分析。通过 HoneyHive 平台,开发者可以深入了解应用的执行细节,识别性能瓶颈,并收集反馈以持续改进应用。

这种可观测性对于构建可靠、高效的 LLM 应用至关重要,特别是在需要高性能和高质量响应的生产环境中。通过详细的追踪和分析,团队可以做出数据驱动的决策,不断优化应用性能和用户体验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 14:18:29

终极AEUX指南:如何实现Figma到After Effects的零障碍动效创作

终极AEUX指南:如何实现Figma到After Effects的零障碍动效创作 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX 还在为设计到动画的转换过程而烦恼吗?每次都要在Fi…

作者头像 李华
网站建设 2026/6/5 14:18:12

终极岛屿规划工具:5步打造专业级动物森友会岛屿设计

终极岛屿规划工具:5步打造专业级动物森友会岛屿设计 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友会》(Animal Crossing)启…

作者头像 李华
网站建设 2026/6/5 14:14:57

5分钟极速上手:Windows原生安卓应用安装神器完全指南

5分钟极速上手:Windows原生安卓应用安装神器完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为传统安卓模拟器的臃肿体积和缓慢启动速度而烦恼…

作者头像 李华
网站建设 2026/6/5 14:14:41

IAR Embedded Workbench 深色主题配置指南:打造VS Code风格开发环境

1. 项目背景与痛点分析作为一名长期奋战在嵌入式开发一线的工程师,我几乎每天都要和IAR Embedded Workbench打交道。和很多同行一样,我对它强大的调试功能和稳定的编译链赞不绝口,但唯独对那个万年不变的默认白色主题颇有微词。在白色背景上长…

作者头像 李华
网站建设 2026/6/5 14:13:01

企业级AI编排:MuleSoft+LangChain双引擎落地实践

1. 项目概述:当企业级集成遇上大模型,为什么“拼图”比“单点突破”更关键我干了十多年企业系统集成和AI落地项目,从最早给银行做核心系统对接,到后来帮制造业客户搭IoT数据中台,再到最近三年密集参与几十个LLM进企业的…

作者头像 李华