跳转到内容

回调函数

LlamaIndex 提供回调函数来帮助调试、追踪和跟踪库的内部运作。 通过回调管理器,可以添加任意数量的回调函数。

除了记录与事件相关的数据外,您还可以追踪每个事件的持续时间和发生次数。

此外,还会记录事件追踪图,回调函数可以随意使用这些数据。例如,默认情况下,LlamaDebugHandler 会在大多数操作后打印事件追踪记录。

回调事件类型 虽然每个回调可能不会利用所有事件类型,但以下事件可供追踪:

  • CHUNKINGCHUNKING -> 文本拆分前后的日志记录。
  • NODE_PARSINGNODE_PARSING -> 记录文档及其解析成的节点的日志。
  • EMBEDDINGEMBEDDING -> 记录已嵌入文本数量的日志。
  • LLMLLM -> 记录LLM调用的模板和响应日志。
  • QUERYQUERY -> 记录每个查询的开始和结束位置。
  • RETRIEVERETRIEVE -> 查询所检索节点的日志。
  • SYNTHESIZESYNTHESIZE -> 用于记录合成调用结果的日志。
  • TREETREE -> 用于记录生成的摘要及摘要级别的日志。
  • SUB_QUESTIONSUB_QUESTION -> 记录生成的子问题与答案的日志。

您可以实现自己的回调函数来跟踪和追踪这些事件,或使用现有的回调函数。

当前支持的回调函数如下:

  • TokenCountingHandler -> 为提示词、补全和嵌入的令牌使用提供灵活的计数功能。查看迁移详情
  • LlamaDebugHanlder -> 事件的基础跟踪与追溯功能。使用示例可在下方笔记本中找到。
  • WandbCallbackHandler -> 使用 Wandb Prompts 前端跟踪事件和轨迹。更多细节请参阅下方的笔记本或访问 Wandb
  • AimCallback -> 追踪大语言模型的输入和输出。具体使用示例可在下方笔记本中找到。
  • OpenInferenceCallbackHandler -> 追踪AI模型推理过程。使用示例可在下方笔记本中找到。
  • OpenAI微调处理器 -> 记录所有LLM输入和输出。随后提供一个函数 save_finetuning_events(),用于以适用于OpenAI微调的格式保存输入和输出数据。