class Riffer::Providers::AmazonBedrock
Amazon Bedrock provider for Claude and other foundation models.
Requires the aws-sdk-bedrockruntime gem to be installed.
See docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/Client.html
Constants
- ANTHROPIC_MODEL_PATTERN
-
Matches Anthropic models on Bedrock: bare ids like
anthropic.claude-3-5-sonnet-20241022-v2:0and cross-region prefixed ids likeus.anthropic.claude-sonnet-4-6. - BEDROCK_FORMAT_MAP
Public Class Methods
Source
# File lib/riffer/providers/amazon_bedrock.rb, line 34 def initialize(api_token: nil, region: nil, **options) depends_on "aws-sdk-bedrockruntime" api_token ||= Riffer.config.amazon_bedrock.api_token region ||= Riffer.config.amazon_bedrock.region @client = if api_token && !api_token.empty? Aws::BedrockRuntime::Client.new( region: region, token_provider: Aws::StaticTokenProvider.new(api_token), auth_scheme_preference: ["httpBearerAuth"], **options ) else Aws::BedrockRuntime::Client.new(region: region, **options) end end
Initializes the Amazon Bedrock provider.
Source
# File lib/riffer/providers/amazon_bedrock.rb, line 25 def self.skills_adapter(model = nil) return Riffer::Skills::XmlAdapter if model && ANTHROPIC_MODEL_PATTERN.match?(model) Riffer::Skills::MarkdownAdapter end
Returns the preferred skill adapter for the given Bedrock model.
Bedrock hosts models from multiple vendors. Anthropic models prefer XML-rendered catalogs; everything else falls back to the default Markdown adapter.