FaithfulnessMetric | RAG: Faithfulness | AgentX is stricter by design: claims must be supported by the context, not merely non-contradicting. In our comparison, a fully unsupported answer scored 1.00 on DeepEval (“no contradictions”) and 1/10 here. |
AnswerRelevancyMetric | RAG: Answer Relevancy | Both judge direction only, never correctness (that’s Faithfulness’s job). |
ContextualRelevancyMetric | RAG: Context Relevancy | AgentX judges holistically with per-chunk reasoning; DeepEval scores a statement ratio, which can cliff (a retrieval containing the exact answer scored 0.00 in our comparison when a sibling chunk diluted the ratio). |
ContextualPrecisionMetric | RAG: Contextual Precision | Same contract, including “no relevant chunks scores 0”. |
ContextualRecallMetric | RAG: Contextual Recall | Both require a reference answer. DeepEval raises MissingTestCaseParamsError mid-run without one; AgentX marks the scorer Needs a reference answer - live scoring is refused up front and reference-less dataset cases skip with a reason. |
GEval(criteria=...) | Any judge scorer | Your GEval criteria paste straight into a scorer’s acceptance/rejection/evaluation criteria - and the same scorer then also scores live traffic. |
TaskCompletionMetric | Agent: Task Completion | Trajectory-anchored: the judge sees the tools called, in order, with failures. |
ToolCorrectnessMetric | Agent: Tool Correctness + expectedTools on cases | For exact matching, dataset cases’ expected_tools is deterministic - zero LLM cost. The judge template covers the semantic cases exact matching can’t. |
StepEfficiencyMetric | Agent: Step Efficiency | Loops, redundant calls, dead ends - judged from the trajectory. |
KnowledgeRetentionMetric | Session: Knowledge Retention | Enable live scoring with per-session scope; the judge grades the whole transcript. |
RoleAdherenceMetric | Session: Role Adherence | Same session mechanism. |
ToxicityMetric / BiasMetric | Safety: Harmful Content / Safety: Bias & Fairness | Judge-based, meaning-level. The zero-cost template patterns (secrets, PII, profanity) catch literal matches without any LLM spend. |
assert_test (pytest) | agentx.testing.assert_evaluation | Same ergonomic; the verdict is also recorded in the dashboard’s CI gate history. |