LogStreamCallbackHandler#
- class langchain_core.tracers.log_stream.LogStreamCallbackHandler(
- *,
- auto_close: bool = True,
- include_names: Sequence[str] | None = None,
- include_types: Sequence[str] | None = None,
- include_tags: Sequence[str] | None = None,
- exclude_names: Sequence[str] | None = None,
- exclude_types: Sequence[str] | None = None,
- exclude_tags: Sequence[str] | None = None,
- _schema_format: Literal['original', 'streaming_events'] = 'streaming_events',
Tracer that streams run logs to a stream.
A tracer that streams run logs to a stream.
- Parameters:
auto_close (bool) – Whether to close the stream when the root run finishes.
include_names (Optional[Sequence[str]]) – Only include runs from Runnables with matching names.
include_types (Optional[Sequence[str]]) – Only include runs from Runnables with matching types.
include_tags (Optional[Sequence[str]]) – Only include runs from Runnables with matching tags.
exclude_names (Optional[Sequence[str]]) – Exclude runs from Runnables with matching names.
exclude_types (Optional[Sequence[str]]) – Exclude runs from Runnables with matching types.
exclude_tags (Optional[Sequence[str]]) – Exclude runs from Runnables with matching tags.
_schema_format (Literal['original', 'streaming_events']) –
Primarily changes how the inputs and outputs are handled.
For internal use only. This API will change.
’original’ is the format used by all current tracers. This format is slightly inconsistent with respect to inputs and outputs.
’streaming_events’ is used for supporting streaming events, for internal usage. It will likely change in the future, or be deprecated entirely in favor of a dedicated async tracer for streaming events.
- Raises:
ValueError – If an invalid schema format is provided (internal use only).
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__
(*[, auto_close, include_names, ...])A tracer that streams run logs to a stream.
include_run
(run)Check if a Run should be included in the log.
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.
send
(*ops)Send a patch to the stream, return False if the stream is closed.
tap_output_aiter
(run_id, output)Tap an output async iterator to stream its values to the log.
tap_output_iter
(run_id, output)Tap an output async iterator to stream its values to the log.
- __init__(
- *,
- auto_close: bool = True,
- include_names: Sequence[str] | None = None,
- include_types: Sequence[str] | None = None,
- include_tags: Sequence[str] | None = None,
- exclude_names: Sequence[str] | None = None,
- exclude_types: Sequence[str] | None = None,
- exclude_tags: Sequence[str] | None = None,
- _schema_format: Literal['original', 'streaming_events'] = 'streaming_events',
A tracer that streams run logs to a stream.
- Parameters:
auto_close (bool) – Whether to close the stream when the root run finishes.
include_names (Optional[Sequence[str]]) – Only include runs from Runnables with matching names.
include_types (Optional[Sequence[str]]) – Only include runs from Runnables with matching types.
include_tags (Optional[Sequence[str]]) – Only include runs from Runnables with matching tags.
exclude_names (Optional[Sequence[str]]) – Exclude runs from Runnables with matching names.
exclude_types (Optional[Sequence[str]]) – Exclude runs from Runnables with matching types.
exclude_tags (Optional[Sequence[str]]) – Exclude runs from Runnables with matching tags.
_schema_format (Literal['original', 'streaming_events']) –
Primarily changes how the inputs and outputs are handled.
For internal use only. This API will change.
’original’ is the format used by all current tracers. This format is slightly inconsistent with respect to inputs and outputs.
’streaming_events’ is used for supporting streaming events, for internal usage. It will likely change in the future, or be deprecated entirely in favor of a dedicated async tracer for streaming events.
- Raises:
ValueError – If an invalid schema format is provided (internal use only).
- Return type:
None
- include_run(run: Run) bool [source]#
Check if a Run should be included in the log.
- Parameters:
run (Run) – The Run to check.
- Returns:
True if the run should be included, False otherwise.
- Return type:
bool
- on_agent_action(
- action: AgentAction,
- *,
- run_id: UUID,
- parent_run_id: UUID | None = None,
- **kwargs: 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,
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,
End a trace for a chain run.
- Parameters:
outputs (dict[str, Any]) – The outputs for the chain.
run_id (UUID) – The run ID.
inputs (Optional[dict[str, Any]]) – The inputs for the chain. Defaults to None.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- on_chain_error(
- error: BaseException,
- *,
- inputs: dict[str, Any] | None = None,
- run_id: UUID,
- **kwargs: Any,
Handle an error for a chain run.
- Parameters:
error (BaseException) – The error.
inputs (Optional[dict[str, Any]]) – The inputs for the chain. Defaults to None.
run_id (UUID) – The run ID.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- 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,
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 (Optional[list[str]]) – The tags for the run. Defaults to None.
parent_run_id (Optional[UUID]) – The parent run ID. Defaults to None.
metadata (Optional[dict[str, Any]]) – The metadata for the run. Defaults to None.
run_type (Optional[str]) – The type of the run. Defaults to None.
name (Optional[str]) – The name of the run.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- 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,
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 (Optional[list[str]]) – The tags for the run. Defaults to None.
parent_run_id (Optional[UUID]) – The parent run ID. Defaults to None.
metadata (Optional[dict[str, Any]]) – The metadata for the run. Defaults to None.
name (Optional[str]) – The name of the run.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- on_custom_event(
- name: str,
- data: Any,
- *,
- run_id: UUID,
- tags: list[str] | None = None,
- metadata: dict[str, Any] | None = None,
- **kwargs: 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 (Optional[list[str]]) – The tags associated with the custom event (includes inherited tags).
metadata (Optional[dict[str, Any]]) – 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,
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:
Run
- on_llm_error(
- error: BaseException,
- *,
- run_id: UUID,
- **kwargs: Any,
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:
Run
- on_llm_new_token(
- token: str,
- *,
- chunk: GenerationChunk | ChatGenerationChunk | None = None,
- run_id: UUID,
- parent_run_id: UUID | None = None,
- **kwargs: Any,
Run on new LLM token. Only available when streaming is enabled.
- Parameters:
token (str) – The token.
chunk (Optional[Union[GenerationChunk, ChatGenerationChunk]]) – The chunk. Defaults to None.
run_id (UUID) – The run ID.
parent_run_id (Optional[UUID]) – The parent run ID. Defaults to None.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- 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,
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 (Optional[list[str]]) – The tags for the run. Defaults to None.
parent_run_id (Optional[UUID]) – The parent run ID. Defaults to None.
metadata (Optional[dict[str, Any]]) – The metadata for the run. Defaults to None.
name (Optional[str]) – The name of the run.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- on_retriever_end(
- documents: Sequence[Document],
- *,
- run_id: UUID,
- **kwargs: Any,
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,
Run when Retriever errors.
- Parameters:
error (BaseException) – The error.
run_id (UUID) – The run ID.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- 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,
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 (Optional[UUID]) – The parent run ID. Defaults to None.
tags (Optional[list[str]]) – The tags for the run. Defaults to None.
metadata (Optional[dict[str, Any]]) – The metadata for the run. Defaults to None.
name (Optional[str]) – The name of the run.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- on_retry(
- retry_state: RetryCallState,
- *,
- run_id: UUID,
- **kwargs: Any,
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:
Run
- on_text(
- text: str,
- *,
- run_id: UUID,
- parent_run_id: UUID | None = None,
- **kwargs: 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,
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:
Run
- on_tool_error(
- error: BaseException,
- *,
- run_id: UUID,
- **kwargs: Any,
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:
Run
- 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,
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 (Optional[list[str]]) – The tags for the run. Defaults to None.
parent_run_id (Optional[UUID]) – The parent run ID. Defaults to None.
metadata (Optional[dict[str, Any]]) – The metadata for the run. Defaults to None.
name (Optional[str]) – The name of the run.
inputs (Optional[dict[str, Any]]) – The inputs for the tool.
kwargs (Any) – Additional arguments.
- Returns:
The run.
- Return type:
Run
- send(
- *ops: dict[str, Any],
Send a patch to the stream, return False if the stream is closed.
- Parameters:
*ops (dict[str, Any]) – The operations to send to the stream.
- Returns:
- True if the patch was sent successfully, False if the stream
is closed.
- Return type:
bool
- async tap_output_aiter(
- run_id: UUID,
- output: AsyncIterator[T],
Tap an output async iterator to stream its values to the log.
- Parameters:
run_id (UUID) – The ID of the run.
output (AsyncIterator[T]) – The output async iterator.
- Yields:
T – The output value.
- Return type:
AsyncIterator[T]