Class: LLM::OpenAI::Format::ModerationFormat

Inherits:
Object
  • Object
show all
Defined in:
lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/moderation_format.rb

Instance Method Summary collapse

Constructor Details

#initialize(inputs) ⇒ LLM::OpenAI::Format::ModerationFormat

Parameters:

  • inputs (String, URI, Array<String, URI>)

    The inputs to format



11
12
13
# File 'lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/moderation_format.rb', line 11

def initialize(inputs)
  @inputs = inputs
end

Instance Method Details

#formatArray<Hash>

Formats the inputs for the OpenAI moderations API

Returns:

  • (Array<Hash>)


18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/moderation_format.rb', line 18

def format
  [*inputs].flat_map do |input|
    if String === input
      {type: :text, text: input}
    elsif URI === input
      {type: :image_url, url: input.to_s}
    else
      raise LLM::FormatError, "The given object (an instance of #{input.class}) " \
                              "is not supported by OpenAI moderations API"
    end
  end
end