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