WandbTracer#

class langchain_community.callbacks.tracers.wandb.WandbTracer(run_args: ~langchain_community.callbacks.tracers.wandb.WandbRunArgs | None = None, io_serializer: ~typing.Callable = <function _serialize_io>, **kwargs: ~typing.Any)[source]#

Callback Handler that logs to Weights and Biases.

This handler will log the model architecture and run traces to Weights and Biases. This will ensure that all LangChain activity is logged to W&B.

Initializes the WandbTracer.

Parameters:
  • run_args (Optional[WandbRunArgs]) – (dict, optional) Arguments to pass to wandb.init(). If not provided, wandb.init() will be called with no arguments. Please refer to the wandb.init for more details.

  • io_serializer (Callable) – callable A function that serializes the input and outputs of a run to store in wandb. Defaults to “_serialize_io”

  • kwargs (Any)

To use W&B to monitor all LangChain activity, add this tracer like any other LangChain callback: ``` from wandb.integration.langchain import WandbTracer

tracer = WandbTracer() chain = LLMChain(llm, callbacks=[tracer]) # …end of notebook / script: tracer.finish() ```

Attributes

ignore_agent

Whether to ignore agent callbacks.

ignore_chain

Whether to ignore chain callbacks.

ignore_chat_model

Whether to ignore chat model callbacks.

ignore_custom_event

Ignore custom event.

ignore_llm

Whether to ignore LLM callbacks.

ignore_retriever

Whether to ignore retriever callbacks.

ignore_retry

Whether to ignore retry callbacks.

log_missing_parent

raise_error

Whether to raise an error if an exception occurs.

run_inline

Whether to run the callback inline.

Methods

__init__([run_args, io_serializer])

Initializes the WandbTracer.

finish()

Waits for all asynchronous processes to finish and data to upload.

on_agent_action(action, *, run_id[, ...])

Run on agent action.

on_agent_finish(finish, *, run_id[, ...])

Run on the agent end.

on_chain_end(outputs, *, run_id[, inputs])

End a trace for a chain run.

on_chain_error(error, *[, inputs])

Handle an error for a chain run.

on_chain_start(serialized, inputs, *, run_id)

Start a trace for a chain run.

on_chat_model_start(serialized, messages, *, ...)

Start a trace for an LLM run.

on_custom_event(name, data, *, run_id[, ...])

Override to define a handler for a custom event.

on_llm_end(response, *, run_id, **kwargs)

End a trace for an LLM run.

on_llm_error(error, *, run_id, **kwargs)

Handle an error for an LLM run.

on_llm_new_token(token, *[, chunk, ...])

Run on new LLM token.

on_llm_start(serialized, prompts, *, run_id)

Start a trace for an LLM run.

on_retriever_end(documents, *, run_id, **kwargs)

Run when the Retriever ends running.

on_retriever_error(error, *, run_id, **kwargs)

Run when Retriever errors.

on_retriever_start(serialized, query, *, run_id)

Run when the Retriever starts running.

on_retry(retry_state, *, run_id, **kwargs)

Run on retry.

on_text(text, *, run_id[, parent_run_id])

Run on an arbitrary text.

on_tool_end(output, *, run_id, **kwargs)

End a trace for a tool run.

on_tool_error(error, *, run_id, **kwargs)

Handle an error for a tool run.

on_tool_start(serialized, input_str, *, run_id)

Start a trace for a tool run.

process_model_dict(run)

Utility to process a run for wandb model_dict serialization.

__init__(run_args: ~langchain_community.callbacks.tracers.wandb.WandbRunArgs | None = None, io_serializer: ~typing.Callable = <function _serialize_io>, **kwargs: ~typing.Any) None[source]#

Initializes the WandbTracer.

Parameters:
  • run_args (WandbRunArgs | None) – (dict, optional) Arguments to pass to wandb.init(). If not provided, wandb.init() will be called with no arguments. Please refer to the wandb.init for more details.

  • io_serializer (Callable) – callable A function that serializes the input and outputs of a run to store in wandb. Defaults to “_serialize_io”

  • kwargs (Any)

Return type:

None

To use W&B to monitor all LangChain activity, add this tracer like any other LangChain callback: ``` from wandb.integration.langchain import WandbTracer

tracer = WandbTracer() chain = LLMChain(llm, callbacks=[tracer]) # …end of notebook / script: tracer.finish() ```

finish() None[source]#

Waits for all asynchronous processes to finish and data to upload.

Proxy for wandb.finish().

Return type:

None

on_agent_action(action: AgentAction, *, run_id: UUID, parent_run_id: UUID | None = None, **kwargs: Any) Any#

Run on agent action.

Parameters:
  • action (AgentAction) – The agent action.

  • run_id (UUID) – The run ID. This is the ID of the current run.

  • parent_run_id (UUID) – The parent run ID. This is the ID of the parent run.

  • kwargs (Any) – Additional keyword arguments.

Return type:

Any

on_agent_finish(finish: AgentFinish, *, run_id: UUID, parent_run_id: UUID | None = None, **kwargs: Any) Any#

Run on the agent end.

Parameters:
  • finish (AgentFinish) – The agent finish.

  • run_id (UUID) – The run ID. This is the ID of the current run.

  • parent_run_id (UUID) – The parent run ID. This is the ID of the parent run.

  • kwargs (Any) – Additional keyword arguments.

Return type:

Any

on_chain_end(outputs: dict[str, Any], *, run_id: UUID, inputs: dict[str, Any] | None = None, **kwargs: Any) RunTree#

End a trace for a chain run.

Parameters:
  • outputs (dict[str, Any]) – The outputs for the chain.

  • run_id (UUID) – The run ID.

  • inputs (dict[str, Any] | None) – The inputs for the chain. Defaults to None.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_chain_error(error: BaseException, *, inputs: dict[str, Any] | None = None, run_id: UUID, **kwargs: Any) RunTree#

Handle an error for a chain run.

Parameters:
  • error (BaseException) – The error.

  • inputs (dict[str, Any] | None) – The inputs for the chain. Defaults to None.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_chain_start(serialized: dict[str, Any], inputs: dict[str, Any], *, run_id: UUID, tags: list[str] | None = None, parent_run_id: UUID | None = None, metadata: dict[str, Any] | None = None, run_type: str | None = None, name: str | None = None, **kwargs: Any) RunTree#

Start a trace for a chain run.

Parameters:
  • serialized (dict[str, Any]) – The serialized chain.

  • inputs (dict[str, Any]) – The inputs for the chain.

  • run_id (UUID) – The run ID.

  • tags (list[str] | None) – The tags for the run. Defaults to None.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • metadata (dict[str, Any] | None) – The metadata for the run. Defaults to None.

  • run_type (str | None) – The type of the run. Defaults to None.

  • name (str | None) – The name of the run.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_chat_model_start(serialized: dict[str, Any], messages: list[list[BaseMessage]], *, run_id: UUID, tags: list[str] | None = None, parent_run_id: UUID | None = None, metadata: dict[str, Any] | None = None, name: str | None = None, **kwargs: Any) RunTree#

Start a trace for an LLM run.

Parameters:
  • serialized (dict[str, Any]) – The serialized model.

  • messages (list[list[BaseMessage]]) – The messages to start the chat with.

  • run_id (UUID) – The run ID.

  • tags (list[str] | None) – The tags for the run. Defaults to None.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • metadata (dict[str, Any] | None) – The metadata for the run. Defaults to None.

  • name (str | None) – The name of the run.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_custom_event(name: str, data: Any, *, run_id: UUID, tags: list[str] | None = None, metadata: dict[str, Any] | None = None, **kwargs: Any) Any#

Override to define a handler for a custom event.

Parameters:
  • name (str) – The name of the custom event.

  • data (Any) – The data for the custom event. Format will match the format specified by the user.

  • run_id (UUID) – The ID of the run.

  • tags (list[str] | None) – The tags associated with the custom event (includes inherited tags).

  • metadata (dict[str, Any] | None) – The metadata associated with the custom event (includes inherited metadata).

  • kwargs (Any)

Return type:

Any

Added in version 0.2.15.

on_llm_end(response: LLMResult, *, run_id: UUID, **kwargs: Any) RunTree#

End a trace for an LLM run.

Parameters:
  • response (LLMResult) – The response.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_llm_error(error: BaseException, *, run_id: UUID, **kwargs: Any) RunTree#

Handle an error for an LLM run.

Parameters:
  • error (BaseException) – The error.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_llm_new_token(token: str, *, chunk: GenerationChunk | ChatGenerationChunk | None = None, run_id: UUID, parent_run_id: UUID | None = None, **kwargs: Any) RunTree#

Run on new LLM token. Only available when streaming is enabled.

Parameters:
  • token (str) – The token.

  • chunk (GenerationChunk | ChatGenerationChunk | None) – The chunk. Defaults to None.

  • run_id (UUID) – The run ID.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_llm_start(serialized: dict[str, Any], prompts: list[str], *, run_id: UUID, tags: list[str] | None = None, parent_run_id: UUID | None = None, metadata: dict[str, Any] | None = None, name: str | None = None, **kwargs: Any) RunTree#

Start a trace for an LLM run.

Parameters:
  • serialized (dict[str, Any]) – The serialized model.

  • prompts (list[str]) – The prompts to start the LLM with.

  • run_id (UUID) – The run ID.

  • tags (list[str] | None) – The tags for the run. Defaults to None.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • metadata (dict[str, Any] | None) – The metadata for the run. Defaults to None.

  • name (str | None) – The name of the run.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_retriever_end(documents: Sequence[Document], *, run_id: UUID, **kwargs: Any) Run#

Run when the Retriever ends running.

Parameters:
  • documents (Sequence[Document]) – The documents.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

Run

on_retriever_error(error: BaseException, *, run_id: UUID, **kwargs: Any) RunTree#

Run when Retriever errors.

Parameters:
  • error (BaseException) – The error.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_retriever_start(serialized: dict[str, Any], query: str, *, run_id: UUID, parent_run_id: UUID | None = None, tags: list[str] | None = None, metadata: dict[str, Any] | None = None, name: str | None = None, **kwargs: Any) RunTree#

Run when the Retriever starts running.

Parameters:
  • serialized (dict[str, Any]) – The serialized retriever.

  • query (str) – The query.

  • run_id (UUID) – The run ID.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • tags (list[str] | None) – The tags for the run. Defaults to None.

  • metadata (dict[str, Any] | None) – The metadata for the run. Defaults to None.

  • name (str | None) – The name of the run.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_retry(retry_state: RetryCallState, *, run_id: UUID, **kwargs: Any) RunTree#

Run on retry.

Parameters:
  • retry_state (RetryCallState) – The retry state.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_text(text: str, *, run_id: UUID, parent_run_id: UUID | None = None, **kwargs: Any) Any#

Run on an arbitrary text.

Parameters:
  • text (str) – The text.

  • run_id (UUID) – The run ID. This is the ID of the current run.

  • parent_run_id (UUID) – The parent run ID. This is the ID of the parent run.

  • kwargs (Any) – Additional keyword arguments.

Return type:

Any

on_tool_end(output: Any, *, run_id: UUID, **kwargs: Any) RunTree#

End a trace for a tool run.

Parameters:
  • output (Any) – The output for the tool.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_tool_error(error: BaseException, *, run_id: UUID, **kwargs: Any) RunTree#

Handle an error for a tool run.

Parameters:
  • error (BaseException) – The error.

  • run_id (UUID) – The run ID.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

on_tool_start(serialized: dict[str, Any], input_str: str, *, run_id: UUID, tags: list[str] | None = None, parent_run_id: UUID | None = None, metadata: dict[str, Any] | None = None, name: str | None = None, inputs: dict[str, Any] | None = None, **kwargs: Any) RunTree#

Start a trace for a tool run.

Parameters:
  • serialized (dict[str, Any]) – The serialized tool.

  • input_str (str) – The input string.

  • run_id (UUID) – The run ID.

  • tags (list[str] | None) – The tags for the run. Defaults to None.

  • parent_run_id (UUID | None) – The parent run ID. Defaults to None.

  • metadata (dict[str, Any] | None) – The metadata for the run. Defaults to None.

  • name (str | None) – The name of the run.

  • inputs (dict[str, Any] | None) – The inputs for the tool.

  • kwargs (Any) – Additional arguments.

Returns:

The run.

Return type:

RunTree

process_model_dict(run: RunTree) Dict[str, Any] | None[source]#

Utility to process a run for wandb model_dict serialization. :param run: The run to process. :return: The convert model_dict to pass to WBTraceTree.

Parameters:

run (RunTree)

Return type:

Dict[str, Any] | None