Module: Legion::Extensions::Llm::Provider::OpenAICompatible

Defined in:
lib/legion/extensions/llm/provider/open_ai_compatible.rb

Overview

Shared OpenAI-compatible HTTP payload and response adapter.

Instance Method Summary collapse

Instance Method Details

#completion_urlObject



10
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 10

def completion_url = '/v1/chat/completions'

#embedding_urlObject



14
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 14

def embedding_url(**) = '/v1/embeddings'

#images_url(with:, mask:) ⇒ Object



17
18
19
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 17

def images_url(with:, mask:)
  with || mask ? '/v1/images/edits' : '/v1/images/generations'
end

#models_urlObject



12
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 12

def models_url = '/v1/models'

#moderation_urlObject



13
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 13

def moderation_url = '/v1/moderations'

#stream_urlObject



11
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 11

def stream_url = completion_url

#stream_usage_supported?Boolean

Returns:

  • (Boolean)


9
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 9

def stream_usage_supported? = false

#transcription_urlObject



15
# File 'lib/legion/extensions/llm/provider/open_ai_compatible.rb', line 15

def transcription_url = '/v1/audio/transcriptions'