Class: RailsAi::Providers::DummyAdapter

Inherits:
Base
  • Object
show all
Defined in:
lib/rails_ai/providers/dummy_adapter.rb

Instance Method Summary collapse

Instance Method Details

#analyze_image!(image:, prompt:, model:, **opts) ⇒ Object

Multimodal analysis



25
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 25

def analyze_image!(image:, prompt:, model:, **opts) = "[dummy] Image analysis: #{prompt}"

#analyze_video!(video:, prompt:, model:, **opts) ⇒ Object



26
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 26

def analyze_video!(video:, prompt:, model:, **opts) = "[dummy] Video analysis: #{prompt}"

#chat!(messages:, model:, **opts) ⇒ Object

Text-based operations



7
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 7

def chat!(messages:, model:, **opts) = "[dummy] #{messages.last[:content].to_s.reverse}"

#create_variation!(image:, **opts) ⇒ Object



14
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 14

def create_variation!(image:, **opts) = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="

#edit_image!(image:, prompt:, **opts) ⇒ Object



13
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 13

def edit_image!(image:, prompt:, **opts) = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="

#edit_video!(video:, prompt:, **opts) ⇒ Object



18
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 18

def edit_video!(video:, prompt:, **opts) = "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAAB1tZGF0AQAAARxtYXNrAAAAAG1wNDEAAAAAIG1kYXQ="

#embed!(texts:, model:, **opts) ⇒ Object



9
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 9

def embed!(texts:, model:, **opts) = texts.map { |t| [t.length.to_f] }

#generate_image!(prompt:, model:, **opts) ⇒ Object

Image generation



12
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 12

def generate_image!(prompt:, model:, **opts) = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="

#generate_speech!(text:, model:, **opts) ⇒ Object

Audio generation



21
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 21

def generate_speech!(text:, model:, **opts) = "data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4Ljc2LjEwMAAAAAAAAAAAAAAA//tQxAADB8AhSmAhIIEVWWWU"

#generate_video!(prompt:, model:, **opts) ⇒ Object

Video generation



17
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 17

def generate_video!(prompt:, model:, **opts) = "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAAB1tZGF0AQAAARxtYXNrAAAAAG1wNDEAAAAAIG1kYXQ="

#stream_chat!(messages:, model:, **opts, &on_token) ⇒ Object



8
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 8

def stream_chat!(messages:, model:, **opts, &on_token) = messages.last[:content].chars.each { |c| on_token.call(c) }

#transcribe_audio!(audio:, model:, **opts) ⇒ Object



22
# File 'lib/rails_ai/providers/dummy_adapter.rb', line 22

def transcribe_audio!(audio:, model:, **opts) = "[dummy transcription] #{audio.class.name}"