CrucibleDatasets.FieldMapping (CrucibleDatasets v0.5.4)
View SourceDeclarative field mapping for dataset loading. Maps to inspect_ai's FieldSpec pattern.
Examples
iex> mapping = FieldMapping.new(
...> input: "question",
...> expected: "answer",
...> metadata: ["difficulty", "subject"]
...> )
iex> record = %{"question" => "Q1", "answer" => "A1", "difficulty" => "easy"}
iex> FieldMapping.apply(mapping, record)
%{id: nil, input: "Q1", expected: "A1", metadata: %{difficulty: "easy"}}
Summary
Types
Functions
Apply field mapping to a raw record.
Examples
iex> mapping = FieldMapping.new(input: "question", expected: "answer")
iex> record = %{"question" => "What is 2+2?", "answer" => "4"}
iex> FieldMapping.apply(mapping, record)
%{id: nil, input: "What is 2+2?", expected: "4", metadata: %{}}
Create a field mapping specification.
Options
:input- Source field for input (default::input):expected- Source field for expected output (default::expected):id- Source field for item ID (default::id):choices- Source field for multiple choice options (default:nil):metadata- List of fields to include in metadata (default:nil):transforms- Map of field transforms (default:%{})
Examples
iex> FieldMapping.new(
...> input: "question",
...> expected: "answer",
...> metadata: ["difficulty", "subject"]
...> )