Class: Raif::Llms::Bedrock
- Inherits:
-
Raif::Llm
- Object
- Raif::Llm
- Raif::Llms::Bedrock
- Includes:
- Concerns::Llms::Bedrock::MessageFormatting, Concerns::Llms::Bedrock::ResponseToolCalls, Concerns::Llms::Bedrock::ToolFormatting
- Defined in:
- app/models/raif/llms/bedrock.rb
Class Method Summary collapse
- .cache_creation_input_token_cost_multiplier ⇒ Object
- .cache_read_input_token_cost_multiplier ⇒ Object
- .prompt_tokens_include_cached_tokens? ⇒ Boolean
Instance Method Summary collapse
Class Method Details
.cache_creation_input_token_cost_multiplier ⇒ Object
16 17 18 |
# File 'app/models/raif/llms/bedrock.rb', line 16 def self.cache_creation_input_token_cost_multiplier 1.25 end |
.cache_read_input_token_cost_multiplier ⇒ Object
12 13 14 |
# File 'app/models/raif/llms/bedrock.rb', line 12 def self.cache_read_input_token_cost_multiplier 0.1 end |
.prompt_tokens_include_cached_tokens? ⇒ Boolean
8 9 10 |
# File 'app/models/raif/llms/bedrock.rb', line 8 def self.prompt_tokens_include_cached_tokens? false end |
Instance Method Details
#perform_model_completion!(model_completion, &block) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/models/raif/llms/bedrock.rb', line 20 def perform_model_completion!(model_completion, &block) model_completion.model_api_name = resolve_model_api_name(model_completion.model_api_name) params = build_request_parameters(model_completion) if model_completion.stream_response? bedrock_client.converse_stream(params) do |stream| stream.on_error_event do |event| raise Raif::Errors::StreamingError.new( message: event., type: event.event_type, code: event.error_code, event: event ) end handler = streaming_chunk_handler(model_completion, &block) stream.on_event do |event| handler.call(event) end end else response = bedrock_client.converse(params) update_model_completion(model_completion, response) end model_completion end |