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.



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

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)



49
50
51
# File 'lib/nitro_intelligence/client/base.rb', line 49

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

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



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

def client
  @client
end

Instance Method Details

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



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

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



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

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

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

Returns StringIO



31
32
33
# File 'lib/nitro_intelligence/client/base.rb', line 31

def text_to_speech(message: "", parameters: {})
  text_to_speech_handler.create(message:, 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



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

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