AgentTrajectoryEvaluator Class — langchain Architecture
Architecture documentation for the AgentTrajectoryEvaluator class in schema.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 942e26b5_86b7_44c9_5c6d_e12c17d223b8["AgentTrajectoryEvaluator"] c3049278_87a9_b830_293b_a3dcf7ed9dd3["_EvalArgsMixin"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|extends| c3049278_87a9_b830_293b_a3dcf7ed9dd3 b8a2957b_df2e_04bc_f892_0752a91e1a55["schema.py"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|defined in| b8a2957b_df2e_04bc_f892_0752a91e1a55 f575f00a_7419_ba10_c6f9_9136902c46a5["requires_input()"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|method| f575f00a_7419_ba10_c6f9_9136902c46a5 dead35f2_5d91_cb2b_4630_f4d666053668["_evaluate_agent_trajectory()"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|method| dead35f2_5d91_cb2b_4630_f4d666053668 a6be454e_d689_fe5e_3358_4c8b8a8a2fa6["_aevaluate_agent_trajectory()"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|method| a6be454e_d689_fe5e_3358_4c8b8a8a2fa6 f9083201_751d_03a7_715e_48b36d32dabf["evaluate_agent_trajectory()"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|method| f9083201_751d_03a7_715e_48b36d32dabf b659b7f6_5fb9_1be0_d430_ab613252fe80["aevaluate_agent_trajectory()"] 942e26b5_86b7_44c9_5c6d_e12c17d223b8 -->|method| b659b7f6_5fb9_1be0_d430_ab613252fe80
Relationship Graph
Source Code
libs/langchain/langchain_classic/evaluation/schema.py lines 383–507
class AgentTrajectoryEvaluator(_EvalArgsMixin, ABC):
"""Interface for evaluating agent trajectories."""
@property
def requires_input(self) -> bool:
"""Whether this evaluator requires an input string."""
return True
@abstractmethod
def _evaluate_agent_trajectory(
self,
*,
prediction: str,
agent_trajectory: Sequence[tuple[AgentAction, str]],
input: str, # noqa: A002
reference: str | None = None,
**kwargs: Any,
) -> dict:
"""Evaluate a trajectory.
Args:
prediction: The final predicted response.
agent_trajectory:
The intermediate steps forming the agent trajectory.
input: The input to the agent.
reference: The reference answer.
**kwargs: Additional keyword arguments.
Returns:
The evaluation result.
"""
async def _aevaluate_agent_trajectory(
self,
*,
prediction: str,
agent_trajectory: Sequence[tuple[AgentAction, str]],
input: str, # noqa: A002
reference: str | None = None,
**kwargs: Any,
) -> dict:
"""Asynchronously evaluate a trajectory.
Args:
prediction: The final predicted response.
agent_trajectory:
The intermediate steps forming the agent trajectory.
input: The input to the agent.
reference: The reference answer.
**kwargs: Additional keyword arguments.
Returns:
The evaluation result.
"""
return await run_in_executor(
None,
self._evaluate_agent_trajectory,
prediction=prediction,
agent_trajectory=agent_trajectory,
reference=reference,
input=input,
**kwargs,
)
def evaluate_agent_trajectory(
self,
*,
prediction: str,
agent_trajectory: Sequence[tuple[AgentAction, str]],
input: str, # noqa: A002
reference: str | None = None,
**kwargs: Any,
) -> dict:
"""Evaluate a trajectory.
Args:
prediction: The final predicted response.
agent_trajectory:
The intermediate steps forming the agent trajectory.
input: The input to the agent.
reference: The reference answer.
Extends
Source
Frequently Asked Questions
What is the AgentTrajectoryEvaluator class?
AgentTrajectoryEvaluator is a class in the langchain codebase, defined in libs/langchain/langchain_classic/evaluation/schema.py.
Where is AgentTrajectoryEvaluator defined?
AgentTrajectoryEvaluator is defined in libs/langchain/langchain_classic/evaluation/schema.py at line 383.
What does AgentTrajectoryEvaluator extend?
AgentTrajectoryEvaluator extends _EvalArgsMixin.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free