Sha256: ffc2e217e17a5de58c6aa7d207878fa707d219db6ce5a11a28b62f5936b197a5
Contents?: true
Size: 558 Bytes
Versions: 13
Compression:
Stored size: 558 Bytes
Contents
# frozen_string_literal: true module OmniAI class Chat # A stream given when streaming. class Stream # @param response [HTTP::Response] def initialize(response:) @response = response @parser = EventStreamParser::Parser.new end # @yield [OmniAI::Chat::Chunk] def stream! @response.body.each do |chunk| @parser.feed(chunk) do |_, data| next if data.eql?('[DONE]') yield(Chunk.new(data: JSON.parse(data))) end end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems