Module: Raif::Concerns::Llms::Anthropic::MessageFormatting
- Extended by:
- ActiveSupport::Concern
- Included in:
- Llms::Anthropic
- Defined in:
- app/models/raif/concerns/llms/anthropic/message_formatting.rb
Instance Method Summary collapse
- #format_model_file_input_message(file_input) ⇒ Object
- #format_model_image_input_message(image_input) ⇒ Object
Instance Method Details
#format_model_file_input_message(file_input) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/raif/concerns/llms/anthropic/message_formatting.rb', line 29 def (file_input) if file_input.source_type == :url { "type" => "document", "source" => { "type" => "url", "url" => file_input.url } } elsif file_input.source_type == :file_content { "type" => "document", "source" => { "type" => "base64", "media_type" => file_input.content_type, "data" => file_input.base64_data } } else raise Raif::Errors::InvalidModelFileInputError, "Invalid model file input source type: #{file_input.source_type}" end end |
#format_model_image_input_message(image_input) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/models/raif/concerns/llms/anthropic/message_formatting.rb', line 6 def (image_input) if image_input.source_type == :url { "type" => "image", "source" => { "type" => "url", "url" => image_input.url } } elsif image_input.source_type == :file_content { "type" => "image", "source" => { "type" => "base64", "media_type" => image_input.content_type, "data" => image_input.base64_data } } else raise Raif::Errors::InvalidModelImageInputError, "Invalid model image input source type: #{image_input.source_type}" end end |