Quick Start

Sublayer is made up of three main concepts: Generators, Actions, and Agents. These concepts combine to create powerful AI-powered applications in a simple and easy-to-use interface.

You can think of a Sublayer Generator as an object that takes some string inputs and runs them through an LLM to generate some new string output.

In this example, we’ll create a simple generator that takes a description of code and the technologies to use and generates code using an LLM like GPT-4.


Step 1 - Installation

Install the Sublayer gem:

$ gem install sublayer

Or add it to your Gemfile:

gem "sublayer"

Step 2 - Environment Setup

Set your OpenAI API key as an environment variable:

export OPENAI_API_KEY="your-api-key"

Don’t have a key? Visit OpenAI to get one.

Step 3a - Create a Generator

Create a Sublayer Generator. Generators are responsible for taking input from your application and generating output using an LLM like GPT-4.

Here’s an example of a generator that takes a description of code to generate and the technologies to use and generates code with an LLM:

# ./code_from_description_generator.rb

require "sublayer"

module Sublayer
  module Generators
    class CodeFromDescriptionGenerator < Base
      llm_output_adapter type: :single_string,
                         name: "generated_code",
                         description: "The generated code in the requested language"

      def initialize(description:, technologies:)
        @description = description
        @technologies = technologies
      end

      def generate
        super
      end

      def prompt
        <<-PROMPT
          You are an expert programmer in \#{@technologies.join(", ")}.

          You are tasked with writing code using the following technologies: \#{@technologies.join(", ")}.

          The description of the task is \#{@description}

          Take a deep breath and think step by step before you start coding.
        PROMPT
      end
    end
  end
end

To learn more about everything you can do with a generator, check out the Generators page.

Step 3b - Try Generating One!

Try generating your own generator with our interactive code generator below:

Step 4 - Use Your Generator

Require the Sublayer gem and your generator and call generate!

Here’s an example of how you might use the `CodeFromDescriptionGenerator` above:

# ./example.rb

require 'sublayer'
require './code_from_description_generator'

generator = Sublayer::Generators::CodeFromDescriptionGenerator.new(description: 'a function that returns the first 10 happy numbers', technologies: ['ruby'])

puts generator.generate

Next Steps

Now that you’ve created your first generator, you can:

  • Create some Actions to do something with whatever you’ve generated.
  • Browse some Examples to learn how to use the Sublayer gem in different types of projects.
  • Join our Discord to chat with us, for support, and to keep up with the latest updates.