Module: Legion::Extensions::Llm::Bedrock::Provider::Capabilities

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

Overview

Capability predicates inferred from Bedrock model IDs and API modalities.

Class Method Summary collapse

Class Method Details

.chat?(model) ⇒ Boolean

Returns:

  • (Boolean)


109
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 109

def chat?(model) = !embeddings?(model)

.embeddings?(model) ⇒ Boolean

Returns:

  • (Boolean)


113
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 113

def embeddings?(model) = model_id(model).match?(/embed|embedding/)

.functions?(model) ⇒ Boolean

Returns:

  • (Boolean)


112
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 112

def functions?(model) = chat?(model)

.model_id(model) ⇒ Object



115
116
117
118
119
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 115

def model_id(model)
  return model.fetch('model', model.fetch('id', '')) if model.is_a?(Hash)

  model.respond_to?(:id) ? model.id.to_s : model.to_s
end

.streaming?(model) ⇒ Boolean

Returns:

  • (Boolean)


110
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 110

def streaming?(model) = chat?(model)

.vision?(model) ⇒ Boolean

Returns:

  • (Boolean)


111
# File 'lib/legion/extensions/llm/bedrock/provider.rb', line 111

def vision?(model) = model_id(model).match?(/(claude-3|llama3-2-(11|90)b)/)