Module: OmniAI

Defined in:
lib/omniai.rb,
lib/omniai/cli.rb,
lib/omniai/chat.rb,
lib/omniai/tool.rb,
lib/omniai/embed.rb,
lib/omniai/files.rb,
lib/omniai/speak.rb,
lib/omniai/client.rb,
lib/omniai/config.rb,
lib/omniai/schema.rb,
lib/omniai/context.rb,
lib/omniai/version.rb,
lib/omniai/chat/url.rb,
lib/omniai/mcp/jrpc.rb,
lib/omniai/chat/file.rb,
lib/omniai/chat/text.rb,
lib/omniai/ssl_error.rb,
lib/omniai/chat/delta.rb,
lib/omniai/chat/media.rb,
lib/omniai/chat/usage.rb,
lib/omniai/http_error.rb,
lib/omniai/load_error.rb,
lib/omniai/mcp/server.rb,
lib/omniai/transcribe.rb,
lib/omniai/chat/choice.rb,
lib/omniai/chat/prompt.rb,
lib/omniai/chat/stream.rb,
lib/omniai/embed/usage.rb,
lib/omniai/chat/content.rb,
lib/omniai/chat/message.rb,
lib/omniai/schema/array.rb,
lib/omniai/chat/function.rb,
lib/omniai/chat/response.rb,
lib/omniai/schema/format.rb,
lib/omniai/schema/object.rb,
lib/omniai/schema/scalar.rb,
lib/omniai/chat/tool_call.rb,
lib/omniai/embed/response.rb,
lib/omniai/mcp/jrpc/error.rb,
lib/omniai/instrumentation.rb,
lib/omniai/cli/base_handler.rb,
lib/omniai/cli/chat_handler.rb,
lib/omniai/mcp/jrpc/request.rb,
lib/omniai/cli/embed_handler.rb,
lib/omniai/cli/speak_handler.rb,
lib/omniai/mcp/jrpc/response.rb,
lib/omniai/mcp/transport/base.rb,
lib/omniai/chat/tool_call_list.rb,
lib/omniai/mcp/transport/stdio.rb,
lib/omniai/chat/message/builder.rb,
lib/omniai/chat/tool_call_result.rb,
lib/omniai/chat/tool_call_message.rb,
lib/omniai/cli/transcribe_handler.rb,
lib/omniai/transcribe/transcription.rb

Overview

Examples:


OmniAI.chat(...)
OmniAI.transcribe(...)
OmniAI.speak(...)
OmniAI.embed(...)

Defined Under Namespace

Modules: MCP, Schema Classes: CLI, Chat, Client, Config, Context, Embed, Error, Files, HTTPError, Instrumentation, LoadError, SSLError, Speak, Tool, Transcribe

Constant Summary collapse

VERSION =
"2.8.0"

Class Method Summary collapse

Class Method Details

.chatObject

Examples:

response = OmniAI.chat("What is the capital of Spain?")
puts response.text
OmniAI.chat(stream: $stdout) do |prompt|
  prompt.system("Answer in both English and French.")
  prompt.user("How many people live in Tokyo?")
end

See Also:



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

def self.chat(...)
  client.chat(...)
end

.client(provider: nil) ⇒ OmniAI::Client

Discover a client by provider (‘openai’ then ‘anthropic’ then ‘google’ then ‘mistral’ then ‘deepseek’ then ‘llama’).

Parameters:

  • provider (Symbol) (defaults to: nil)

    the provider to use (e.g. :openai, :anthropic, :google, :mistral, :deepseek, :llama)

Returns:

Raises:



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

def self.client(provider: nil, **)
  provider ? OmniAI::Client.find(provider:, **) : OmniAI::Client.discover(**)
end

.embedObject

Examples:

embedding = OmniAI.embed("The quick brown fox jumps over the lazy dog.").embedding

See Also:



80
81
82
# File 'lib/omniai.rb', line 80

def self.embed(...)
  client.embed(...)
end

.speakObject

Examples:

File.open("audio.wav", "wb") do |file|
  OmniAI.speak("Sally sells seashells by the seashore.") do |chunk|
    file << chunk
  end
end

See Also:



72
73
74
# File 'lib/omniai.rb', line 72

def self.speak(...)
  client.speak(...)
end

.transcribeObject

Examples:

File.open("audio.wav", "rb") do |file|
  puts OmniAI.transcribe(file).text
end

See Also:



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

def self.transcribe(...)
  client.transcribe(...)
end