Class: Brute::MessageTransport::RubyLLM
- Inherits:
-
MessageTransport
- Object
- MessageTransport
- Brute::MessageTransport::RubyLLM
- Defined in:
- lib/brute/message_transport/ruby_llm.rb
Overview
MessageTransport for the ruby_llm gem (https://rubyllm.com). Brute does not require ruby_llm — you do:
require "ruby_llm"
response = provider.complete(
Brute::MessageTransport::RubyLLM.dump_all(env[:messages]),
tools: ..., model: model,
)
Brute::MessageTransport::RubyLLM.wrap_each(response) { |m| env[:messages] << m }
Class Method Summary collapse
-
.dump(message) ⇒ Object
Brute::Message -> RubyLLM::Message (tool calls as ruby_llm's id-keyed hash).
Class Method Details
.dump(message) ⇒ Object
Brute::Message -> RubyLLM::Message (tool calls as ruby_llm's id-keyed hash).
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/brute/message_transport/ruby_llm.rb', line 22 def self.dump() tool_calls = .tool_calls&.each_with_object({}) do |tc, hash| hash[tc.id] = ::RubyLLM::ToolCall.new(id: tc.id, name: tc.name, arguments: tc.arguments) end ::RubyLLM::Message.new( role: .role, content: .content, tool_calls: tool_calls, tool_call_id: .tool_call_id, ) end |