Class: RailsConsoleAi::Providers::Bedrock
- Inherits:
-
Base
- Object
- Base
- RailsConsoleAi::Providers::Bedrock
show all
- Defined in:
- lib/rails_console_ai/providers/bedrock.rb
Instance Attribute Summary
Attributes inherited from Base
#config
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Instance Method Details
#chat(messages, system_prompt: nil) ⇒ Object
4
5
6
|
# File 'lib/rails_console_ai/providers/bedrock.rb', line 4
def chat(messages, system_prompt: nil)
call_api(messages, system_prompt: system_prompt)
end
|
8
9
10
|
# File 'lib/rails_console_ai/providers/bedrock.rb', line 8
def chat_with_tools(messages, tools:, system_prompt: nil)
call_api(messages, system_prompt: system_prompt, tools: tools)
end
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/rails_console_ai/providers/bedrock.rb', line 12
def format_assistant_message(result)
content = []
content << { text: result.text } if result.text && !result.text.empty?
(result.tool_calls || []).each do |tc|
content << {
tool_use: {
tool_use_id: tc[:id],
name: tc[:name],
input: tc[:arguments]
}
}
end
{ role: 'assistant', content: content }
end
|
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/rails_console_ai/providers/bedrock.rb', line 27
def format_tool_result(tool_call_id, result_string)
{
role: 'user',
content: [
{
tool_result: {
tool_use_id: tool_call_id,
content: [{ text: result_string.to_s }]
}
}
]
}
end
|