# itsharness — offline eval harness dependencies
#
# Install with:
#   pip install -r requirements-eval.txt
#
# Not included in the main requirements.txt because eval deps (deepeval, ragas)
# pull in heavyweight ML packages not needed in the production adapter container.
# CI runs eval in a separate job that installs both requirements.txt and this file.

# ── Core eval frameworks ───────────────────────────────────────────────────────
deepeval>=1.0.0         # 50+ LLM quality metrics, pytest-native runner
ragas>=0.2.0            # RAG-specific evaluation (faithfulness, context relevance)

# ── LLM client used by metric computation ────────────────────────────────────
# DeepEval and Ragas call an LLM to score outputs; route through LiteLLM so
# evals use the same model routing and cost tracking as the adapter.
litellm>=1.40.0

# ── Dataset export (Langfuse) ─────────────────────────────────────────────────
langfuse>=4.0.0         # already in requirements.txt; repeated for clarity

# ── Testing runner ────────────────────────────────────────────────────────────
pytest>=8.0.0
pytest-asyncio>=0.23.0
