Skip to main content

字符串评估器

字符串评估器是LangChain中的一个组件,用于通过比较生成的输出(预测)与参考字符串或输入来评估语言模型的性能。这个比较是评估语言模型的关键步骤,提供了生成文本的准确性或质量的度量。

在实践中,字符串评估器通常用于评估预测的字符串与给定的输入(如问题或提示)的匹配程度。通常,会提供一个参考标签或上下文字符串来定义正确或理想的响应。这些评估器可以根据您的应用程序的特定要求进行定制。

要创建一个自定义的字符串评估器,可以继承StringEvaluator类并实现_evaluate_strings方法。如果需要异步支持,还需实现_aevaluate_strings方法。

以下是与字符串评估器相关的关键属性和方法的摘要:

  • evaluation_name:指定评估的名称。
  • requires_input:布尔属性,指示评估器是否需要输入字符串。如果为True,则在未提供输入时,评估器将引发错误。如果为False,则如果提供了输入,将记录警告,指示它不会在评估中考虑。
  • requires_reference:布尔属性,指定评估器是否需要参考标签。如果为True,则在未提供参考时,评估器将引发错误。如果为False,则如果提供了参考,将记录警告,指示它不会在评估中考虑。

字符串评估器还实现了以下方法:

  • aevaluate_strings:异步评估Chain或语言模型的输出,支持可选的输入和标签。
  • evaluate_strings:同步评估Chain或语言模型的输出,支持可选的输入和标签。

以下部分提供了有关可用字符串评估器实现的详细信息,以及如何创建自定义字符串评估器的说明。