Base interface for callbacks. All methods are optional. If a method is not implemented, it will be ignored. If a method is implemented, it will be called at the appropriate time. All methods are called with the run ID of the LLM/ChatModel/Chain that is running, which is generated by the CallbackManager.

interface CallbackHandlerMethods {
    handleAgentAction?(action: AgentAction, runId: string, parentRunId?: string, tags?: string[]): void | Promise<void>;
    handleAgentEnd?(action: AgentFinish, runId: string, parentRunId?: string, tags?: string[]): void | Promise<void>;
    handleChainEnd?(outputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], kwargs?: {
        inputs?: Record<string, unknown>;
    }): any;
    handleChainError?(err: any, runId: string, parentRunId?: string, tags?: string[], kwargs?: {
        inputs?: Record<string, unknown>;
    }): any;
    handleChainStart?(chain: Serialized, inputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runType?: string, name?: string): any;
    handleChatModelStart?(llm: Serialized, messages: BaseMessage[][], runId: string, parentRunId?: string, extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, name?: string): any;
    handleLLMEnd?(output: LLMResult, runId: string, parentRunId?: string, tags?: string[]): any;
    handleLLMError?(err: any, runId: string, parentRunId?: string, tags?: string[]): any;
    handleLLMNewToken?(token: string, idx: NewTokenIndices, runId: string, parentRunId?: string, tags?: string[], fields?: HandleLLMNewTokenCallbackFields): any;
    handleLLMStart?(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, name?: string): any;
    handleRetrieverEnd?(documents: DocumentInterface<Record<string, any>>[], runId: string, parentRunId?: string, tags?: string[]): any;
    handleRetrieverError?(err: any, runId: string, parentRunId?: string, tags?: string[]): any;
    handleRetrieverStart?(retriever: Serialized, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, name?: string): any;
    handleText?(text: string, runId: string, parentRunId?: string, tags?: string[]): void | Promise<void>;
    handleToolEnd?(output: any, runId: string, parentRunId?: string, tags?: string[]): any;
    handleToolError?(err: any, runId: string, parentRunId?: string, tags?: string[]): any;
    handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, name?: string): any;
}

Methods

  • Called when an agent is about to execute an action, with the action and the run ID.

    Parameters

    • action: AgentAction
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns void | Promise<void>

  • Called when an agent finishes execution, before it exits. with the final output and the run ID.

    Parameters

    • action: AgentFinish
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns void | Promise<void>

  • Called at the end of a Chain run, with the outputs and the run ID.

    Parameters

    • outputs: ChainValues
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalkwargs: {
          inputs?: Record<string, unknown>;
      }
      • Optionalinputs?: Record<string, unknown>

    Returns any

  • Called if a Chain run encounters an error

    Parameters

    • err: any
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalkwargs: {
          inputs?: Record<string, unknown>;
      }
      • Optionalinputs?: Record<string, unknown>

    Returns any

  • Called at the start of a Chain run, with the chain name and inputs and the run ID.

    Parameters

    • chain: Serialized
    • inputs: ChainValues
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalmetadata: Record<string, unknown>
    • OptionalrunType: string
    • Optionalname: string

    Returns any

  • Called at the start of a Chat Model run, with the prompt(s) and the run ID.

    Parameters

    • llm: Serialized
    • messages: BaseMessage[][]
    • runId: string
    • OptionalparentRunId: string
    • OptionalextraParams: Record<string, unknown>
    • Optionaltags: string[]
    • Optionalmetadata: Record<string, unknown>
    • Optionalname: string

    Returns any

  • Called at the end of an LLM/ChatModel run, with the output and the run ID.

    Parameters

    • output: LLMResult
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns any

  • Called if an LLM/ChatModel run encounters an error

    Parameters

    • err: any
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns any

  • Called when an LLM/ChatModel in streaming mode produces a new token

    Parameters

    • token: string
    • idx: NewTokenIndices

      idx.prompt is the index of the prompt that produced the token (if there are multiple prompts) idx.completion is the index of the completion that produced the token (if multiple completions per prompt are requested)

    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalfields: HandleLLMNewTokenCallbackFields

    Returns any

  • Called at the start of an LLM or Chat Model run, with the prompt(s) and the run ID.

    Parameters

    • llm: Serialized
    • prompts: string[]
    • runId: string
    • OptionalparentRunId: string
    • OptionalextraParams: Record<string, unknown>
    • Optionaltags: string[]
    • Optionalmetadata: Record<string, unknown>
    • Optionalname: string

    Returns any

  • Parameters

    • err: any
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns any

  • Parameters

    • retriever: Serialized
    • query: string
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalmetadata: Record<string, unknown>
    • Optionalname: string

    Returns any

  • Parameters

    • text: string
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns void | Promise<void>

  • Called at the end of a Tool run, with the tool output and the run ID.

    Parameters

    • output: any
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns any

  • Called if a Tool run encounters an error

    Parameters

    • err: any
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]

    Returns any

  • Called at the start of a Tool run, with the tool name and input and the run ID.

    Parameters

    • tool: Serialized
    • input: string
    • runId: string
    • OptionalparentRunId: string
    • Optionaltags: string[]
    • Optionalmetadata: Record<string, unknown>
    • Optionalname: string

    Returns any