← Back to changelog
February 11, 2026

Run Experiments on Versioned Datasets

Picture Marlies MayerhoferMarlies Mayerhofer
Run Experiments on Versioned Datasets

Fetch datasets at specific version timestamps and run experiments on historical dataset versions via UI, API, and SDKs for full reproducibility.

You can now fetch datasets at specific version timestamps and run experiments directly on versioned datasets across UI, API, and SDKs. This completes the dataset versioning feature released in December.

Why versioned experiments matter

  • Full reproducibility: Re-run experiments on the exact dataset state from any point in time, even after items are updated or deleted. Reproduce results from weeks or months ago with complete confidence.
  • A/B testing with confidence: Compare model performance before and after dataset refinements. Test new prompts against the same baseline dataset version that your production model was evaluated on.
  • Regression testing: Run experiments on a specific dataset version while your team continues improving the dataset. Ensure new model versions don’t regress on established benchmarks.

Fetch datasets at specific versions

Retrieve datasets as they existed at any timestamp. By default, APIs return the latest version.

from langfuse import get_client
from datetime import datetime, timezone
 
langfuse = get_client()
 
# Fetch dataset from December 15th
version_timestamp = datetime(2025, 12, 15, 6, 30, 0, tzinfo=timezone.utc)
 
dataset_v1 = langfuse.get_dataset(
    name="qa-dataset",
    version=version_timestamp
)
 
# Fetch latest version
dataset_latest = langfuse.get_dataset(name="qa-dataset")

Run experiments on versioned datasets

Execute experiments against specific dataset versions using the experiment runner or via UI.

from langfuse import get_client
from langfuse.openai import OpenAI
 
langfuse = get_client()
 
# Fetch versioned dataset
versioned_dataset = langfuse.get_dataset(
    name="qa-dataset",
    version=datetime(2025, 12, 15, 6, 30, 0, tzinfo=timezone.utc)
)
 
# Run experiment on that exact version
def my_task(*, item, **kwargs):
    response = OpenAI().chat.completions.create(
        model="gpt-4.1",
        messages=[{"role": "user", "content": item["input"]}]
    )
    return response.choices[0].message.content
 
result = versioned_dataset.run_experiment(
    name="Baseline Experiment v1",
    description="Testing against dataset from Dec 15",
    task=my_task
)

Learn more

Was this page helpful?