auralynq-rag / tests /test_bench_scripts.py
MHamdan's picture
Deploy Auralynq RAG (Llama-3.3-70B via HF Inference Providers)
8c1b9fe verified
Raw
History Blame Contribute Delete
2.7 kB
"""Schema + offline-safety tests for the make bench-* report generators.
Every test here runs under the autouse `_isolated_env` fixture (conftest.py):
hash embeddings, in-memory vector store, extractive LLM, temp data/reports
dirs — i.e. exactly the offline fallback configuration a fresh clone with no
keys/extras gets. If any of these commands needed a real provider or network
access, they'd fail here.
"""
from __future__ import annotations
from scripts.bench_modelfit import run as run_bench_modelfit
from scripts.bench_visual_grounding import run as run_bench_visual_grounding
from scripts.export_paper_tables import run as run_export_paper_tables
_PROVENANCE_KEYS = {"git_commit", "generated_at", "hardware", "dataset_version"}
def _wire_corpus(corpus_dir, monkeypatch):
from auralynq.config import get_settings
s = get_settings()
monkeypatch.setattr(s, "data_dir", corpus_dir.parent)
(corpus_dir.parent / "corpus").exists() or corpus_dir.rename(corpus_dir.parent / "corpus")
return s
def test_bench_modelfit_schema():
report = run_bench_modelfit(task="rag", limit=3, write_report=True)
assert report["version"] == 1
assert report["task"] == "rag"
assert isinstance(report["hardware"], dict)
assert 0 < len(report["rankings"]) <= 3
for r in report["rankings"]:
assert {"model_id", "overall_score", "label", "best_quantization"} <= set(r)
assert set(report["provenance"]) >= _PROVENANCE_KEYS
def test_bench_visual_grounding_schema(corpus_dir, monkeypatch):
s = _wire_corpus(corpus_dir, monkeypatch)
report = run_bench_visual_grounding(write_report=True)
assert report["version"] == 1
assert report["n_golden"] > 0
assert isinstance(report["stage_counts"], dict)
# every stage_rate value should be a valid fraction
assert all(0 <= v <= 1 for v in report["stage_rate"].values())
assert set(report["provenance"]) >= _PROVENANCE_KEYS
assert (s.reports_dir / "visual_grounding_report.json").exists()
def test_export_paper_tables_notes_missing_reports():
# Nothing written yet in this fresh temp reports dir -> every report is "missing".
doc = run_export_paper_tables(write_report=True)
assert "Not yet generated" in doc
assert "eval_report.json" in doc
def test_export_paper_tables_includes_provenance_when_present(corpus_dir, monkeypatch):
from auralynq.eval.bench import run_bench
_wire_corpus(corpus_dir, monkeypatch)
run_bench(k=5, n_queries=8, write_report=True)
doc = run_export_paper_tables(write_report=True)
assert "Vector Index Quantization" in doc
assert "generated" in doc # provenance line rendered, not a stale/hand-written table