Class: Async::Ollama::StreamingMessageParser

Inherits:
StreamingParser
  • Object
show all
Defined in:
lib/async/ollama/wrapper.rb

Overview

Parses streaming message responses for the Ollama API, collecting message content.

Instance Method Summary collapse

Methods inherited from StreamingParser

#join, #read

Constructor Details

#initializeStreamingMessageParser

Initializes the parser with an empty message content.



91
92
93
94
95
96
97
# File 'lib/async/ollama/wrapper.rb', line 91

def initialize(...)
	super
	
	@content = String.new
	@message = {content: @content, role: "assistant"}
	@value[:message] = @message
end

Instance Method Details

#eachObject

Iterates over each message line, yielding the message content.



101
102
103
104
105
106
107
108
109
110
111
# File 'lib/async/ollama/wrapper.rb', line 101

def each
	super do |line|
		message = line.delete(:message)
		content = message.delete(:content)
		@content << content
		@message.merge!(message)
		@value.merge!(line)
		
		yield content
	end
end