Class: NitroIntelligence::Client::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/nitro_intelligence/client/base.rb

Direct Known Subclasses

Observed

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Base

Returns a new instance of Base.



10
11
12
# File 'lib/nitro_intelligence/client/base.rb', line 10

def initialize(client:)
  @client = client
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name) ⇒ Object (private)



43
44
45
# File 'lib/nitro_intelligence/client/base.rb', line 43

def method_missing(method_name, *, &)
  @client.send(method_name, *, &)
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



8
9
10
# File 'lib/nitro_intelligence/client/base.rb', line 8

def client
  @client
end

Instance Method Details

#chat(message: "", parameters: {}) ⇒ Object



14
15
16
# File 'lib/nitro_intelligence/client/base.rb', line 14

def chat(message: "", parameters: {})
  chat_handler.create(message:, parameters:)
end

#generate_image(message: "", target_image: nil, reference_images: [], parameters: {}) ⇒ Object

Input images should be byte strings. Returns NitroIntelligence::ImageGeneration



19
20
21
# File 'lib/nitro_intelligence/client/base.rb', line 19

def generate_image(message: "", target_image: nil, reference_images: [], parameters: {})
  image_handler.create(message:, target_image:, reference_images:, parameters:)
end

#transcribe_audio(message: +"",, audio_file: nil, parameters: {}) ⇒ Object

Audio file should be file object with extension in the filename Use file_extension for now to prevent a library dependency



25
26
27
# File 'lib/nitro_intelligence/client/base.rb', line 25

def transcribe_audio(message: +"", audio_file: nil, parameters: {})
  audio_transcription_handler.create(message:, audio_file:, parameters:)
end