Module: Legion::Extensions::Llm::Bedrock::Provider::ClassMethods
- Included in:
- Legion::Extensions::Llm::Bedrock::Provider
- Defined in:
- lib/legion/extensions/llm/bedrock/provider/class_methods.rb
Overview
Class-level methods for the Bedrock provider, applied via extend.
Constant Summary collapse
- INFERENCE_PROFILE_PREFIXES =
%w[anthropic. meta. mistral. cohere. ai21.].freeze
Instance Method Summary collapse
- #capabilities ⇒ Object
- #configuration_options ⇒ Object
- #configuration_requirements ⇒ Object
- #default_tier ⇒ Object
- #default_transport ⇒ Object
- #inference_profile_id(model, geo_prefix: 'us', region: nil) ⇒ Object
- #normalize_geo_prefix(value) ⇒ Object
- #registry_publisher ⇒ Object
- #resolve_model_id(model_id) ⇒ Object
- #slug ⇒ Object
Instance Method Details
#capabilities ⇒ Object
31 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 31 def capabilities = Capabilities |
#configuration_options ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 16 def %i[ bedrock_region bedrock_endpoint bedrock_access_key_id bedrock_secret_access_key bedrock_session_token bedrock_geo_prefix bedrock_profile bedrock_stub_responses bearer_token ] end |
#configuration_requirements ⇒ Object
30 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 30 def configuration_requirements = [] |
#default_tier ⇒ Object
14 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 14 def default_tier = :cloud |
#default_transport ⇒ Object
13 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 13 def default_transport = :aws_sdk |
#inference_profile_id(model, geo_prefix: 'us', region: nil) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 41 def inference_profile_id(model, geo_prefix: 'us', region: nil) return model if model.start_with?('arn:') canonical = model.sub(/\A(?:us|eu|ap)\./, '') return canonical unless INFERENCE_PROFILE_PREFIXES.any? { |p| canonical.start_with?(p) } prefix = normalize_geo_prefix(geo_prefix || region) "#{prefix}.#{canonical}" end |
#normalize_geo_prefix(value) ⇒ Object
51 52 53 54 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 51 def normalize_geo_prefix(value) candidate = value.to_s.downcase %w[us eu ap].include?(candidate) ? candidate : 'us' end |
#registry_publisher ⇒ Object
33 34 35 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 33 def registry_publisher Legion::Extensions::Llm::Bedrock.registry_publisher end |
#resolve_model_id(model_id) ⇒ Object
37 38 39 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 37 def resolve_model_id(model_id, **) ALIASES.fetch(model_id.to_s, model_id.to_s) end |
#slug ⇒ Object
12 |
# File 'lib/legion/extensions/llm/bedrock/provider/class_methods.rb', line 12 def slug = 'bedrock' |