Class: OpenAI::Resources::Beta::Threads
- Inherits:
-
Object
- Object
- OpenAI::Resources::Beta::Threads
- Defined in:
- lib/openai/resources/beta/threads.rb,
lib/openai/resources/beta/threads/runs.rb,
lib/openai/resources/beta/threads/messages.rb,
lib/openai/resources/beta/threads/runs/steps.rb
Defined Under Namespace
Instance Attribute Summary collapse
- #messages ⇒ OpenAI::Resources::Beta::Threads::Messages readonly
- #runs ⇒ OpenAI::Resources::Beta::Threads::Runs readonly
Instance Method Summary collapse
-
#create(messages: nil, metadata: nil, tool_resources: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Some parameter documentations has been truncated, see Models::Beta::ThreadCreateParams for more details.
-
#create_and_run(assistant_id: , instructions: nil, max_completion_tokens: nil, max_prompt_tokens: nil, metadata: nil, model: nil, parallel_tool_calls: nil, response_format: nil, temperature: nil, thread: nil, tool_choice: nil, tool_resources: nil, tools: nil, top_p: nil, truncation_strategy: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Threads::Run
See #stream_raw for streaming counterpart.
-
#delete(thread_id, request_options: {}) ⇒ OpenAI::Models::Beta::ThreadDeleted
Delete a thread.
-
#initialize(client:) ⇒ Threads
constructor
private
A new instance of Threads.
-
#retrieve(thread_id, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Retrieves a thread.
- #stream ⇒ Object
-
#stream_raw(assistant_id: , instructions: nil, max_completion_tokens: nil, max_prompt_tokens: nil, metadata: nil, model: nil, parallel_tool_calls: nil, response_format: nil, temperature: nil, thread: nil, tool_choice: nil, tool_resources: nil, tools: nil, top_p: nil, truncation_strategy: nil, request_options: {}) ⇒ OpenAI::Internal::Stream<OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunQueued, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunRequiresAction, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelling, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ErrorEvent>
See #create_and_run for non-streaming counterpart.
-
#update(thread_id, metadata: nil, tool_resources: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Some parameter documentations has been truncated, see Models::Beta::ThreadUpdateParams for more details.
Constructor Details
#initialize(client:) ⇒ Threads
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Threads.
240 241 242 243 244 |
# File 'lib/openai/resources/beta/threads.rb', line 240 def initialize(client:) @client = client @runs = OpenAI::Resources::Beta::Threads::Runs.new(client: client) @messages = OpenAI::Resources::Beta::Threads::Messages.new(client: client) end |
Instance Attribute Details
#messages ⇒ OpenAI::Resources::Beta::Threads::Messages (readonly)
11 12 13 |
# File 'lib/openai/resources/beta/threads.rb', line 11 def @messages end |
#runs ⇒ OpenAI::Resources::Beta::Threads::Runs (readonly)
8 9 10 |
# File 'lib/openai/resources/beta/threads.rb', line 8 def runs @runs end |
Instance Method Details
#create(messages: nil, metadata: nil, tool_resources: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Some parameter documentations has been truncated, see Models::Beta::ThreadCreateParams for more details.
Create a thread.
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/openai/resources/beta/threads.rb', line 31 def create(params = {}) parsed, = OpenAI::Beta::ThreadCreateParams.dump_request(params) @client.request( method: :post, path: "threads", body: parsed, model: OpenAI::Beta::Thread, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **} ) end |
#create_and_run(assistant_id: , instructions: nil, max_completion_tokens: nil, max_prompt_tokens: nil, metadata: nil, model: nil, parallel_tool_calls: nil, response_format: nil, temperature: nil, thread: nil, tool_choice: nil, tool_resources: nil, tools: nil, top_p: nil, truncation_strategy: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Threads::Run
See #stream_raw for streaming counterpart.
Some parameter documentations has been truncated, see Models::Beta::ThreadCreateAndRunParams for more details.
Create a thread and run it in one request.
155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/openai/resources/beta/threads.rb', line 155 def create_and_run(params) parsed, = OpenAI::Beta::ThreadCreateAndRunParams.dump_request(params) if parsed[:stream] = "Please use `#stream_raw` for the streaming use case." raise ArgumentError.new() end @client.request( method: :post, path: "threads/runs", body: parsed, model: OpenAI::Beta::Threads::Run, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **} ) end |
#delete(thread_id, request_options: {}) ⇒ OpenAI::Models::Beta::ThreadDeleted
Delete a thread.
102 103 104 105 106 107 108 109 |
# File 'lib/openai/resources/beta/threads.rb', line 102 def delete(thread_id, params = {}) @client.request( method: :delete, path: ["threads/%1$s", thread_id], model: OpenAI::Beta::ThreadDeleted, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h} ) end |
#retrieve(thread_id, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Retrieves a thread.
53 54 55 56 57 58 59 60 |
# File 'lib/openai/resources/beta/threads.rb', line 53 def retrieve(thread_id, params = {}) @client.request( method: :get, path: ["threads/%1$s", thread_id], model: OpenAI::Beta::Thread, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h} ) end |
#stream ⇒ Object
170 171 172 |
# File 'lib/openai/resources/beta/threads.rb', line 170 def stream raise NotImplementedError.new("higher level helpers are coming soon!") end |
#stream_raw(assistant_id: , instructions: nil, max_completion_tokens: nil, max_prompt_tokens: nil, metadata: nil, model: nil, parallel_tool_calls: nil, response_format: nil, temperature: nil, thread: nil, tool_choice: nil, tool_resources: nil, tools: nil, top_p: nil, truncation_strategy: nil, request_options: {}) ⇒ OpenAI::Internal::Stream<OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunQueued, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunRequiresAction, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelling, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ErrorEvent>
See #create_and_run for non-streaming counterpart.
Some parameter documentations has been truncated, see Models::Beta::ThreadCreateAndRunParams for more details.
Create a thread and run it in one request.
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/openai/resources/beta/threads.rb', line 219 def stream_raw(params) parsed, = OpenAI::Beta::ThreadCreateAndRunParams.dump_request(params) unless parsed.fetch(:stream, true) = "Please use `#create_and_run` for the non-streaming use case." raise ArgumentError.new() end parsed.store(:stream, true) @client.request( method: :post, path: "threads/runs", headers: {"accept" => "text/event-stream"}, body: parsed, stream: OpenAI::Internal::Stream, model: OpenAI::Beta::AssistantStreamEvent, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **} ) end |
#update(thread_id, metadata: nil, tool_resources: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Thread
Some parameter documentations has been truncated, see Models::Beta::ThreadUpdateParams for more details.
Modifies a thread.
80 81 82 83 84 85 86 87 88 89 |
# File 'lib/openai/resources/beta/threads.rb', line 80 def update(thread_id, params = {}) parsed, = OpenAI::Beta::ThreadUpdateParams.dump_request(params) @client.request( method: :post, path: ["threads/%1$s", thread_id], body: parsed, model: OpenAI::Beta::Thread, options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **} ) end |