Class: Ollama::GenerateStreamHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/ollama/generate_stream_handler.rb

Overview

Consumes NDJSON lines from an Ollama /api/generate streaming HTTP body.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response, hooks, accumulator, provider: nil) ⇒ GenerateStreamHandler

Returns a new instance of GenerateStreamHandler.



12
13
14
15
16
17
# File 'lib/ollama/generate_stream_handler.rb', line 12

def initialize(response, hooks, accumulator, provider: nil)
  @response = response
  @hooks = hooks
  @accumulator = accumulator
  @provider = provider
end

Class Method Details

.call(response, hooks, accumulator, provider: nil) ⇒ Object



8
9
10
# File 'lib/ollama/generate_stream_handler.rb', line 8

def self.call(response, hooks, accumulator, provider: nil)
  new(response, hooks, accumulator, provider: provider).call
end

Instance Method Details

#callObject



19
20
21
22
# File 'lib/ollama/generate_stream_handler.rb', line 19

def call
  buffer = +""
  @response.read_body { |chunk| drain_chunk(buffer, chunk) }
end