# This file is auto-generated by alef — DO NOT EDIT. # alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75 # To regenerate: alef generate # To verify freshness: alef verify --exit-code # Issues & docs: https://github.com/kreuzberg-dev/alef defmodule Kreuzberg.TableModel do @moduledoc """ Which table structure recognition model to use. Controls the model used for table cell detection within layout-detected table regions. Wire format is snake_case in all serializers (JSON, TOML, YAML). """ @typedoc "Which table structure recognition model to use." @type t :: :tatr | :slanet_wired | :slanet_wireless | :slanet_plus | :slanet_auto | :disabled @tatr :tatr @slanet_wired :slanet_wired @slanet_wireless :slanet_wireless @slanet_plus :slanet_plus @slanet_auto :slanet_auto @disabled :disabled @doc "TATR (Table Transformer) -- default, 30MB, DETR-based row/column detection." @spec tatr() :: t() def tatr, do: @tatr @doc "SLANeXT wired variant -- 365MB, optimized for bordered tables." @spec slanet_wired() :: t() def slanet_wired, do: @slanet_wired @doc "SLANeXT wireless variant -- 365MB, optimized for borderless tables." @spec slanet_wireless() :: t() def slanet_wireless, do: @slanet_wireless @doc "SLANet-plus -- 7.78MB, lightweight general-purpose." @spec slanet_plus() :: t() def slanet_plus, do: @slanet_plus @doc "Classifier-routed SLANeXT: auto-select wired/wireless per table. Uses PP-LCNet classifier (6.78MB) + both SLANeXT variants (730MB total)." @spec slanet_auto() :: t() def slanet_auto, do: @slanet_auto @doc "Disable table structure model inference entirely; use heuristic path only." @spec disabled() :: t() def disabled, do: @disabled end