Class: NitroIntelligence::Client::Handlers::ImageHandler
- Inherits:
-
BaseHandler
- Object
- BaseHandler
- NitroIntelligence::Client::Handlers::ImageHandler
show all
- Defined in:
- lib/nitro_intelligence/client/handlers/image_handler.rb
Constant Summary
collapse
OpenAI::Models::Chat::CompletionCreateParams.fields.keys.uniq.freeze
Constants inherited
from BaseHandler
BaseHandler::MODALITY_HEADER, BaseHandler::REQUESTED_MODEL_HEADER
Instance Method Summary
collapse
Methods inherited from BaseHandler
#initialize
Instance Method Details
#create(message: "", target_image: nil, reference_images: [], parameters: {}) ⇒ Object
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/nitro_intelligence/client/handlers/image_handler.rb', line 11
def create(message: "", target_image: nil, reference_images: [], parameters: {})
image_generation = build_image_generation(message:, target_image:, reference_images:, parameters:)
validate_and_resolve!(parameters, image_generation)
chat_completion = perform_request(parameters:)
image_generation.parse_file(chat_completion)
image_generation
end
|
#validate_and_resolve!(parameters, image_generation) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/nitro_intelligence/client/handlers/image_handler.rb', line 27
def validate_and_resolve!(parameters, image_generation)
default_parameters = {
image_generation:,
metadata: {},
messages: image_generation.messages,
model: image_generation.config.model,
request_options: {
extra_body: {
image_config: {
aspect_ratio: image_generation.config.aspect_ratio,
image_size: image_generation.config.resolution,
},
},
},
}
parameters.replace(default_parameters.merge(parameters))
Client.validate_model(parameters[:model])
end
|