Module: Ask::LLM::SSEBuffer
- Included in:
- Providers::Anthropic, Providers::Cloudflare, Providers::Google, Providers::OpenAI
- Defined in:
- lib/ask/llm/sse_buffer.rb
Instance Method Summary collapse
Instance Method Details
#each_sse_event(raw) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ask/llm/sse_buffer.rb', line 10 def each_sse_event(raw) @_sse_buffer ||= +"" @_sse_buffer << raw while (event_end = @_sse_buffer.index("\n\n")) event_data = @_sse_buffer.slice!(0, event_end + 2).strip next if event_data.empty? data_content = extract_data(event_data) next if data_content.empty? break if data_content == "[DONE]" yield data_content end end |
#init_sse_buffer ⇒ Object
6 7 8 |
# File 'lib/ask/llm/sse_buffer.rb', line 6 def init_sse_buffer @_sse_buffer = +"" end |