跳到内容

回调#

概念#

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