Module: RubyLLM

Defined in:
lib/ruby_llm.rb,
lib/ruby_llm/chat.rb,
lib/ruby_llm/tool.rb,
lib/ruby_llm/chunk.rb,
lib/ruby_llm/models.rb,
lib/ruby_llm/message.rb,
lib/ruby_llm/railtie.rb,
lib/ruby_llm/version.rb,
lib/ruby_llm/provider.rb,
lib/ruby_llm/tool_call.rb,
lib/ruby_llm/model_info.rb,
lib/ruby_llm/configuration.rb,
lib/ruby_llm/providers/openai.rb,
lib/ruby_llm/stream_accumulator.rb,
lib/ruby_llm/providers/anthropic.rb,
lib/ruby_llm/active_record/acts_as.rb,
lib/ruby_llm/model_capabilities/openai.rb,
lib/ruby_llm/model_capabilities/anthropic.rb

Overview

A delightful Ruby interface to modern AI language models. Provides a unified way to interact with models from OpenAI, Anthropic and others with a focus on developer happiness and convention over configuration.

Defined Under Namespace

Modules: ActiveRecord, ModelCapabilities, Models, Provider, Providers Classes: Chat, Chunk, Configuration, Error, Message, ModelInfo, Parameter, Railtie, StreamAccumulator, Tool, ToolCall

Constant Summary collapse

VERSION =
'0.1.0.pre16'

Class Method Summary collapse

Class Method Details

.chat(model: nil) ⇒ Object



26
27
28
# File 'lib/ruby_llm.rb', line 26

def chat(model: nil)
  Chat.new(model: model)
end

.configObject



38
39
40
# File 'lib/ruby_llm.rb', line 38

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



34
35
36
# File 'lib/ruby_llm.rb', line 34

def configure
  yield config
end

.loggerObject



42
43
44
45
46
47
48
# File 'lib/ruby_llm.rb', line 42

def logger
  @logger ||= Logger.new(
    $stdout,
    progname: 'RubyLLM',
    level: ENV['RUBY_LLM_DEBUG'] ? Logger::DEBUG : Logger::INFO
  )
end

.modelsObject



30
31
32
# File 'lib/ruby_llm.rb', line 30

def models
  Models
end