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.3.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.3-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fred_deepeval_cli-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 924392a910b144c2e9129e77ca5a0153e084eca11234dba6517909554d517d49
MD5 e6da9af3859c98350bc0e5cba5e55758
BLAKE2b-256 0665e08b9f1e22283ad3add8264b832f95dc10bf739990166fc0834e0af6fa4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fred_deepeval_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c97a12ffa1499563ba8763545e0507c236ac0a25174f80d736efdb28df2f4805
MD5 90406c6bd8f8d9346c52c7b5166b7c2f
BLAKE2b-256 94cfa21969292242aebe639686aca1c24dae7c29a15bcdf6e8d930ac3e81d93b

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