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.pre14'

Class Method Summary collapse

Class Method Details

.chat(model: nil) ⇒ Object



17
18
19
# File 'lib/ruby_llm.rb', line 17

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

.configObject



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

def config
  @config ||= Configuration.new
end

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

Yields:



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

def configure
  yield config
end

.loggerObject



33
34
35
36
37
38
39
# File 'lib/ruby_llm.rb', line 33

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

.modelsObject



21
22
23
# File 'lib/ruby_llm.rb', line 21

def models
  Models
end