Adds the deepeval eval-loop skill via `npx skills add` with skills-lock.json for reproducible reinstalls. Symlinked to Claude Code via .claude/skills/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016z2ZFYHQCex8yZAMVMTZzZ
33 lines
917 B
Python
33 lines
917 B
Python
from importlib import import_module
|
|
|
|
import pytest
|
|
|
|
from deepeval import assert_test
|
|
from deepeval.dataset import EvaluationDataset, Golden
|
|
from deepeval.test_case import LLMTestCase
|
|
|
|
from metrics import SINGLE_TURN_NO_TRACING_METRICS
|
|
|
|
|
|
ai_app = import_module("ai_app")
|
|
|
|
|
|
dataset = EvaluationDataset()
|
|
dataset.add_goldens_from_json_file(file_path="tests/evals/.dataset.json")
|
|
|
|
|
|
@pytest.mark.parametrize("golden", dataset.goldens)
|
|
def test_single_turn_no_tracing(golden: Golden):
|
|
actual_output = ai_app.run_ai_app(golden.input)
|
|
test_case = LLMTestCase(
|
|
input=golden.input,
|
|
actual_output=actual_output,
|
|
expected_output=getattr(golden, "expected_output", None),
|
|
context=getattr(golden, "context", None),
|
|
retrieval_context=getattr(golden, "retrieval_context", None),
|
|
)
|
|
assert_test(
|
|
test_case=test_case,
|
|
metrics=SINGLE_TURN_NO_TRACING_METRICS,
|
|
)
|