Class: RubynCode::LLM::Adapters::OpenAICompatible

Inherits:
OpenAI
  • Object
show all
Defined in:
lib/rubyn_code/llm/adapters/openai_compatible.rb

Overview

Adapter for OpenAI-compatible providers (Groq, Together, Ollama, etc.).

Inherits all OpenAI logic but overrides the base URL, provider name, available models, and API key resolution.

Constant Summary

Constants inherited from OpenAI

RubynCode::LLM::Adapters::OpenAI::API_URL, RubynCode::LLM::Adapters::OpenAI::AVAILABLE_MODELS, RubynCode::LLM::Adapters::OpenAI::MAX_RETRIES, RubynCode::LLM::Adapters::OpenAI::RETRY_DELAYS

Instance Method Summary collapse

Methods inherited from OpenAI

#chat

Methods inherited from Base

#chat

Constructor Details

#initialize(provider:, base_url:, api_key: nil, available_models: []) ⇒ OpenAICompatible

Returns a new instance of OpenAICompatible.



11
12
13
14
15
# File 'lib/rubyn_code/llm/adapters/openai_compatible.rb', line 11

def initialize(provider:, base_url:, api_key: nil, available_models: [])
  super(api_key: api_key, base_url: base_url)
  @provider = provider
  @available_models = available_models.freeze
end

Instance Method Details

#modelsObject



21
22
23
# File 'lib/rubyn_code/llm/adapters/openai_compatible.rb', line 21

def models
  @available_models
end

#provider_nameObject



17
18
19
# File 'lib/rubyn_code/llm/adapters/openai_compatible.rb', line 17

def provider_name
  @provider
end