CrucibleDatasets.MemoryDataset (CrucibleDatasets v0.5.4)
View SourceLightweight in-memory dataset construction. Maps to inspect_ai's MemoryDataset.
Examples
iex> CrucibleDatasets.MemoryDataset.from_list([
...> %{input: "What is 2+2?", expected: "4"},
...> %{input: "What is 3+3?", expected: "6"}
...> ])
%CrucibleDatasets.Dataset{name: "memory_...", items: [...]}
iex> CrucibleDatasets.MemoryDataset.from_list([
...> %{input: "Q1", expected: "A1", metadata: %{difficulty: "easy"}}
...> ], name: "my_dataset")
%CrucibleDatasets.Dataset{name: "my_dataset", items: [...]}
Summary
Functions
@spec from_list( [map()], keyword() ) :: CrucibleDatasets.Dataset.t()
Create a dataset from a list of items.
Options
:name- Dataset name (default: auto-generated "memory_<unique_id>"):version- Dataset version (default: "1.0.0"):auto_id- Auto-generate IDs for items without them (default: true)
Examples
iex> items = [
...> %{input: "What is 2+2?", expected: "4"},
...> %{input: "What is 3+3?", expected: "6"}
...> ]
iex> dataset = CrucibleDatasets.MemoryDataset.from_list(items)
iex> length(dataset.items)
2
iex> items = [
...> %{input: "Q1", expected: "A1", metadata: %{difficulty: "easy"}}
...> ]
iex> dataset = CrucibleDatasets.MemoryDataset.from_list(items, name: "my_dataset")
iex> dataset.name
"my_dataset"
@spec from_samples( [map()], keyword() ) :: CrucibleDatasets.Dataset.t()
Create a dataset from a list of samples.
This is an alias for from_list/2 for clarity when using Sample structs.
Examples
iex> samples = [
...> %{input: "What is 2+2?", expected: "4"},
...> %{input: "What is 3+3?", expected: "6"}
...> ]
iex> dataset = CrucibleDatasets.MemoryDataset.from_samples(samples)
iex> length(dataset.items)
2