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
|