langchain_core.tracers.evaluation.EvaluatorCallbackHandler

class langchain_core.tracers.evaluation.EvaluatorCallbackHandler(evaluators: Sequence[RunEvaluator], client: Optional[Client], example_id: Optional[Union[str, UUID]], skip_unfinished: bool = True, project_name: Optional[str], max_concurrency: Optional[int], **kwargs: Any)[source]

每当持久化运行时,就会运行运行评估器的跟踪器。

参数
  • evaluatorsSequence[RunEvaluator])- 应用到所有顶级运行的运行评估器。

  • clientLangSmith 客户端可选)- 用于评估运行的 LangSmith 客户端实例。如果没有指定,将创建一个新的实例。

  • example_idUnion[UUID, str], 可选)- 要与运行关联的示例 ID。

  • project_namestr可选)- 在其下组织评估链运行的 LangSmith 项目名称。

  • skip_unfinishedbool)-

  • max_concurrency可选[int])-

  • kwargsAny)-

example_id

与运行关联的示例 ID。

类型

Union[UUID, None]

client

用于评估运行的 LangSmith 客户端实例。

类型

Client

evaluators

要执行的操作序列运行评估器。

类型

Sequence[RunEvaluator]

executor

用于运行评估器的线程池执行器。

类型

ThreadPoolExecutor

futures

表示正在运行的评估器的集合。

类型

Set[Future]

skip_unfinished

是否跳过未完成或发生错误的运行。

类型

bool

project_name

介于LangSmith项目名下进行评估链运行的LangSmith项目名。

类型

Optional[str]

初始化跟踪器。

参数
  • _schema_format

    主要改变输入和输出的处理方式。仅内部使用。此API将会更改。

    • 'original'格式是所有当前跟踪器所使用的格式。该格式在输入和输出方面略有不一致。

    • 'streaming_events'用于支持流事件,仅内部使用。将来可能会更改,或者可能被完全弃用,以支持用于流事件的专用异步跟踪器。

    • 'original+chat'格式与'original'相同,但在_on_chat_model_start时不会引发AttributeError。

  • kwargs (Any) – 将传递给超类的水声plementary 关键字参数。

  • evaluators (Sequence[langsmith.RunEvaluator]) –

  • client (Optional[langsmith.Client]) –

  • example_id (Optional[Union[UUID, str]]) –

  • skip_unfinishedbool)-

  • project_name (Optional[str]) –

  • max_concurrency可选[int])-

属性

ignore_agent

是否忽略代理回调。

ignore_chain

是否忽略链回调。

ignore_chat_model

是否忽略聊天模型回调。

ignore_custom_event

忽略自定义事件。

ignore_llm

是否忽略LLM回调。

ignore_retriever

是否忽略检索器回调。

ignore_retry

是否忽略重试回调。

log_missing_parent

name

raise_error

如果发生异常,则是否引发错误。

run_inline

是否内联运行回调。

方法

__init__(evaluators[, client, example_id, ...])

初始化跟踪器。

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

在代理操作上运行。

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

在代理动作结束后运行。

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

结束链运行的跟踪。

on_chain_error(error, *[, inputs])

处理链运行错误。

on_chain_start(serialized, inputs, *, run_id)

为链式运行启动一个跟踪。

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

为LLM运行启动一个跟踪。

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

覆盖以定义自定义事件的处理器。

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

结束LLM运行的跟踪。

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

处理LLM运行的错误。

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

在新的LLM令牌上运行。

on_llm_start(serialized, prompts, *, run_id)

为LLM运行启动一个跟踪。

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

当检索器运行结束时执行。

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

当检索器出错时执行。

on_retriever_start(serialized, query, *, run_id)

当检索器开始运行时执行。

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

在重试时执行。

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

在任意文本上执行。

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

结束工具运行的跟踪。

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

处理工具运行的错误。

on_tool_start(serialized, input_str, *, run_id)

为工具运行启动跟踪。

wait_for_futures()

等待所有未完成。

__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[源代码]

初始化跟踪器。

参数
  • _schema_format

    主要改变输入和输出的处理方式。仅内部使用。此API将会更改。

    • 'original'格式是所有当前跟踪器所使用的格式。该格式在输入和输出方面略有不一致。

    • 'streaming_events'用于支持流事件,仅内部使用。将来可能会更改,或者可能被完全弃用,以支持用于流事件的专用异步跟踪器。

    • 'original+chat'格式与'original'相同,但在_on_chat_model_start时不会引发AttributeError。

  • kwargs (Any) – 将传递给超类的水声plementary 关键字参数。

  • evaluators (Sequence[RunEvaluator]) –

  • client (Optional[Client]) –

  • example_id (Optional[Union[str, UUID]]) –

  • skip_unfinishedbool)-

  • project_name (Optional[str]) –

  • max_concurrency可选[int])-

返回类型

None

on_agent_action(action: AgentAction, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any

在代理操作上运行。

参数
  • action (AgentAction) – 代理动作。

  • run_id (UUID) – 运行ID。这是当前运行的ID。

  • parent_run_id (UUID) – 父运行ID。这是父运行的ID。

  • kwargs (Any) – 额外的关键字参数。

返回类型

Any

on_agent_finish(finish: AgentFinish, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any

在代理动作结束后运行。

参数
  • finish (AgentFinish) – 代理完成。

  • run_id (UUID) – 运行ID。这是当前运行的ID。

  • parent_run_id (UUID) – 父运行ID。这是父运行的ID。

  • kwargs (Any) – 额外的关键字参数。

返回类型

Any

on_chain_end(outputs: Dict[str, Any], *, run_id: UUID, inputs: Optional[Dict[str, Any]] = None, **kwargs: Any) Run

结束链运行的跟踪。

参数
  • outputs (Dict[str, Any]) – 链的输出。

  • run_id (UUID) – 运行ID。

  • inputs (Optional[Dict[str, Any]]) – 链的输入。默认为None。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

on_chain_error(error: BaseException, *, inputs: Optional[Dict[str, Any]] = None, run_id: UUID, **kwargs: Any) Run

处理链运行错误。

参数
  • error (BaseException) – 错误。

  • inputs (Optional[Dict[str, Any]]) – 链的输入。默认为None。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

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

为链式运行启动一个跟踪。

参数
  • serialized (字典[字符串, Any]) – 序列化的链。

  • inputs (字典[字符串, Any]) – 链的输入。

  • run_id (UUID) – 运行ID。

  • tags (可选[列表[字符串]]) – 运行的标签。默认为空。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • metadata (可选[字典[字符串, Any]]) – 运行的元数据。默认为空。

  • run_type (可选[字符串]) – 运行的类型。默认为空。

  • name (可选[字符串]) – 运行的名称。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

on_chat_model_start(serialized: Dict[str, Any], messages: List[List[BaseMessage]], *, run_id: UUID, tags: Optional[List[str]], parent_run_id: Optional[UUID], metadata: Optional[Dict[str, Any]], name: Optional[str], **kwargs: Any) Run

为LLM运行启动一个跟踪。

参数
  • serialized (.Dict[str, Any]) – 序列化的模型。

  • messages (.List[List[BaseMessage]]) – 用于开始聊天的消息。

  • run_id (UUID) – 运行ID。

  • tags (可选[列表[字符串]]) – 运行的标签。默认为空。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • metadata (可选[字典[字符串, Any]]) – 运行的元数据。默认为空。

  • name (可选[字符串]) – 运行的名称。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

on_custom_event(name: str, data: Any, *, run_id: UUID, tags: Optional[List[str]] = None, metadata: Optional[Dict[str, Any]] = None, **kwargs: Any) Any

覆盖以定义自定义事件的处理器。

参数
  • name (str) – 自定义事件的名称。

  • data (Any) – 自定义事件的数据。格式将与用户指定的格式相匹配。

  • run_id (UUID) – 运行ID。

  • tags (Optional[List[str]]) – 与自定义事件关联的标签(包括继承的标签)。

  • metadata (Optional[Dict[str, Any]]) – 与自定义事件关联的元数据(包括继承的元数据)。

  • kwargsAny)-

返回类型

Any

自0.2.15版本开始引入。

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

结束LLM运行的跟踪。

参数
  • response (LLMResult) – 响应。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

处理LLM运行的错误。

参数
  • error (BaseException) – 错误。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

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

在新的 LLM 令牌上运行。只有启用流时才可用。

参数
  • token (str) – 字符串令牌。

  • chunk (Optional[Union[GenerationChunk, ChatGenerationChunk]]) – 数据块。默认为 None。

  • run_id (UUID) – 运行ID。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

为LLM运行启动一个跟踪。

参数
  • serialized (.Dict[str, Any]) – 序列化的模型。

  • prompts (列表[字符串]) – 启动LLM时使用的提示。

  • run_id (UUID) – 运行ID。

  • tags (可选[列表[字符串]]) – 运行的标签。默认为空。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • metadata (可选[字典[字符串, Any]]) – 运行的元数据。默认为空。

  • name (可选[字符串]) – 运行的名称。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

当检索器运行结束时执行。

参数
  • documents (序列[Document]) – 文档。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

on_retriever_error(error: BaseException, *, run_id: UUID, **kwargs: Any) 返回 Run

当检索器出错时执行。

参数
  • error (BaseException) – 错误。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

当检索器开始运行时执行。

参数
  • serialized (Dict[str, Any]) – 序列化检索器。

  • query (str) – 查询。

  • run_id (UUID) – 运行ID。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • tags (可选[列表[字符串]]) – 运行的标签。默认为空。

  • metadata (可选[字典[字符串, Any]]) – 运行的元数据。默认为空。

  • name (可选[字符串]) – 运行的名称。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

在重试时执行。

参数
  • retry_state (RetryCallState) – 重试状态。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

on_text(text: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any

在任意文本上执行。

参数
  • text (str) – 文本内容。

  • run_id (UUID) – 运行ID。这是当前运行的ID。

  • parent_run_id (UUID) – 父运行ID。这是父运行的ID。

  • kwargs (Any) – 额外的关键字参数。

返回类型

Any

on_tool_end(output: Any, *, run_id: UUID, **kwargs: Any) Run

结束工具运行的跟踪。

参数
  • output (Any) – 工具的输出。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

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

处理工具运行的错误。

参数
  • error (BaseException) – 错误。

  • run_id (UUID) – 运行ID。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

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

为工具运行启动跟踪。

参数
  • serialized (Dict[str, Any]) – 工具的序列化形式。

  • input_str (str) – 输入字符串。

  • run_id (UUID) – 运行ID。

  • tags (可选[列表[字符串]]) – 运行的标签。默认为空。

  • parent_run_id (可选[UUID]) – 父运行ID。默认为空。

  • metadata (可选[字典[字符串, Any]]) – 运行的元数据。默认为空。

  • name (可选[字符串]) – 运行的名称。

  • inputs (Optional[Dict[str, Any]]) – 工具的输入参数。

  • kwargs (Any) – 额外的参数。

返回

运行。

返回类型

Run

wait_for_futures]() None[source]

等待所有未完成。

返回类型

None