Module: Ticuna::Providers
- Defined in:
- lib/ticuna/providers.rb,
lib/ticuna/providers/openai.rb
Defined Under Namespace
Classes: OpenAI
Constant Summary collapse
- MODELS =
{ gpt_4_1: "gpt-4.1", gpt_4_1_nano: "gpt-4.1-nano", gpt_4_1_mini: "gpt-4.1-mini", gpt_5: "gpt-5", gpt_5_nano: "gpt-5-nano", gpt_5_mini: "gpt-5-mini" }.freeze
- ENVS =
{ openai: -> { Ticuna.config.openai_token } # anthropic: -> { Ticuna.config.anthropic_token }, # deepseek: -> { Ticuna.config.deepseek_token }, # mistral: -> { Ticuna.config.mistral_token } }.freeze
- CLIENTS =
{ openai: -> { Ticuna::Providers::OpenAI.new(api_key: ENVS[:openai].call) } # anthropic: -> { Ticuna::Providers::Anthropic.new(api_key: ENVS[:anthropic].call) }, # deepseek: -> { Ticuna::Providers::DeepSeek.new(api_key: ENVS[:deepseek].call) }, # mistral: -> { Ticuna::Providers::Mistral.new(api_key: ENVS[:mistral].call) } }.freeze
- RESPONSE_EXTRACTORS =
{ openai: ->(data) { data.dig(:choices, 0, :message, :content) } }.freeze