轨迹评估器 Trajectory Evaluators
LangChain中的轨迹评估器提供了一种更全面的评估代理的方法。这些评估器评估代理所采取的完整动作序列及其相应的响应,我们称之为"轨迹"。这样可以更好地衡量代理的效果和能力。
轨迹评估器实现了AgentTrajectoryEvaluator
接口,该接口需要两个主要方法:
evaluate_agent_trajectory
:该方法同步评估代理的轨迹。aevaluate_agent_trajectory
:该异步方法允许并行运行评估以提高效率。
这两个方法都接受三个主要参数:
input
:给定给代理的初始输入。prediction
:代理的最终预测响应。agent_trajectory
:代理所采取的中间步骤,以元组列表的形式给出。
这些方法返回一个字典。建议自定义实现返回一个score
(表示代理效果的浮点数)和一个reasoning
(解释分数背后的推理的字符串)。
您可以通过使用return_intermediate_steps=True
参数来捕获代理的轨迹。这样可以收集所有中间步骤,而无需依赖特殊的回调函数。
有关轨迹评估器的实现和使用的更深入介绍,请参阅下面的部分。
📄️ 自定义轨迹评估器
您可以通过继承AgentTrajectoryEvaluator类并重写evaluateagenttrajectory(和aevaluateagentaction)方法来创建自己的自定义轨迹评估器。
📄️ 代理轨迹
由于代理可以采取的行动和生成的广度,对其进行全面评估可能会很困难。我们建议根据您的用例使用多种适用的评估技术。评估代理的一种方法是查看采取的所有行动以及它们的响应的完整轨迹。