Skip to main content

External CLI for evaluating Fred agent turns via /agents/evaluate

Project description

fred-deepeval-cli

External CLI for evaluating one Fred agent turn through POST /agents/evaluate.

Purpose

This project provides a small external CLI that:

  • calls a Fred pod /agents/evaluate endpoint
  • receives an EvalTrace
  • classifies the turn outcome
  • resolves an evaluation preset from agent_tags
  • computes structural checks
  • scores the trace with DeepEval

Commands

make dev
make eval-dev
make test
make code-quality
make cli
make score BASE_URL=http://127.0.0.1:8000/fred/agents/v2 AGENT_ID=fred.test.assistant INPUT="echo bonjour" SESSION_ID=eval-001 USER_ID=alice
make sql-scenarios BASE_URL=http://127.0.0.1:8000/fred/agents/v2

## Documentation

| Topic | File |
| --- | --- |
| Evaluate any Fred agent pod | `docs/evaluating-any-fred-agent.md` |
| RAG evaluation  approach and metrics | `docs/rag-evaluation-rfc.md` |
| RAG local setup guide | `docs/rag-local-setup.md` |
| SQL evaluation | `docs/sql-evaluation.md` |
| OTel export strategy | `fred/docs/swift/rfc/AGENT-EVALUATION-RFC.md §13` |

## Architecture — EVAL-01 Phase 1

This CLI is being restructured into a reusable library core so the Fred
Control Plane evaluation worker can call it directly without spawning a subprocess.

- `fred_deepeval_cli/core/`  callable library (models, evaluator, profiles, scorer, judge factory)
- `fred_deepeval_cli/cli/`  thin CLI adapter over the core
- `fred_deepeval_cli/worker_adapter.py`  public entrypoint for the Control Plane worker

The CLI interface and JSON output remain unchanged.
See EVAL-01 Phase 1 issue and `fred/docs/swift/rfc/AGENT-EVALUATION-RFC.md §7.3`.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fred_deepeval_cli-0.1.2.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fred_deepeval_cli-0.1.2-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file fred_deepeval_cli-0.1.2.tar.gz.

File metadata

  • Download URL: fred_deepeval_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fred_deepeval_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 de1ab1eef43545420f60fd4749d04ee723d3d873bbea1f55e396da71e91e1ad3
MD5 52cb260090ec025936301b912b4d69e7
BLAKE2b-256 ead5bc6952172485485839d4aab7460e2b95ef9ed589e67c5e4e9f077d4aa127

See more details on using hashes here.

File details

Details for the file fred_deepeval_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fred_deepeval_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fred_deepeval_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d4b25fb3bc99561370bf09ba06aaf354964dc60a09f38a8f223ac0ecaea67282
MD5 95463f9a488dd6fa2cf3760c279a67a0
BLAKE2b-256 e482b4323b54dcd0bbf55392bec0a11ddf8d67d601514eb8d786bfbef1e8bdf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page