Class: LLM::Google::StreamParser
- Inherits:
-
Object
- Object
- LLM::Google::StreamParser
- Defined in:
- lib/llm/providers/google/stream_parser.rb
Instance Attribute Summary collapse
-
#body ⇒ Hash
readonly
Returns the fully constructed response body.
Instance Method Summary collapse
-
#free ⇒ void
Frees internal parser state used during streaming.
- #initialize(stream) ⇒ LLM::Google::StreamParser constructor
- #parse!(chunk) ⇒ LLM::Google::StreamParser
Constructor Details
#initialize(stream) ⇒ LLM::Google::StreamParser
16 17 18 19 20 21 22 23 |
# File 'lib/llm/providers/google/stream_parser.rb', line 16 def initialize(stream) @body = {"candidates" => []} @stream = stream @emits = {tools: []} @can_emit_content = stream.respond_to?(:on_content) @can_emit_tool_call = stream.respond_to?(:on_tool_call) @can_push_content = stream.respond_to?(:<<) end |
Instance Attribute Details
#body ⇒ Hash (readonly)
Returns the fully constructed response body
10 11 12 |
# File 'lib/llm/providers/google/stream_parser.rb', line 10 def body @body end |
Instance Method Details
#free ⇒ void
This method returns an undefined value.
Frees internal parser state used during streaming.
35 36 37 |
# File 'lib/llm/providers/google/stream_parser.rb', line 35 def free @emits.clear end |
#parse!(chunk) ⇒ LLM::Google::StreamParser
28 29 30 |
# File 'lib/llm/providers/google/stream_parser.rb', line 28 def parse!(chunk) tap { merge_chunk!(chunk) } end |