module RubyLLM::Providers::OpenAI
def self.extended(base)
def self.extended(base) base.extend(Provider) base.extend(OpenAI::Chat) base.extend(OpenAI::Embeddings) base.extend(OpenAI::Models) base.extend(OpenAI::Streaming) base.extend(OpenAI::Tools) base.extend(OpenAI::Images) base.extend(OpenAI::Media) end
def api_base(config)
def api_base(config) config.openai_api_base || 'https://api.openai.com/v1' end
def capabilities
def capabilities OpenAI::Capabilities end
def configuration_requirements
def configuration_requirements %i[openai_api_key] end
def headers(config)
def headers(config) { 'Authorization' => "Bearer #{config.openai_api_key}", 'OpenAI-Organization' => config.openai_organization_id, 'OpenAI-Project' => config.openai_project_id }.compact end
def slug
def slug 'openai' end