Module: LexLLM

Defined in:
lib/lex_llm.rb,
lib/lex_llm/chat.rb,
lib/lex_llm/tool.rb,
lib/lex_llm/agent.rb,
lib/lex_llm/chunk.rb,
lib/lex_llm/error.rb,
lib/lex_llm/image.rb,
lib/lex_llm/model.rb,
lib/lex_llm/utils.rb,
lib/lex_llm/models.rb,
lib/lex_llm/tokens.rb,
lib/lex_llm/aliases.rb,
lib/lex_llm/content.rb,
lib/lex_llm/context.rb,
lib/lex_llm/message.rb,
lib/lex_llm/railtie.rb,
lib/lex_llm/routing.rb,
lib/lex_llm/version.rb,
lib/lex_llm/provider.rb,
lib/lex_llm/thinking.rb,
lib/lex_llm/embedding.rb,
lib/lex_llm/mime_type.rb,
lib/lex_llm/streaming.rb,
lib/lex_llm/tool_call.rb,
lib/lex_llm/attachment.rb,
lib/lex_llm/connection.rb,
lib/lex_llm/model/info.rb,
lib/lex_llm/moderation.rb,
lib/lex_llm/configuration.rb,
lib/lex_llm/model/pricing.rb,
lib/lex_llm/transcription.rb,
lib/lex_llm/model/modalities.rb,
lib/lex_llm/routing/lane_key.rb,
lib/lex_llm/model/pricing_tier.rb,
lib/lex_llm/stream_accumulator.rb,
lib/lex_llm/active_record/acts_as.rb,
lib/lex_llm/model/pricing_category.rb,
lib/lex_llm/routing/model_offering.rb,
lib/lex_llm/active_record/chat_methods.rb,
lib/lex_llm/active_record/model_methods.rb,
lib/lex_llm/provider/open_ai_compatible.rb,
lib/generators/lex_llm/generator_helpers.rb,
lib/lex_llm/active_record/acts_as_legacy.rb,
lib/lex_llm/active_record/message_methods.rb,
lib/lex_llm/active_record/payload_helpers.rb,
lib/generators/lex_llm/tool/tool_generator.rb,
lib/lex_llm/active_record/tool_call_methods.rb,
lib/generators/lex_llm/agent/agent_generator.rb,
lib/generators/lex_llm/schema/schema_generator.rb,
lib/generators/lex_llm/chat_ui/chat_ui_generator.rb,
lib/generators/lex_llm/install/install_generator.rb,
lib/generators/lex_llm/upgrade_to_v1_7/upgrade_to_v1_7_generator.rb,
lib/generators/lex_llm/upgrade_to_v1_9/upgrade_to_v1_9_generator.rb,
lib/generators/lex_llm/upgrade_to_v1_10/upgrade_to_v1_10_generator.rb,
lib/generators/lex_llm/upgrade_to_v1_14/upgrade_to_v1_14_generator.rb

Overview

Shared LegionIO LLM provider framework.

Defined Under Namespace

Modules: ActiveRecord, Generators, MimeType, Model, Routing, Streaming, Utils Classes: Agent, Aliases, Attachment, BadRequestError, Chat, Chunk, Configuration, ConfigurationError, Connection, Content, Context, ContextLengthExceededError, Embedding, Error, ErrorMiddleware, ForbiddenError, Image, InvalidRoleError, InvalidToolChoiceError, Message, ModelNotFoundError, Models, Moderation, OverloadedError, Parameter, PaymentRequiredError, PromptNotFoundError, Provider, Railtie, RateLimitError, ServerError, ServiceUnavailableError, StreamAccumulator, Thinking, Tokens, Tool, ToolCall, Transcription, UnauthorizedError, UnsupportedAttachmentError

Constant Summary collapse

Schema =
::RubyLLM::Schema
VERSION =
'0.1.2'

Class Method Summary collapse

Class Method Details

.chatObject



47
48
49
# File 'lib/lex_llm.rb', line 47

def chat(...)
  Chat.new(...)
end

.configObject



79
80
81
# File 'lib/lex_llm.rb', line 79

def config
  @config ||= Configuration.new
end

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

Yields:



75
76
77
# File 'lib/lex_llm.rb', line 75

def configure
  yield config
end

.context {|context_config| ... } ⇒ Object

Yields:

  • (context_config)


41
42
43
44
45
# File 'lib/lex_llm.rb', line 41

def context
  context_config = config.dup
  yield context_config if block_given?
  Context.new(context_config)
end

.embedObject



51
52
53
# File 'lib/lex_llm.rb', line 51

def embed(...)
  Embedding.embed(...)
end

.loggerObject



83
84
85
86
87
88
89
# File 'lib/lex_llm.rb', line 83

def logger
  @logger ||= config.logger || Logger.new(
    config.log_file,
    progname: 'LexLLM',
    level: config.log_level
  )
end

.modelsObject



67
68
69
# File 'lib/lex_llm.rb', line 67

def models
  Models.instance
end

.moderateObject



55
56
57
# File 'lib/lex_llm.rb', line 55

def moderate(...)
  Moderation.moderate(...)
end

.paintObject



59
60
61
# File 'lib/lex_llm.rb', line 59

def paint(...)
  Image.paint(...)
end

.providersObject



71
72
73
# File 'lib/lex_llm.rb', line 71

def providers
  Provider.providers.values
end

.transcribeObject



63
64
65
# File 'lib/lex_llm.rb', line 63

def transcribe(...)
  Transcription.transcribe(...)
end