Module: LLM

Defined in:
lib/llm.rb,
lib/llm/error.rb,
lib/llm/message.rb,
lib/llm/version.rb,
lib/llm/provider.rb,
lib/llm/response.rb,
lib/llm/http_client.rb,
lib/llm/conversation.rb,
lib/llm/message_queue.rb,
lib/llm/providers/gemini.rb,
lib/llm/providers/ollama.rb,
lib/llm/providers/openai.rb,
lib/llm/lazy_conversation.rb,
lib/llm/response/embedding.rb,
lib/llm/providers/anthropic.rb,
lib/llm/response/completion.rb

Defined Under Namespace

Modules: HTTPClient Classes: Anthropic, Conversation, Error, File, Gemini, LazyConversation, Message, MessageQueue, Ollama, OpenAI, Provider, Response

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.anthropic(secret) ⇒ Anthropic

Returns a new instance of Anthropic.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (Anthropic)

    a new instance of Anthropic



19
20
21
22
# File 'lib/llm.rb', line 19

def anthropic(secret, **)
  require_relative "llm/providers/anthropic" unless defined?(LLM::Anthropic)
  LLM::Anthropic.new(secret, **)
end

.File(path) ⇒ LLM::File

Parameters:

  • path (String)

    The path to a file

Returns:



64
65
66
# File 'lib/llm/file.rb', line 64

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

.gemini(secret) ⇒ Gemini

Returns a new instance of Gemini.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (Gemini)

    a new instance of Gemini



27
28
29
30
# File 'lib/llm.rb', line 27

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

.ollama(secret) ⇒ Ollama

Returns a new instance of Ollama.

Returns:

  • (Ollama)

    a new instance of Ollama



35
36
37
38
# File 'lib/llm.rb', line 35

def ollama(secret)
  require_relative "llm/providers/ollama" unless defined?(LLM::Ollama)
  LLM::Ollama.new(secret)
end

.openai(secret) ⇒ OpenAI

Returns a new instance of OpenAI.

Parameters:

  • secret (String)

    The secret key for authentication

Returns:

  • (OpenAI)

    a new instance of OpenAI



43
44
45
46
# File 'lib/llm.rb', line 43

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