WIP: Configure deepeval and add first behavioural tests #2

Draft
robinlol wants to merge 19 commits from llm-eval-experiment into main
Owner
  • Updated dependencies: added deepeval to pyproject.toml, updated flake.nix with required packages, and added .envrc for local env var loading.

  • Integrated DeepEval as an LLM evaluation framework for testing the clan deployment planner agent, replacing earlier mock-only tests with real end-to-end evaluation.

  • Added a GEval helpfulness metric (deepeval_metrics.py) with a shared AGENT_CONTEXT description that frames evaluation criteria around the agent's actual job as generating clan NixOS service configuration proposals,
    not shell commands or sysadmin instructions.

  • Implemented the first real capability test (test_agent_helpfulness.py): runs the full agent pipeline against a live LLM (Claude by default, other providers configurable), mocking only flake-dependent I/O and evaluates the response for helpfulness

  • Made the LLM provider configurable in the test suite — supports claude, ollama, and openai via a top-level PROVIDER constant

  • Updated Ollama model to qwen3:14b.

  • Included proposed NixOS service instances in evaluation output, so the helpfulness metric scores both the agent's message and the structured configuration it proposed.

  • Added logging to surface the full DeepEval comparison (input, agent message, proposed config, score, reason) in test output for easier debugging.

  • Expanded evaluation metrics: Added new DeepEval-based metrics and significantly extended the helpfulness test suite with more test cases covering a broader range of agent behaviors

  • Documented the test harness: Added a section to the README explaining how the LLM evaluation framework works and how to run it

- Updated dependencies: added deepeval to pyproject.toml, updated flake.nix with required packages, and added .envrc for local env var loading. - Integrated DeepEval as an LLM evaluation framework for testing the clan deployment planner agent, replacing earlier mock-only tests with real end-to-end evaluation. - Added a GEval helpfulness metric (deepeval_metrics.py) with a shared AGENT_CONTEXT description that frames evaluation criteria around the agent's actual job as generating clan NixOS service configuration proposals, not shell commands or sysadmin instructions. - Implemented the first real capability test (test_agent_helpfulness.py): runs the full agent pipeline against a live LLM (Claude by default, other providers configurable), mocking only flake-dependent I/O and evaluates the response for helpfulness - Made the LLM provider configurable in the test suite — supports claude, ollama, and openai via a top-level PROVIDER constant - Updated Ollama model to qwen3:14b. - Included proposed NixOS service instances in evaluation output, so the helpfulness metric scores both the agent's message and the structured configuration it proposed. - Added logging to surface the full DeepEval comparison (input, agent message, proposed config, score, reason) in test output for easier debugging. - Expanded evaluation metrics: Added new DeepEval-based metrics and significantly extended the helpfulness test suite with more test cases covering a broader range of agent behaviors - Documented the test harness: Added a section to the README explaining how the LLM evaluation framework works and how to run it
robinlol added 4 commits 2026-02-12 13:30:54 +00:00
Added some mock deepeval tests to the test suite
buildbot/nix-eval Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.aarch64-darwin.treefmt Build done.
buildbot/nix-build Build done.
961ca0b707
robinlol changed title from [DRAFT] Configure deepeval and add mock tests to test suite to WIP: Configure deepeval and add mock tests to test suite 2026-02-12 13:34:06 +00:00
robinlol added 1 commit 2026-02-12 13:39:18 +00:00
Made teafmt happy
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
5b4e99426d
robinlol added 2 commits 2026-02-12 13:40:35 +00:00
robinlol added 4 commits 2026-02-20 14:25:36 +00:00
Added first actual deepeval capability test that checks helpfulness metric
buildbot/nix-eval Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.aarch64-darwin.treefmt Build done.
9aa0951108
robinlol added 2 commits 2026-02-20 14:56:30 +00:00
Made provider configurable in helpfulness test
buildbot/nix-eval Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.aarch64-darwin.treefmt Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.llm Build done.
buildbot/nix-build Build done.
52b55372a8
robinlol added 1 commit 2026-02-20 15:00:40 +00:00
Added analysing the proposed_instances in the helpfulness metric
buildbot/nix-eval Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.aarch64-darwin.treefmt Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.llm Build done.
buildbot/nix-build Build done.
5434636254
robinlol added 1 commit 2026-02-20 15:54:29 +00:00
Reverted ollama model to qwen3:4b-instruct
buildbot/nix-eval Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build Build done.
buildbot/nix-build gitea:clan/clan-llm#checks.aarch64-darwin.treefmt Build done.
c7ac83131c
robinlol added 1 commit 2026-02-20 15:58:06 +00:00
Made treefmt happy
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
b038fa1ff8
robinlol changed title from WIP: Configure deepeval and add mock tests to test suite to WIP: Configure deepeval and add first behavioural tests 2026-02-20 15:58:57 +00:00
robinlol added 2 commits 2026-02-27 11:00:16 +00:00
robinlol added 1 commit 2026-02-27 11:04:10 +00:00
Renamed test harness file
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
55d4214ba2
All checks were successful
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
Required
Details
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin llm-eval-experiment:llm-eval-experiment
git checkout llm-eval-experiment
Sign in to join this conversation.