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/error.rb,
lib/ruby_llm/image.rb,
lib/ruby_llm/model.rb,
lib/ruby_llm/utils.rb,
lib/ruby_llm/models.rb,
lib/ruby_llm/aliases.rb,
lib/ruby_llm/content.rb,
lib/ruby_llm/content.rb,
lib/ruby_llm/context.rb,
lib/ruby_llm/message.rb,
lib/ruby_llm/railtie.rb,
lib/ruby_llm/version.rb,
lib/ruby_llm/provider.rb,
lib/ruby_llm/embedding.rb,
lib/ruby_llm/mime_type.rb,
lib/ruby_llm/streaming.rb,
lib/ruby_llm/tool_call.rb,
lib/ruby_llm/attachment.rb,
lib/ruby_llm/connection.rb,
lib/ruby_llm/model/info.rb,
lib/ruby_llm/moderation.rb,
lib/ruby_llm/configuration.rb,
lib/ruby_llm/model/pricing.rb,
lib/ruby_llm/transcription.rb,
lib/ruby_llm/model/modalities.rb,
lib/ruby_llm/providers/gemini.rb,
lib/ruby_llm/providers/ollama.rb,
lib/ruby_llm/providers/openai.rb,
lib/ruby_llm/providers/bedrock.rb,
lib/ruby_llm/providers/mistral.rb,
lib/ruby_llm/model/pricing_tier.rb,
lib/ruby_llm/providers/deepseek.rb,
lib/ruby_llm/providers/gpustack.rb,
lib/ruby_llm/providers/vertexai.rb,
lib/ruby_llm/stream_accumulator.rb,
lib/ruby_llm/providers/anthropic.rb,
lib/ruby_llm/providers/openrouter.rb,
lib/ruby_llm/providers/perplexity.rb,
lib/ruby_llm/active_record/acts_as.rb,
lib/ruby_llm/providers/gemini/chat.rb,
lib/ruby_llm/providers/ollama/chat.rb,
lib/ruby_llm/providers/openai/chat.rb,
lib/ruby_llm/model/pricing_category.rb,
lib/ruby_llm/providers/bedrock/chat.rb,
lib/ruby_llm/providers/gemini/media.rb,
lib/ruby_llm/providers/gemini/tools.rb,
lib/ruby_llm/providers/mistral/chat.rb,
lib/ruby_llm/providers/ollama/media.rb,
lib/ruby_llm/providers/openai/media.rb,
lib/ruby_llm/providers/openai/tools.rb,
lib/ruby_llm/providers/bedrock/media.rb,
lib/ruby_llm/providers/deepseek/chat.rb,
lib/ruby_llm/providers/gemini/images.rb,
lib/ruby_llm/providers/gemini/models.rb,
lib/ruby_llm/providers/gpustack/chat.rb,
lib/ruby_llm/providers/ollama/models.rb,
lib/ruby_llm/providers/openai/images.rb,
lib/ruby_llm/providers/openai/models.rb,
lib/ruby_llm/providers/vertexai/chat.rb,
lib/ruby_llm/providers/anthropic/chat.rb,
lib/ruby_llm/providers/bedrock/models.rb,
lib/ruby_llm/providers/gpustack/media.rb,
lib/ruby_llm/providers/mistral/models.rb,
lib/ruby_llm/providers/anthropic/media.rb,
lib/ruby_llm/providers/anthropic/tools.rb,
lib/ruby_llm/providers/bedrock/signing.rb,
lib/ruby_llm/providers/gpustack/models.rb,
lib/ruby_llm/providers/perplexity/chat.rb,
lib/ruby_llm/providers/vertexai/models.rb,
lib/ruby_llm/active_record/chat_methods.rb,
lib/ruby_llm/providers/anthropic/models.rb,
lib/ruby_llm/providers/gemini/streaming.rb,
lib/ruby_llm/providers/openai/streaming.rb,
lib/ruby_llm/active_record/model_methods.rb,
lib/ruby_llm/providers/anthropic/content.rb,
lib/ruby_llm/providers/bedrock/streaming.rb,
lib/ruby_llm/providers/gemini/embeddings.rb,
lib/ruby_llm/providers/openai/embeddings.rb,
lib/ruby_llm/providers/openai/moderation.rb,
lib/ruby_llm/providers/openrouter/models.rb,
lib/ruby_llm/providers/perplexity/models.rb,
lib/generators/ruby_llm/generator_helpers.rb,
lib/ruby_llm/active_record/acts_as_legacy.rb,
lib/ruby_llm/providers/mistral/embeddings.rb,
lib/ruby_llm/providers/vertexai/streaming.rb,
lib/ruby_llm/active_record/message_methods.rb,
lib/ruby_llm/providers/anthropic/streaming.rb,
lib/ruby_llm/providers/gemini/capabilities.rb,
lib/ruby_llm/providers/openai/capabilities.rb,
lib/ruby_llm/providers/vertexai/embeddings.rb,
lib/ruby_llm/providers/anthropic/embeddings.rb,
lib/ruby_llm/providers/bedrock/capabilities.rb,
lib/ruby_llm/providers/gemini/transcription.rb,
lib/ruby_llm/providers/mistral/capabilities.rb,
lib/ruby_llm/providers/openai/transcription.rb,
lib/ruby_llm/providers/deepseek/capabilities.rb,
lib/ruby_llm/providers/anthropic/capabilities.rb,
lib/ruby_llm/providers/bedrock/streaming/base.rb,
lib/ruby_llm/providers/vertexai/transcription.rb,
lib/ruby_llm/providers/perplexity/capabilities.rb,
lib/generators/ruby_llm/chat_ui/chat_ui_generator.rb,
lib/generators/ruby_llm/install/install_generator.rb,
lib/ruby_llm/providers/bedrock/streaming/prelude_handling.rb,
lib/ruby_llm/providers/bedrock/streaming/content_extraction.rb,
lib/ruby_llm/providers/bedrock/streaming/message_processing.rb,
lib/ruby_llm/providers/bedrock/streaming/payload_processing.rb,
lib/generators/ruby_llm/upgrade_to_v1_7/upgrade_to_v1_7_generator.rb,
lib/generators/ruby_llm/upgrade_to_v1_9/upgrade_to_v1_9_generator.rb
Overview
A delightful Ruby interface to modern AI language models.
Defined Under Namespace
Modules: ActiveRecord, Generators, MimeType, Model, Providers, Streaming, Utils
Classes: Aliases, Attachment, BadRequestError, Chat, Chunk, Configuration, ConfigurationError, Connection, Content, Context, Embedding, Error, ErrorMiddleware, ForbiddenError, Image, InvalidRoleError, Message, ModelNotFoundError, Models, Moderation, OverloadedError, Parameter, PaymentRequiredError, Provider, Railtie, RateLimitError, ServerError, ServiceUnavailableError, StreamAccumulator, Tool, ToolCall, Transcription, UnauthorizedError, UnsupportedAttachmentError
Constant Summary
collapse
- VERSION =
'1.9.1'
Class Method Summary
collapse
Class Method Details
.chat ⇒ Object
46
47
48
|
# File 'lib/ruby_llm.rb', line 46
def chat(...)
Chat.new(...)
end
|
.config ⇒ Object
78
79
80
|
# File 'lib/ruby_llm.rb', line 78
def config
@config ||= Configuration.new
end
|
74
75
76
|
# File 'lib/ruby_llm.rb', line 74
def configure
yield config
end
|
.context {|context_config| ... } ⇒ Object
40
41
42
43
44
|
# File 'lib/ruby_llm.rb', line 40
def context
context_config = config.dup
yield context_config if block_given?
Context.new(context_config)
end
|
.embed ⇒ Object
50
51
52
|
# File 'lib/ruby_llm.rb', line 50
def embed(...)
Embedding.embed(...)
end
|
.logger ⇒ Object
82
83
84
85
86
87
88
|
# File 'lib/ruby_llm.rb', line 82
def logger
@logger ||= config.logger || Logger.new(
config.log_file,
progname: 'RubyLLM',
level: config.log_level
)
end
|
.models ⇒ Object
66
67
68
|
# File 'lib/ruby_llm.rb', line 66
def models
Models.instance
end
|
.paint ⇒ Object
58
59
60
|
# File 'lib/ruby_llm.rb', line 58
def paint(...)
Image.paint(...)
end
|
.providers ⇒ Object
70
71
72
|
# File 'lib/ruby_llm.rb', line 70
def providers
Provider.providers.values
end
|