Module: OpenApiOpenAIClient::AssistantStreamEvent
- Defined in:
- lib/openapi_openai/models/assistant_stream_event.rb
Overview
Represents an event emitted when streaming a Run. Each event in a server-sent events stream has an event and data property: event: thread.created data: {\"id\": \"thread_123\", \"object\": \"thread\", ...} We emit events whenever a new object is created, transitions to a new state, or is being streamed in parts (deltas). For example, we emit thread.run.created when a new run is created, thread.run.completed when a run completes, and so on. When an Assistant chooses to create a message during a run, we emit a thread.message.created event, a thread.message.in_progress event, many thread.message.delta events, and finally a thread.message.completed event. We may add additional events over time, so we recommend handling unknown events gracefully in your code. See the Assistants API quickstart to learn how to integrate the Assistants API with streaming.
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/openapi_openai/models/assistant_stream_event.rb', line 35 def build(data) # Go through the list of oneOf items and attempt to identify the appropriate one. # Note: # - We do not attempt to check whether exactly one item matches. # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) # due to the way the deserialization is made in the base_object template (it just casts without verifying). # - TODO: scalar values are de facto behaving as if they were nullable. # - TODO: logging when debugging is set. openapi_one_of.each do |klass| begin next if klass == :AnyType # "nullable: true" return find_and_cast_into_type(klass, data) rescue # rescue all errors so we keep iterating even if the current item lookup raises end end openapi_one_of.include?(:AnyType) ? data : nil end |
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3)
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/openapi_openai/models/assistant_stream_event.rb', line 21 def openapi_one_of [ :'DoneEvent', :'ErrorEvent', :'MessageStreamEvent', :'RunStepStreamEvent', :'RunStreamEvent', :'ThreadStreamEvent' ] end |