Class: Kreator::Providers::OpenRouter

Inherits:
OpenAI
  • Object
show all
Defined in:
lib/kreator/providers/openrouter.rb

Constant Summary collapse

DEFAULT_BASE_URL =
"https://openrouter.ai/api/v1"

Constants inherited from OpenAI

Kreator::Providers::OpenAI::CODEX_EVENT_HANDLERS, Kreator::Providers::OpenAI::DEFAULT_CODEX_BASE_URL

Constants inherited from Base

Base::DEFAULT_MAX_RETRIES, Base::TRANSIENT_HTTP_STATUSES

Instance Attribute Summary

Attributes inherited from Base

#api_key, #base_url, #max_retries, #name

Instance Method Summary collapse

Methods inherited from OpenAI

#capabilities, #stream

Methods inherited from Base

#capabilities, #stream

Constructor Details

#initialize(api_key: ENV.fetch("OPENROUTER_API_KEY", nil), base_url: ENV.fetch("OPENROUTER_BASE_URL", DEFAULT_BASE_URL), site_url: ENV.fetch("OPENROUTER_SITE_URL", nil), app_name: ENV.fetch("OPENROUTER_APP_NAME", nil), max_retries: DEFAULT_MAX_RETRIES) ⇒ OpenRouter

Returns a new instance of OpenRouter.

Raises:



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/kreator/providers/openrouter.rb', line 8

def initialize(
  api_key: ENV.fetch("OPENROUTER_API_KEY", nil),
  base_url: ENV.fetch("OPENROUTER_BASE_URL", DEFAULT_BASE_URL),
  site_url: ENV.fetch("OPENROUTER_SITE_URL", nil),
  app_name: ENV.fetch("OPENROUTER_APP_NAME", nil),
  max_retries: DEFAULT_MAX_RETRIES
)
  raise Error, "OPENROUTER_API_KEY is required for the openrouter provider" if api_key.to_s.empty?

  @site_url = site_url
  @app_name = app_name
  super(api_key: api_key, base_url: base_url, name: "openrouter", max_retries: max_retries)
end