Module: Riffer::Agent::Run

Extended by:
Run
Included in:
Run
Defined in:
lib/riffer/agent/run.rb

Overview

The generation loop — a pure module of functions over an agent, which owns every per-call value; Run just orchestrates.

Instance Method Summary collapse

Instance Method Details

#generate(agent:, prompt: nil, files: nil) ⇒ Object

Runs the generate loop for the given agent. See Riffer::Agent#generate for prompt/files semantics.

– : (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?) -> Riffer::Agent::Response



14
15
16
17
# File 'lib/riffer/agent/run.rb', line 14

def generate(agent:, prompt: nil, files: nil)
  append_user_message(agent, prompt, files: files)
  run_loop(agent)
end

#stream(agent:, prompt: nil, files: nil) ⇒ Object

Runs the streaming loop for the given agent. See Riffer::Agent#stream for prompt/files semantics.

– : (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?) -> Enumerator[Riffer::StreamEvents::Base, void]



24
25
26
27
# File 'lib/riffer/agent/run.rb', line 24

def stream(agent:, prompt: nil, files: nil)
  append_user_message(agent, prompt, files: files)
  Enumerator.new { |stream_yielder| run_loop(agent, stream_yielder: stream_yielder) }
end