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