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]¶
每当持久化运行时,就会运行运行评估器的跟踪器。
- 参数
evaluators (Sequence[RunEvaluator])- 应用到所有顶级运行的运行评估器。
client (LangSmith 客户端,可选)- 用于评估运行的 LangSmith 客户端实例。如果没有指定,将创建一个新的实例。
example_id (Union[UUID, str], 可选)- 要与运行关联的示例 ID。
project_name (str,可选)- 在其下组织评估链运行的 LangSmith 项目名称。
skip_unfinished (bool)-
max_concurrency (可选[int])-
kwargs (Any)-
- 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_unfinished (bool)-
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)为工具运行启动跟踪。
等待所有未完成。
- __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_unfinished (bool)-
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) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- 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]]) – 与自定义事件关联的元数据(包括继承的元数据)。
kwargs (Any)-
- 返回类型
Any
自0.2.15版本开始引入。
- on_llm_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
处理LLM运行的错误。
- 参数
error (BaseException) – 错误。
run_id (UUID) – 运行ID。
kwargs (Any) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- on_retriever_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
当检索器出错时执行。
- 参数
error (BaseException) – 错误。
run_id (UUID) – 运行ID。
kwargs (Any) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- on_retry(retry_state: RetryCallState, *, run_id: UUID, **kwargs: Any) Run ¶
在重试时执行。
- 参数
retry_state (RetryCallState) – 重试状态。
run_id (UUID) – 运行ID。
kwargs (Any) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型
- on_tool_error(error: BaseException, *, run_id: UUID, **kwargs: Any) Run ¶
处理工具运行的错误。
- 参数
error (BaseException) – 错误。
run_id (UUID) – 运行ID。
kwargs (Any) – 额外的参数。
- 返回
运行。
- 返回类型
- 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) – 额外的参数。
- 返回
运行。
- 返回类型