Class: AgentRuby::Step::Summarize

Inherits:
Object
  • Object
show all
Defined in:
lib/agent_ruby/step/summarize.rb

Instance Method Summary collapse

Constructor Details

#initialize(chat:, results:, block: nil) ⇒ Summarize

Returns a new instance of Summarize.



6
7
8
9
10
# File 'lib/agent_ruby/step/summarize.rb', line 6

def initialize(chat:, results:, block: nil)
  @block = block
  @chat = chat
  @results = results
end

Instance Method Details

#messageObject



29
30
31
# File 'lib/agent_ruby/step/summarize.rb', line 29

def message
  @response.content.match(/<Message>(.+)<\/Message>/m)[1]
end

#performObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/agent_ruby/step/summarize.rb', line 12

def perform
  prompt = Prompt::Summarize.new(results: @results)
  @response = @chat.ask(prompt.to_s) do |chunk|
    @block.call(chunk) if @block
  end

  if @response.content.match?(/<Error>/)
    raise Error, "Error: #{@response.content.match(/<Message>(.+)<\/Message>/m)[1]}"
  end

  unless @response.content.match?(/<Message>(.+)<\/Message>/m)
    raise NoMessageError, "Error: No message found in the response"
  end

  @response
end