Barebones DVC implementation for mapping component - #1566
Conversation
|
Claude finished @SamuelHLewis's task in 57s —— View job PR Review: PRO-679 — DVC Eval Pipeline
Implements DVC orchestration for the theme-mapping eval pipeline, splitting the existing script into 🔴 DO — 🟡 TRY — 🟡 TRY — ⚪️ NIT — Good structure overall — DVC pipeline, param centralisation, and Langfuse/local fallback pattern are all clean. |
georgia-i-ai
left a comment
There was a problem hiding this comment.
This looks fine as a PoC for how to use DVC. I've incorporated this into the eval framework design, and so happy for this code to be merged so we can use it as a starting point for the main refactor 👍
| return result | ||
|
|
||
|
|
||
| async def _run_with_langfuse(ctx, dataset_items: list[dict], llm) -> dict: |
There was a problem hiding this comment.
Going forward we won't have these two paths separated out in this way, but as we've still got this formulation in the other eval scripts currently it's fine for now.
Context
So far, we have run our evals through python scripts, with one orchestrator script calling other component-specific scripts. This PR implements DVC as the orchestration tool instead of python, which means that:
params.yamlfile rather than being scattered across scripts and env variables, making them easier to track and change.Note: this PR only implements a DVC pipeline for the theme mapping component. The same pattern can be repeated for the other components, but these are left for later PRs.
Changes proposed in this pull request
/themefinder/evals/pipelines//themefinder/evals/pipelines/mapping//themefinder/evals/pipelines/mapping/download_data.py) and evaluation (/themefinder/evals/pipelines/mapping/evaluate.py) steps of the eval pipeline, based on the current code in/themefinder/evals/eval_mapping.py./themefinder/evals/pipelines/mapping/dvc.yaml/themefinder/evals/pipelines/mapping/params.yaml)devdependency in/themefinder/pyproject.tomlGuidance to review
make installfrom the base of the repo, and check that there are no errors/themefinder/evals/pipelines/mapping/diruv run --package themefinder --extra dev dvc dagand check that:dvc.yamlfile correctly)uv run --package themefinder --extra dev dvc reproand check that:/themefinder/evals/data/asyncerror as the evaluate stage runs, which I will resolve in a later PRThings to check
.env.testfiles in the repo