Module: RubyLLM::Providers::OpenAI::Temperature
- Defined in:
- lib/ruby_llm/providers/openai/temperature.rb
Overview
Normalizes temperature for OpenAI models with provider-specific requirements.
Class Method Summary collapse
Class Method Details
.normalize(temperature, model_id) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ruby_llm/providers/openai/temperature.rb', line 10 def normalize(temperature, model_id) if model_id.match?(/^(o\d|gpt-5)/) && !temperature.nil? && !temperature_close_to_one?(temperature) RubyLLM.logger.debug "Model #{model_id} requires temperature=1.0, setting that instead." 1.0 elsif model_id.include?('-search') RubyLLM.logger.debug "Model #{model_id} does not accept temperature parameter, removing" nil else temperature end end |
.temperature_close_to_one?(temperature) ⇒ Boolean
22 23 24 |
# File 'lib/ruby_llm/providers/openai/temperature.rb', line 22 def temperature_close_to_one?(temperature) (temperature.to_f - 1.0).abs <= Float::EPSILON end |