langchain_core.tracers.evaluation
.EvaluatorCallbackHandler¶
- class langchain_core.tracers.evaluation.EvaluatorCallbackHandler(evaluators: Sequence[RunEvaluator], client: Optional[Client] = None, example_id: Optional[Union[str, UUID]] = None, skip_unfinished: bool = True, project_name: Optional[str] = 'evaluators', max_concurrency: Optional[int] = None, **kwargs: Any)[source]¶
A tracer that runs a run evaluator whenever a run is persisted.
- Parameters
evaluators (Sequence[RunEvaluator]) – The run evaluators to apply to all top level runs.
client (LangSmith Client, optional) – The LangSmith client instance to use for evaluating the runs. If not specified, a new instance will be created.
example_id (Union[UUID, str], optional) – The example ID to be associated with the runs.
project_name (str, optional) – The LangSmith project name to be organize eval chain runs under.
- example_id¶
The example ID associated with the runs.
- Type
Union[UUID, None]
- client¶
The LangSmith client instance used for evaluating the runs.
- Type
Client
- evaluators¶
The sequence of run evaluators to be executed.
- Type
Sequence[RunEvaluator]
- executor¶
The thread pool executor used for running the evaluators.
- Type
ThreadPoolExecutor
- futures¶
The set of futures representing the running evaluators.
- Type
Set[Future]
- skip_unfinished¶
Whether to skip runs that are not finished or raised an error.
- Type
bool
- project_name¶
The LangSmith project name to be organize eval chain runs under.
- Type
Optional[str]
Initialize the tracer.
- Parameters
_schema_format –
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.
kwargs – Additional keyword arguments that will be passed to the super class.
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_llm
Whether to ignore LLM callbacks.
ignore_retriever
Whether to ignore retriever callbacks.
ignore_retry
Whether to ignore retry callbacks.
name
raise_error
run_inline
Methods
__init__
(evaluators[, client, example_id, ...])Initialize the tracer.
on_agent_action
(action, *, run_id[, ...])Run on agent action.
on_agent_finish
(finish, *, run_id[, ...])Run on 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_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 Retriever ends running.
on_retriever_error
(error, *, run_id, **kwargs)Run when Retriever errors.
on_retriever_start
(serialized, query, *, run_id)Run when Retriever starts running.
on_retry
(retry_state, *, run_id, **kwargs)Run on a retry event.
on_text
(text, *, run_id[, parent_run_id])Run on 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.
Wait for all futures to complete.
- __init__(evaluators: Sequence[RunEvaluator], client: Optional[Client] = None, example_id: Optional[Union[str, UUID]] = None, skip_unfinished: bool = True, project_name: Optional[str] = 'evaluators', max_concurrency: Optional[int] = None, **kwargs: Any) None [source]¶
Initialize the tracer.
- Parameters
_schema_format –
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.
kwargs – Additional keyword arguments that will be passed to the super class.
- on_agent_action(action: AgentAction, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any ¶
Run on agent action.
- on_agent_finish(finish: AgentFinish, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any ¶
Run on agent end.
- on_chain_end(outputs: Dict[str, Any], *, run_id: UUID, inputs: Optional[Dict[str, Any]] = None, **kwargs: Any) Run ¶
End a trace for a chain run.
- on_chain_error(error: BaseException, *, inputs: Optional[Dict[str, Any]] = None, run_id: UUID, **kwargs: Any) Run ¶
Handle an error for a chain run.
- on_chain_start(serialized: Dict[str, Any], inputs: Dict[str, Any], *, run_id: UUID, tags: Optional[List[str]] = None, parent_run_id: Optional[UUID] = None, metadata: Optional[Dict[str, Any]] = None, run_type: Optional[str] = None, name: Optional[str] = None, **kwargs: Any) Run ¶
Start a trace for a chain run.
- on_chat_model_start(serialized: Dict[str, Any], messages: List[List[BaseMessage]], *, run_id: UUID, tags: Optional[List[str]] = None, parent_run_id: Optional[UUID] = None, metadata: Optional[Dict[str, Any]] = None, name: Optional[str] = None, **kwargs: Any) Run ¶
Start a trace for an LLM run.
- on_llm_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
Handle an error for an LLM run.
- on_llm_new_token(token: str, *, chunk: Optional[Union[GenerationChunk, ChatGenerationChunk]] = None, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Run ¶
Run on new LLM token. Only available when streaming is enabled.
- on_llm_start(serialized: Dict[str, Any], prompts: List[str], *, run_id: UUID, tags: Optional[List[str]] = None, parent_run_id: Optional[UUID] = None, metadata: Optional[Dict[str, Any]] = None, name: Optional[str] = None, **kwargs: Any) Run ¶
Start a trace for an LLM run.
- on_retriever_end(documents: Sequence[Document], *, run_id: UUID, **kwargs: Any) Run ¶
Run when Retriever ends running.
- on_retriever_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
Run when Retriever errors.
- on_retriever_start(serialized: Dict[str, Any], query: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, tags: Optional[List[str]] = None, metadata: Optional[Dict[str, Any]] = None, name: Optional[str] = None, **kwargs: Any) Run ¶
Run when Retriever starts running.
- on_text(text: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any ¶
Run on arbitrary text.
- on_tool_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
Handle an error for a tool run.
- on_tool_start(serialized: Dict[str, Any], input_str: str, *, run_id: UUID, tags: Optional[List[str]] = None, parent_run_id: Optional[UUID] = None, metadata: Optional[Dict[str, Any]] = None, name: Optional[str] = None, inputs: Optional[Dict[str, Any]] = None, **kwargs: Any) Run ¶
Start a trace for a tool run.