Class: Llmclt::Config::SafetyConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/llmclt/config/safety_config.rb

Constant Summary collapse

PARAMETERS =

SafetySettings parameters category: enum HARM_CATEGORY_SEXUALLY_EXPLICIT HARM_CATEGORY_HATE_SPEECH HARM_CATEGORY_HARASSMENT HARM_CATEGORY_DANGEROUS_CONTENT threshold: enum OFF BLOCK_NONE BLOCK_LOW_AND_ABOVE BLOCK_MEDIUM_AND_ABOVE BLOCK_ONLY_HIGH

%i[category threshold].freeze

Instance Method Summary collapse

Constructor Details

#initialize(settings = []) ⇒ SafetyConfig

Returns a new instance of SafetyConfig.



21
22
23
# File 'lib/llmclt/config/safety_config.rb', line 21

def initialize(settings = [])
  @settings = settings
end

Instance Method Details

#build_request_contentObject



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/llmclt/config/safety_config.rb', line 25

def build_request_content
  return {} if @settings.nil? || @settings.empty?

  {
    safetySettings: @settings.map do |setting|
      PARAMETERS.each_with_object({}) do |param, cfg|
        p = param.to_s.camelize(:lower).to_sym
        cfg[p] = setting[param] unless setting[param].nil?
      end
    end
  }
end