LangExtract.Serializer (LangExtract v0.8.0)

Copy Markdown View Source

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

from_map(arg1)

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

load_jsonl(path)

@spec load_jsonl(Path.t()) ::
  {:ok, [{String.t(), [LangExtract.Alignment.Span.t()]}]}
  | {:error, File.posix() | :invalid_data}

Loads extraction results from a JSONL file.

save_jsonl(results, path)

@spec save_jsonl([{String.t(), [LangExtract.Alignment.Span.t()]}], Path.t()) ::
  :ok | {:error, File.posix()}

Saves a list of extraction results to a JSONL file.

Each element is a {source, spans} tuple.

span_to_map(span)

@spec span_to_map(LangExtract.Alignment.Span.t()) :: map()

Converts a single span to a plain map with string keys.

to_map(source, spans)

@spec to_map(String.t(), [LangExtract.Alignment.Span.t()]) :: map()

Converts extraction results to a plain map.