Module: Structify

Defined in:
lib/structify.rb,
lib/structify/model.rb,
lib/structify/version.rb,
lib/structify/schema_serializer.rb

Overview

Structify is a DSL for defining extraction schemas for LLM-powered models. It provides a simple way to integrate with Rails models for LLM extraction, allowing for schema versioning and evolution.

Examples:

class Article < ApplicationRecord
  include Structify::Model

  schema_definition do
    title "Article Extraction"
    description "Extract article metadata"
    version 1

    field :title, :string, required: true
    field :summary, :text, description: "A brief summary of the article"
    field :category, :string, enum: ["tech", "business", "science"]
  end
end

Defined Under Namespace

Modules: Model Classes: Configuration, Error, MissingFieldError, RemovedFieldError, SchemaBuilder, SchemaSerializer, VersionRangeError

Constant Summary collapse

VERSION =
"0.3.4"

Class Method Summary collapse

Class Method Details

.configurationStructify::Configuration

Returns The current configuration.

Returns:



37
38
39
# File 'lib/structify.rb', line 37

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|config| ... } ⇒ Structify::Configuration

Configure Structify

Yields:

  • (config)

    The configuration block

Yield Parameters:

Returns:



45
46
47
48
# File 'lib/structify.rb', line 45

def self.configure
  yield(configuration) if block_given?
  configuration
end