langchain.evaluation.parsing.json_distance.JsonEditDistanceEvaluator

class langchain.evaluation.parsing.json_distance.JsonEditDistanceEvaluator(string_distance: Optional[Callable[[str, str], float]] = None, canonicalize: Optional[Callable[[Any], Any]] = None, **kwargs: Any)[source]

用于计算JSON字符串间编辑距离的评估器。

该评估器在解析并转换两个JSON字符串到规范格式(即空格和键顺序被规范化)后,计算它们的归一化Damerau-Levenshtein距离。它可以自定义不同的距离和规范化函数。

参数
  • string_distance (可选[Callable[[str, str], float]]) – 一个可调用的函数,用于计算两个字符串之间的距离。如果没有提供,将使用来自rapidfuzz包的Damerau-Levenshtein距离。

  • canonicalize (可选[Callable[[Any], Any]]) – 一个可调用的函数,将解析后的JSON对象转换为规范字符串形式。如果没有提供,默认行为是按顺序序列化JSON,不带额外空格。

  • **kwargs (任何) – 其他关键字参数。

_string_distance

内部距离计算函数。

类型

Callable[[str, str], float]

_canonicalize

内部规范化函数。

类型

Callable[[Any], Any]

示例

>>> evaluator = JsonEditDistanceEvaluator()
>>> result = evaluator.evaluate_strings(prediction='{"a": 1, "b": 2}', reference='{"a": 1, "b": 3}')
>>> assert result["score"] is not None
引发异常

ImportError – 如果没有安装rapidfuzz并且没有提供替代的string_distance函数。

参数
  • string_distance (可选[Callable[[str, str], float]]) –

  • canonicalize (可选[Callable[[Any], Any]]) –

  • kwargs (任何) –

属性

evaluation_name

评估器的名称。

requires_input

这个评估器是否需要输入字符串。

requires_reference

这个评估器是否需要参考标签。

方法

__init__([string_distance,  canonicalize])

aevaluate_strings(*,  prediction[, ...])

基于可选的输入和标签,异步评估Chain或LLM的输出。

evaluate_strings(*,  prediction[, reference, ...])

基于可选的输入和标签,评估Chain或LLM的输出。

__init__(string_distance: Optional[Callable[[str, str], float]] = None, canonicalize: Optional[Callable[[Any], Any]] = None, **kwargs: Any) None[source]
参数
  • string_distance (可选[Callable[[str, str], float]]) –

  • canonicalize (可选[Callable[[Any], Any]]) –

  • kwargs (任何) –

返回类型

None

async aevaluate_strings(*, prediction: str, reference: Optional[str] = None, input: Optional[str] = None, **kwargs: Any) dict

基于可选的输入和标签,异步评估Chain或LLM的输出。

参数
  • prediction (str) – 要评估的LLM或chain预测。

  • 参考 (可选[字符串]可选) – 用于评估的参考标签。

  • 输入 (可选[字符串]可选) – 评估时考虑的输入。

  • kwargs (任意类型) – 额外的关键字参数,包括回调、标签等。

返回值

包含得分或值的评估结果。

返回类型

dict

evaluate_strings(*, prediction: str, reference: Optional[str] = None, input: Optional[str] = None, **kwargs: Any) dict

基于可选的输入和标签,评估Chain或LLM的输出。

参数
  • prediction (str) – 要评估的LLM或chain预测。

  • 参考 (可选[字符串]可选) – 用于评估的参考标签。

  • 输入 (可选[字符串]可选) – 评估时考虑的输入。

  • kwargs (任意类型) – 额外的关键字参数,包括回调、标签等。

返回值

包含得分或值的评估结果。

返回类型

dict