Catalog PyPI
Back to packageRELEASE DETAILS

0.4.0

PyPI

agentforge-eval-geval

LLM-judge evaluators (G-Eval) for AgentForge

agentaievaluationgevalllm-judge
Published24 Jun 2026
Direct dependencies2
Transitive dependenciesNot calculated

README

Version 0.4.0 documentation

agentforge-eval-geval

LLM-judge evaluators for AgentForge (feat-006).

This package ships the G-Eval engine — an LLM-as-judge grader that scores agent outputs against a rubric YAML — plus six named graders that wrap G-Eval with reference rubrics:

GraderScores
CorrectnessOutput matches the ground-truth answer (rubric-tunable for binary / Likert / ordinal)
FaithfulnessOutput is supported by the retrieved evidence (no claims beyond what was retrieved)
GroundednessOutput stays inside the provided sources (no off-source content)
HallucinationOutput contains content not derivable from inputs (faithfulness + groundedness combined into a single risk score)
RelevanceOutput addresses the user's question vs going off-topic
HelpfulnessOutput is useful — actionable, complete, well-structured

Each grader takes a judge LLMClient at construction. The judge is typically a cheaper model than the agent's primary model (e.g. Haiku judging Sonnet output) — cuts cost and reduces "judge agrees with itself" bias.

Quick start

from agentforge import Agent
from agentforge_bedrock import BedrockClient
from agentforge_eval_geval import Correctness, Faithfulness

judge = BedrockClient(model_id="us.anthropic.claude-haiku-4-5")

agent = Agent(
    model="bedrock:us.anthropic.claude-sonnet-4-5-20250929",
    evaluators=[
        Correctness(judge=judge, ground_truth_field="expected"),
        Faithfulness(judge=judge, sources_field="retrieved_docs"),
    ],
)
result = await agent.run("Summarise PR #42")
print(result.eval_scores)

Cost-bounded: each judge call bills against the run's BudgetPolicy (feat-007). When the remaining budget falls below the grader's cost_estimate_usd, the agent skips the grader and logs a WARN.

Custom rubrics with G-Eval

from agentforge_eval_geval import GEval

grader = GEval(
    judge=judge,
    name="code-review-quality",
    rubric={
        "criteria": "Score the PR description's accuracy and completeness.",
        "scoring": "0.0 = incorrect/incomplete; 1.0 = accurate and complete",
        "examples": [
            {"output": "...", "score": 0.9, "reasoning": "..."},
        ],
    },
)

Or load from a YAML file:

grader = GEval.from_rubric_file("./rubrics/code-review.yaml", judge=judge)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 2

Native requirements
2 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
agentforge-core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.13",
  "evaluation": "NOT_EVALUATED"
}
agentforge-core~=0.4.0runtime
pyyaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.13",
  "evaluation": "NOT_EVALUATED"
}
pyyaml>=6.0runtime

Distribution files

2 collected
agentforge_eval_geval-0.4.0-py3-none-any.whl

bdist_wheel · 15.42 KB · Python py3

Source file
agentforge_eval_geval-0.4.0.tar.gz

sdist · 14.46 KB · Python source

Source file

Repository

PENDING
scaffoldic/agentforge-py

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:57 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:7861d6f14d734331bb7b845045f7965a9cfa0cf578eacf09d09c9e70042c8a45

Other collected versions

View all collected versions →