回调#
概念#
LlamaIndex 提供回调以帮助调试、跟踪和追踪库的内部工作。使用回调管理器,可以添加所需数量的回调。
除了记录与事件相关的数据外,您还可以跟踪每个事件的持续时间和发生次数。
此外,还会记录事件的跟踪图,并且回调可以使用此数据。例如,LlamaDebugHandler
默认会在大多数操作后打印事件跟踪。
回调事件类型 虽然每个回调可能不会利用每种事件类型,但以下事件可供跟踪
CHUNKING
-> 记录文本分割之前和之后的信息。NODE_PARSING
-> 记录文档及其被解析成的节点信息。EMBEDDING
-> 记录嵌入的文本数量。LLM
-> 记录 LLM 调用的模板和响应信息。QUERY
-> 跟踪每个查询的开始和结束。RETRIEVE
-> 记录为查询检索到的节点信息。SYNTHESIZE
-> 记录合成调用的结果信息。TREE
-> 记录生成的摘要和摘要级别信息。SUB_QUESTION
-> 记录生成的子问题和答案。
您可以实现自己的回调来跟踪和追踪这些事件,或者使用现有的回调。
模块#
目前支持的回调如下
- TokenCountingHandler -> 灵活地计算提示、完成和嵌入的 token 使用量。参见迁移详情
- LlamaDebugHanlder -> 事件的基本跟踪和追踪。示例用法可在下面的 notebook 中找到。
- WandbCallbackHandler -> 使用 Wandb Prompts 前端进行事件和跟踪的追踪。更多详情可在下面的 notebook 或 Wandb 找到。
- AimCallback -> LLM 输入和输出的跟踪。示例用法可在下面的 notebook 中找到。
- OpenInferenceCallbackHandler -> AI 模型推理的跟踪。示例用法可在下面的 notebook 中找到。
- OpenAIFineTuningHandler -> 记录所有 LLM 输入和输出。然后,提供一个函数
save_finetuning_events()
,用于将输入和输出以适合 OpenAI 微调的格式保存。