Serialization and deserialization of extraction results.
Converts between LangExtract structs and plain maps/JSON for storage, debugging, and interop with external systems.
Summary
Functions
Converts a plain map back to extraction results.
Loads extraction results from a JSONL file.
Saves a list of extraction results to a JSONL file.
Converts a single span to a plain map with string keys.
Converts extraction results to a plain map.
Functions
@spec from_map(map()) :: {:ok, {String.t(), [LangExtract.Alignment.Span.t()]}} | {:error, :invalid_data}
Converts a plain map back to extraction results.
Returns {:error, :invalid_data} if the shape is wrong or an extraction
has an unknown "status".
@spec load_jsonl(Path.t()) :: {:ok, [{String.t(), [LangExtract.Alignment.Span.t()]}]} | {:error, term()}
Loads extraction results from a JSONL file.
@spec save_jsonl([{String.t(), [LangExtract.Alignment.Span.t()]}], Path.t()) :: :ok | {:error, term()}
Saves a list of extraction results to a JSONL file.
Each element is a {source, spans} tuple.
@spec span_to_map(LangExtract.Alignment.Span.t()) :: map()
Converts a single span to a plain map with string keys.
@spec to_map(String.t(), [LangExtract.Alignment.Span.t()]) :: map()
Converts extraction results to a plain map.