Class: OpenAI::Resources::Beta::Threads::Messages

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/beta/threads/messages.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Messages

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 Messages.

Parameters:



170
171
172
# File 'lib/openai/resources/beta/threads/messages.rb', line 170

def initialize(client:)
  @client = client
end

Instance Method Details

#create(thread_id, content: , role: , attachments: nil, metadata: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Threads::Message

Some parameter documentations has been truncated, see Models::Beta::Threads::MessageCreateParams for more details.

Create a message.

Parameters:

Returns:

See Also:



30
31
32
33
34
35
36
37
38
39
# File 'lib/openai/resources/beta/threads/messages.rb', line 30

def create(thread_id, params)
  parsed, options = OpenAI::Beta::Threads::MessageCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["threads/%1$s/messages", thread_id],
    body: parsed,
    model: OpenAI::Beta::Threads::Message,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#delete(message_id, thread_id: , request_options: {}) ⇒ OpenAI::Models::Beta::Threads::MessageDeleted

Deletes a message.

Parameters:

  • message_id (String)

    The ID of the message to delete.

  • thread_id (String)

    The ID of the thread to which this message belongs.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/openai/resources/beta/threads/messages.rb', line 153

def delete(message_id, params)
  parsed, options = OpenAI::Beta::Threads::MessageDeleteParams.dump_request(params)
  thread_id =
    parsed.delete(:thread_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :delete,
    path: ["threads/%1$s/messages/%2$s", thread_id, message_id],
    model: OpenAI::Beta::Threads::MessageDeleted,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#list(thread_id, after: nil, before: nil, limit: nil, order: nil, run_id: nil, request_options: {}) ⇒ OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Threads::Message>

Some parameter documentations has been truncated, see Models::Beta::Threads::MessageListParams for more details.

Returns a list of messages for a given thread.

Parameters:

  • thread_id (String)
  • after (String)

    A cursor for use in pagination. ‘after` is an object ID that defines your place

  • before (String)

    A cursor for use in pagination. ‘before` is an object ID that defines your place

  • limit (Integer)

    A limit on the number of objects to be returned. Limit can range between 1 and 1

  • order (Symbol, OpenAI::Models::Beta::Threads::MessageListParams::Order)

    Sort order by the ‘created_at` timestamp of the objects. `asc` for ascending ord

  • run_id (String)

    Filter messages by the run ID that generated them.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



128
129
130
131
132
133
134
135
136
137
138
# File 'lib/openai/resources/beta/threads/messages.rb', line 128

def list(thread_id, params = {})
  parsed, options = OpenAI::Beta::Threads::MessageListParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["threads/%1$s/messages", thread_id],
    query: parsed,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::Beta::Threads::Message,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#retrieve(message_id, thread_id: , request_options: {}) ⇒ OpenAI::Models::Beta::Threads::Message

Some parameter documentations has been truncated, see Models::Beta::Threads::MessageRetrieveParams for more details.

Retrieve a message.

Parameters:

Returns:

See Also:



57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/openai/resources/beta/threads/messages.rb', line 57

def retrieve(message_id, params)
  parsed, options = OpenAI::Beta::Threads::MessageRetrieveParams.dump_request(params)
  thread_id =
    parsed.delete(:thread_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["threads/%1$s/messages/%2$s", thread_id, message_id],
    model: OpenAI::Beta::Threads::Message,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#update(message_id, thread_id: , metadata: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Threads::Message

Some parameter documentations has been truncated, see Models::Beta::Threads::MessageUpdateParams for more details.

Modifies a message.

Parameters:

  • message_id (String)

    Path param: The ID of the message to modify.

  • thread_id (String)

    Path param: The ID of the thread to which this message belongs.

  • metadata (Hash{Symbol=>String}, nil)

    Body param: Set of 16 key-value pairs that can be attached to an object. This ca

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/openai/resources/beta/threads/messages.rb', line 89

def update(message_id, params)
  parsed, options = OpenAI::Beta::Threads::MessageUpdateParams.dump_request(params)
  thread_id =
    parsed.delete(:thread_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: ["threads/%1$s/messages/%2$s", thread_id, message_id],
    body: parsed,
    model: OpenAI::Beta::Threads::Message,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end