Module: LLM

Defined in:
lib/llm.rb,
lib/llm/chat.rb,
lib/llm/error.rb,
lib/llm/buffer.rb,
lib/llm/message.rb,
lib/llm/version.rb,
lib/llm/response.rb,
lib/llm/response/file.rb,
lib/llm/response/audio.rb,
lib/llm/response/image.rb,
lib/llm/response/output.rb,
lib/llm/providers/gemini.rb,
lib/llm/providers/ollama.rb,
lib/llm/providers/openai.rb,
lib/llm/response/filelist.rb,
lib/llm/providers/voyageai.rb,
lib/llm/response/embedding.rb,
lib/llm/providers/anthropic.rb,
lib/llm/response/completion.rb,
lib/llm/response/download_file.rb,
lib/llm/response/audio_translation.rb,
lib/llm/response/audio_transcription.rb

Defined Under Namespace

Classes: Anthropic, Chat, Error, File, Gemini, Message, Model, Ollama, OpenAI, Provider, Response, VoyageAI

Constant Summary collapse

VERSION =
"0.3.1"

Class Method Summary collapse

Class Method Details

.anthropic(secret, options = {}) ⇒ Anthropic

Returns a new instance of Anthropic.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (Anthropic)

    a new instance of Anthropic



23
24
25
26
27
# File 'lib/llm.rb', line 23

def anthropic(secret, options = {})
  require_relative "llm/providers/anthropic" unless defined?(LLM::Anthropic)
  require_relative "llm/providers/voyageai" unless defined?(LLM::VoyageAI)
  LLM::Anthropic.new(secret, **options)
end

.voyageai(secret, options = {}) ⇒ VoyageAI

Returns a new instance of VoyageAI.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (VoyageAI)

    a new instance of VoyageAI



32
33
34
35
# File 'lib/llm.rb', line 32

def voyageai(secret, options = {})
  require_relative "llm/providers/voyageai" unless defined?(LLM::VoyageAI)
  LLM::VoyageAI.new(secret, **options)
end

.gemini(secret, options = {}) ⇒ Gemini

Returns a new instance of Gemini.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (Gemini)

    a new instance of Gemini



40
41
42
43
# File 'lib/llm.rb', line 40

def gemini(secret, options = {})
  require_relative "llm/providers/gemini" unless defined?(LLM::Gemini)
  LLM::Gemini.new(secret, **options)
end

.ollama(secret, options = {}) ⇒ Ollama

Returns a new instance of Ollama.

Returns:

  • (Ollama)

    a new instance of Ollama



48
49
50
51
# File 'lib/llm.rb', line 48

def ollama(secret, options = {})
  require_relative "llm/providers/ollama" unless defined?(LLM::Ollama)
  LLM::Ollama.new(secret, **options)
end

.openai(secret, options = {}) ⇒ OpenAI

Returns a new instance of OpenAI.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (OpenAI)

    a new instance of OpenAI



56
57
58
59
# File 'lib/llm.rb', line 56

def openai(secret, options = {})
  require_relative "llm/providers/openai" unless defined?(LLM::OpenAI)
  LLM::OpenAI.new(secret, **options)
end

.File(path) ⇒ LLM::File

Parameters:

  • path (String)

    The path to a file

Returns:



60
61
62
# File 'lib/llm/file.rb', line 60

def LLM.File(path)
  LLM::File.new(path)
end