LlamaIndex 中无论是 RAG 还是 Agent,都是需要和 LLM 进行交互,在这个流程流中包括搜索、Retrieve和推理等多个阶段。提示词在整个流程通过模板进行控制,LlamaIndex 通过整合和调度完成最终任务。
大模型的一个最大特点就是无法保证回答百分百准确,神经网络最终的输出就是概率相对高的结果。在整个流程中,需要记录所有的操作过程,有利于后期进行确认和进一步的优化。本文简介绍如何开启 LlamaIndex 中看可视化追踪。
追踪组件
LlamaIndex 设计的非常灵活可以方便接入多种可是日志跟踪系统,官方目前支持以下多种日志跟踪系统。
- Arize Phoenix
- Langfuse
- DeepEval
- Weights and Biases Prompts
- OpenLLMetry
- OpenInference
- TruEra TruLens
- HoneyHive
- PromptLayer
- Langtrace
- OpenLIT
- AgentOps
官方推荐 Arize Phoenix 日志系统,这里我们也已Arize Phoenix为例,通过以下步骤接入Arize Phoenix:
本地安装并启动 Arize Phoenix
# python 版本需要 3.10
conda create --name llamaindex python=3.10
conda install -c conda-forge arize-phoenix[evals]
启动服务,监听本地 ip 0.0.0.0 对外服务,默认端口 6006
import phoenix as px
px.launch_app(host="0.0.0.0")
集成Arize Phoenix
安装 LlamaIndex 依赖
pip install llama-index-callbacks-arize-phoenix
集成日志系统只需要两行代码
set_global_handler("arize_phoenix", endpoint="http://10.91.3.116:6006/v1/traces")
LlamaIndexInstrumentor().instrument()
任意执行一段与 LLM 进行交互的代码,这里使用的 ReActAgent,运行完成之后,进入 Arize Phoenix 查看结果
整个流程一目了然,比翻代码清晰太多了。
总结
LlamaIndex 设计非常灵活,通过简单的几行代码就能接入可视化日志系统。还是要感谢 LlamaIndex 的作者开源了这么优秀的框架。