# 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.StructuredExtractionConfig do @moduledoc """ Configuration for LLM-based structured data extraction. Sends extracted document content to a VLM with a JSON schema, returning structured data that conforms to the schema. # Example ```toml [structured_extraction] schema_name = "invoice_data" strict = true [structured_extraction.schema] type = "object" properties.vendor = { type = "string" } properties.total = { type = "number" } required = ["vendor", "total"] [structured_extraction.llm] model = "openai/gpt-4o" ``` """ @typedoc "Configuration for LLM-based structured data extraction." @type t :: %__MODULE__{ schema: String.t() | nil, schema_name: String.t() | nil, schema_description: String.t() | nil, strict: boolean(), prompt: String.t() | nil, llm: map() } defstruct schema: nil, schema_name: nil, schema_description: nil, strict: false, prompt: nil, llm: nil end