比较评估器
LangChain中的比较评估器有助于衡量两个不同的链或LLM输出。这些评估器对于比较分析非常有用,例如在两个语言模型之间进行A/B测试,或者比较同一模型的不同版本。它们还可以用于生成ai辅助强化学习的偏好分数等方面。
这些评估器继承自PairwiseStringEvaluator
类,为两个字符串提供比较接口 - 通常是来自两个不同提示或模型的输出,或者同一模型的两个版本。实质上,比较评估器对一对字符串进行评估,并返回包含评估分数和其他相关细节的字典。
要创建自定义的比较评估器,请继承PairwiseStringEvaluator
类并重写_evaluate_string_pairs
方法。如果需要异步评估,还需重写_aevaluate_string_pairs
方法。
以下是比较评估器的关键方法和属性的摘要:
evaluate_string_pairs
:评估输出字符串对。创建自定义评估器时应重写此函数。aevaluate_string_pairs
:异步评估输出字符串对。为实现异步评估,应重写此函数。requires_input
:此属性指示此评估器是否需要输入字符串。requires_reference
:此属性指定此评估器是否需要参考标签。
有关创建自定义评估器和可用的内置比较评估器的详细信息,请参阅以下各节。
📄️ 自定义成对评估器
您可以通过继承PairwiseStringEvaluator类并重写evaluatestringpairs方法(如果要异步使用评估器,则还需重写aevaluatestringpairs方法)来创建自己的成对字符串评估器。
📄️ 两两Embedding距离
衡量两个在共享或相似输入上的预测之间的相似性(或不相似性)的一种方法是将预测进行嵌入,并计算两个嵌入之间的向量距离[1]。
📄️ 逐对字符串比较
通常,您会希望比较LLM、Chain或Agent对于给定输入的预测。StringComparison评估器可以帮助您回答以下问题: