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