Table of Contents
- spoon_ai.callbacks.base
Module spoon_ai.callbacks.base
RetrieverManagerMixin Objects​
class RetrieverManagerMixin()
Mixin providing retriever callback hooks.
on_retriever_start​
def on_retriever_start(run_id: UUID, query: Any, **kwargs: Any) -> Any
Run when a retriever begins execution.
on_retriever_end​
def on_retriever_end(run_id: UUID, documents: Any, **kwargs: Any) -> Any
Run when a retriever finishes successfully.
on_retriever_error​
def on_retriever_error(error: BaseException, *, run_id: UUID,
**kwargs: Any) -> Any
Run when a retriever raises an error.
LLMManagerMixin Objects​
class LLMManagerMixin()
Mixin providing large language model callback hooks.
on_llm_start​
def on_llm_start(run_id: UUID, messages: List[Message], **kwargs: Any) -> Any
Run when an LLM or chat model begins execution.
on_llm_new_token​
def on_llm_new_token(token: str,
*,
chunk: Optional[LLMResponseChunk] = None,
run_id: Optional[UUID] = None,
**kwargs: Any) -> Any
Run for each streamed token emitted by an LLM.
on_llm_end​
def on_llm_end(response: LLMResponse, *, run_id: UUID, **kwargs: Any) -> Any
Run when an LLM finishes successfully.
on_llm_error​
def on_llm_error(error: BaseException, *, run_id: UUID, **kwargs: Any) -> Any
Run when an LLM raises an error.
ChainManagerMixin Objects​
class ChainManagerMixin()
Mixin providing chain-level callback hooks.
on_chain_start​
def on_chain_start(run_id: UUID, inputs: Any, **kwargs: Any) -> Any
Run when a chain (Runnable) starts executing.
on_chain_end​
def on_chain_end(run_id: UUID, outputs: Any, **kwargs: Any) -> Any
Run when a chain finishes successfully.
on_chain_error​
def on_chain_error(error: BaseException, *, run_id: UUID,
**kwargs: Any) -> Any
Run when a chain raises an error.
ToolManagerMixin Objects​
class ToolManagerMixin()
Mixin providing tool callback hooks.
on_tool_start​
def on_tool_start(tool_name: str, tool_input: Any, *, run_id: UUID,
**kwargs: Any) -> Any
Run when a tool invocation begins.
on_tool_end​
def on_tool_end(tool_name: str, tool_output: Any, *, run_id: UUID,
**kwargs: Any) -> Any
Run when a tool invocation succeeds.
on_tool_error​
def on_tool_error(error: BaseException,
*,
run_id: UUID,
tool_name: Optional[str] = None,
**kwargs: Any) -> Any
Run when a tool invocation raises an error.
PromptManagerMixin Objects​
class PromptManagerMixin()
Mixin providing prompt template callback hooks.
on_prompt_start​
def on_prompt_start(run_id: UUID, inputs: Any, **kwargs: Any) -> Any
Run when a prompt template begins formatting.
on_prompt_end​
def on_prompt_end(run_id: UUID, output: Any, **kwargs: Any) -> Any
Run when a prompt template finishes formatting.
on_prompt_error​
def on_prompt_error(error: BaseException, *, run_id: UUID,
**kwargs: Any) -> Any
Run when prompt formatting raises an error.
BaseCallbackHandler Objects​
class BaseCallbackHandler(LLMManagerMixin, ChainManagerMixin, ToolManagerMixin,
RetrieverManagerMixin, PromptManagerMixin, ABC)
Base class for SpoonAI callback handlers.
raise_error​
Whether to re-raise exceptions originating from callbacks.
run_inline​
Whether the callback prefers to run on the caller's event loop.
ignore_llm​
@property
def ignore_llm() -> bool
Return True to skip LLM callbacks.
ignore_chain​
@property
def ignore_chain() -> bool
Return True to skip chain callbacks.
ignore_tool​
@property
def ignore_tool() -> bool
Return True to skip tool callbacks.
ignore_retriever​
@property
def ignore_retriever() -> bool
Return True to skip retriever callbacks.
ignore_prompt​
@property
def ignore_prompt() -> bool
Return True to skip prompt callbacks.
AsyncCallbackHandler Objects​
class AsyncCallbackHandler(BaseCallbackHandler)
Async version of the callback handler base class.