Class: Phronomy::LLMAdapter::RubyLLM
- Defined in:
- lib/phronomy/llm_adapter/ruby_llm.rb
Overview
Default LLMAdapter SPI implementation backed by RubyLLM.
The synchronous chat.ask / chat.complete calls are invoked through the
framework-owned async bridge in Base, so adapter consumers do
not need to manage OffloadPool themselves.
Instance Method Summary collapse
-
#complete(chat, message, config: {}) ⇒ Object
Delegates to
chat.ask(message)orchat.completewhen message is nil. -
#stream(chat, message, config: {}) {|chunk| ... } ⇒ Object
Delegates to
chat.ask(message) { |chunk| ... }orchat.complete(&block)when message is nil.
Methods inherited from Base
#complete_async, #stream_async
Instance Method Details
#complete(chat, message, config: {}) ⇒ Object
Delegates to chat.ask(message) or chat.complete when message is nil.
Passing nil for message is used by the ReAct loop for continuation
turns where the user message has already been added to the chat history
(for example after a Tool result).
29 30 31 |
# File 'lib/phronomy/llm_adapter/ruby_llm.rb', line 29 def complete(chat, , config: {}) ? chat.ask() : chat.complete end |
#stream(chat, message, config: {}) {|chunk| ... } ⇒ Object
Delegates to chat.ask(message) { |chunk| ... } or chat.complete(&block)
when message is nil.
42 43 44 |
# File 'lib/phronomy/llm_adapter/ruby_llm.rb', line 42 def stream(chat, , config: {}, &block) ? chat.ask(, &block) : chat.complete(&block) end |