CrucibleDatasets.MemoryDataset (CrucibleDatasets v0.5.4)

View Source

Lightweight 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

Create a dataset from a list of items.

Create a dataset from a list of samples.

Functions

from_list(items, opts \\ [])

@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"

from_samples(samples, opts \\ [])

@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