Class: Raif::EmbeddingModels::Bedrock

Inherits:
Raif::EmbeddingModel
  • Object
show all
Defined in:
app/models/raif/embedding_models/bedrock.rb

Instance Method Summary collapse

Instance Method Details

#generate_embedding!(input, dimensions: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/models/raif/embedding_models/bedrock.rb', line 5

def generate_embedding!(input, dimensions: nil)
  unless input.is_a?(String)
    raise ArgumentError, "Raif::EmbeddingModels::Bedrock#generate_embedding! input must be a string"
  end

  params = build_request_parameters(input, dimensions:)
  response = bedrock_client.invoke_model(params)

  response_body = JSON.parse(response.body.read)
  response_body["embedding"]
rescue Aws::BedrockRuntime::Errors::ServiceError => e
  raise "Bedrock API error: #{e.message}"
end