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/response/modellist.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

Modules: Utils Classes: Anthropic, Buffer, Chat, Error, File, Gemini, Message, Mime, Model, Multipart, Ollama, OpenAI, Provider, Response, VoyageAI

Constant Summary collapse

VERSION =
"0.3.3"

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



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

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

.File(path) ⇒ LLM::File

Parameters:

  • path (String)

    The path to a file

Returns:



74
75
76
# File 'lib/llm/file.rb', line 74

def LLM.File(path)
  LLM::File.new(path)
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



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

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



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

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



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

def openai(secret, options = {})
  require_relative "llm/providers/openai" unless defined?(LLM::OpenAI)
  LLM::OpenAI.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



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

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