跳至内容

回调函数#

概念#

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微调的格式保存输入和输出。