DocsEvaluationExperimentsData Model

Experiments Data Model

Targeting Langfuse datasets

This section describes the data model of experiments on Langfuse datasets. For detailed reference please refer to the API Reference.

Datasets

Datasets are a collection of inputs and, optionally, expected outputs that can be used during Dataset runs.

Datasets are a collection of DatasetItems.

Dataset object

AttributeTypeRequiredDescription
idstringYesUnique identifier for the dataset
namestringYesName of the dataset
descriptionstringNoDescription of the dataset
metadataobjectNoAdditional metadata for the dataset
remoteExperimentUrlstringNoWebhook endpoint for triggering experiments
remoteExperimentPayloadobjectNoPayload for triggering experiments

DatasetItem object

AttributeTypeRequiredDescription
idstringYesUnique identifier for the dataset item. Dataset items are upserted on their id. Id needs to be unique (project-level) and cannot be reused across datasets.
datasetIdstringYesID of the dataset this item belongs to
inputobjectNoInput data for the dataset item
expectedOutputobjectNoExpected output data for the dataset item
metadataobjectNoAdditional metadata for the dataset item
sourceTraceIdstringNoID of the source trace to link this dataset item to
sourceObservationIdstringNoID of the source observation to link this dataset item to
statusDatasetStatusNoStatus of the dataset item. Defaults to ACTIVE for newly created items. Possible values: ACTIVE, ARCHIVED

DatasetRun

Dataset runs are used to run a dataset through your LLM application and optionally apply evaluation methods to the results.


DatasetRun object

AttributeTypeRequiredDescription
idstringYesUnique identifier for the dataset run
namestringYesName of the dataset run
descriptionstringNoDescription of the dataset run
metadataobjectNoAdditional metadata for the dataset run
datasetIdstringYesID of the dataset this run belongs to

DatasetRunItem object

AttributeTypeRequiredDescription
idstringYesUnique identifier for the dataset run item
datasetRunIdstringYesID of the dataset run this item belongs to
datasetItemIdstringYesID of the dataset item to link to this run
traceIdstringYesID of the trace to link to this run
observationIdstringNoID of the observation to link to this run

Most of the time, we recommend that DatasetRunItems reference TraceIDs directly. The reference to ObservationID exists for backwards compatibility with older SDK versions.

End to end data relations

DatasetRun can combine a few Langfuse objects:

  • DatasetRuns are created by looping through all or selected DatasetItems of a Dataset with your LLM application.
  • For each DatasetItem passed into the LLM application as an Input a DatasetRunItem & a Trace are created.
  • Optionally Scores can be added to the Traces to evaluate the output of the LLM application during the DatasetRun.

Targeting local datasets

Currently, if an Experiment via SDK is used to run experiments on local datasets, only traces are created in Langfuse - no dataset runs are generated. Each task execution creates an individual trace for observability and debugging.

We have improvements on our roadmap to support similar functionality such as run overviews, comparison views, and more for experiments on local datasets as for Langfuse datasets.

Was this page helpful?