Package dev.braintrust.eval
Interface Dataset<INPUT,OUTPUT>
- All Known Implementing Classes:
DatasetBrainstoreImpl
public interface Dataset<INPUT,OUTPUT>
Datasets define the cases for evals. This interface provides a means of iterating through all
cases of a particular dataset.
The most common implementations are in-memory datasets, and datasets fetched from the Braintrust API.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <INPUT,OUTPUT>
Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustApiClient apiClient, String projectName, String datasetName, String datasetVersion) Deprecated.static <INPUT,OUTPUT>
Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, String datasetVersion) Deprecated.static <INPUT,OUTPUT>
Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, String datasetVersion, Class<INPUT> inputClass, Class<OUTPUT> outputClass) Fetch a dataset from Braintrust, deserializing each case'sinputandexpectedvalues into the given types using the SDK's shared Jackson mapper (seeBraintrustJsonMapper).static <INPUT,OUTPUT>
Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, String datasetVersion, Function<Object, INPUT> inputConverter, Function<Object, OUTPUT> outputConverter) Fetch a dataset from Braintrust, converting each case'sinputandexpectedvalues with the supplied converter functions.default voidforEach(Consumer<DatasetCase<INPUT, OUTPUT>> consumer) Convenience method to safely iterate all items in a dataset.id()static <INPUT,OUTPUT>
Dataset<INPUT,OUTPUT> of(DatasetCase<INPUT, OUTPUT>... cases) Create an in-memory Dataset containing the provided cases.version()Dataset version.
-
Method Details
-
openCursor
Dataset.Cursor<DatasetCase<INPUT,OUTPUT>> openCursor() -
id
String id() -
version
Dataset version. Empty means the dataset will fetch latest upon every cursor open -
forEach
Convenience method to safely iterate all items in a dataset. -
of
Create an in-memory Dataset containing the provided cases. -
fetchFromBraintrust
@Deprecated static <INPUT,OUTPUT> Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustApiClient apiClient, String projectName, String datasetName, @Nullable String datasetVersion) Deprecated. -
fetchFromBraintrust
@Deprecated static <INPUT,OUTPUT> Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, @Nullable String datasetVersion) Deprecated.theINPUTandOUTPUTtype parameters are not applied at runtime: case values are returned as raw JSON-decoded objects (e.g.LinkedHashMap). UsefetchFromBraintrust(BraintrustOpenApiClient, String, String, String, Class, Class)instead.Fetch a dataset from Braintrust. -
fetchFromBraintrust
static <INPUT,OUTPUT> Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, @Nullable String datasetVersion, Class<INPUT> inputClass, Class<OUTPUT> outputClass) Fetch a dataset from Braintrust, deserializing each case'sinputandexpectedvalues into the given types using the SDK's shared Jackson mapper (seeBraintrustJsonMapper).- Parameters:
apiClient- the Braintrust API clientprojectName- the project containing the datasetdatasetName- the name of the dataset within the projectdatasetVersion- the dataset version to pin, or null to fetch the latest version upon every cursor openinputClass- the type to deserialize each case'sinputintooutputClass- the type to deserialize each case'sexpectedinto
-
fetchFromBraintrust
static <INPUT,OUTPUT> Dataset<INPUT,OUTPUT> fetchFromBraintrust(BraintrustOpenApiClient apiClient, String projectName, String datasetName, @Nullable String datasetVersion, Function<Object, INPUT> inputConverter, Function<Object, OUTPUT> outputConverter) Fetch a dataset from Braintrust, converting each case'sinputandexpectedvalues with the supplied converter functions. Converters receive the raw JSON-decoded value (typically aMap<String, Object>,List,String,Number,Boolean, or null) and must tolerate null.- Parameters:
apiClient- the Braintrust API clientprojectName- the project containing the datasetdatasetName- the name of the dataset within the projectdatasetVersion- the dataset version to pin, or null to fetch the latest version upon every cursor openinputConverter- converts each case's rawinputvalueoutputConverter- converts each case's rawexpectedvalue
-
INPUTandOUTPUTtype parameters are not applied at runtime: case values are returned as raw JSON-decoded objects (e.g.