openai 0.70.0 → 0.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/README.md +51 -1
- data/lib/openai/client.rb +62 -8
- data/lib/openai/internal/provider.rb +31 -0
- data/lib/openai/internal/transport/base_client.rb +65 -21
- data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
- data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
- data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
- data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
- data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
- data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
- data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
- data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
- data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
- data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
- data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
- data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
- data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
- data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
- data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
- data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
- data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
- data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
- data/lib/openai/models/beta/beta_response.rb +12 -6
- data/lib/openai/models/beta/beta_response_error.rb +1 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
- data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
- data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
- data/lib/openai/models/beta/response_create_params.rb +12 -6
- data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
- data/lib/openai/models/chat/completion_create_params.rb +8 -6
- data/lib/openai/models/reasoning.rb +8 -2
- data/lib/openai/models/responses/input_token_count_params.rb +4 -2
- data/lib/openai/models/responses/response.rb +4 -4
- data/lib/openai/models/responses/response_create_params.rb +4 -4
- data/lib/openai/models/responses/response_error.rb +1 -0
- data/lib/openai/models/responses/response_text_config.rb +4 -2
- data/lib/openai/models/responses/responses_client_event.rb +4 -4
- data/lib/openai/provider.rb +18 -0
- data/lib/openai/providers/bedrock.rb +489 -0
- data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
- data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
- data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
- data/lib/openai/resources/admin/organization/projects.rb +4 -0
- data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
- data/lib/openai/resources/admin/organization.rb +4 -0
- data/lib/openai/resources/beta/responses.rb +4 -4
- data/lib/openai/resources/chat/completions.rb +4 -4
- data/lib/openai/resources/responses.rb +4 -4
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +18 -0
- data/rbi/openai/client.rbi +17 -0
- data/rbi/openai/internal/provider.rbi +51 -0
- data/rbi/openai/internal/transport/base_client.rbi +32 -0
- data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
- data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
- data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
- data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
- data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
- data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
- data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
- data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
- data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
- data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
- data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
- data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
- data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
- data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
- data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
- data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
- data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
- data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
- data/rbi/openai/models/beta/beta_response.rbi +18 -15
- data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
- data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
- data/rbi/openai/models/beta/response_create_params.rbi +18 -15
- data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
- data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
- data/rbi/openai/models/reasoning.rbi +12 -3
- data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
- data/rbi/openai/models/responses/response.rbi +6 -12
- data/rbi/openai/models/responses/response_create_params.rbi +6 -12
- data/rbi/openai/models/responses/response_error.rbi +5 -0
- data/rbi/openai/models/responses/response_text_config.rbi +6 -3
- data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
- data/rbi/openai/provider.rbi +9 -0
- data/rbi/openai/providers.rbi +33 -0
- data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
- data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
- data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
- data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
- data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
- data/rbi/openai/resources/admin/organization.rbi +3 -0
- data/rbi/openai/resources/beta/responses.rbi +4 -4
- data/rbi/openai/resources/chat/completions.rbi +8 -6
- data/rbi/openai/resources/responses.rbi +4 -4
- data/sig/openai/client.rbs +7 -0
- data/sig/openai/internal/provider.rbs +29 -0
- data/sig/openai/internal/transport/base_client.rbs +17 -1
- data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
- data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
- data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
- data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
- data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
- data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
- data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
- data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
- data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
- data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
- data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
- data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
- data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
- data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
- data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
- data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
- data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
- data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
- data/sig/openai/models/beta/beta_response.rbs +8 -12
- data/sig/openai/models/beta/beta_response_error.rbs +2 -0
- data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
- data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
- data/sig/openai/models/beta/response_create_params.rbs +8 -12
- data/sig/openai/models/chat/completion_create_params.rbs +8 -12
- data/sig/openai/models/responses/response.rbs +8 -12
- data/sig/openai/models/responses/response_create_params.rbs +8 -12
- data/sig/openai/models/responses/response_error.rbs +2 -0
- data/sig/openai/models/responses/responses_client_event.rbs +8 -12
- data/sig/openai/provider.rbs +5 -0
- data/sig/openai/providers.rbs +15 -0
- data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
- data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
- data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
- data/sig/openai/resources/admin/organization/projects.rbs +2 -0
- data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
- data/sig/openai/resources/admin/organization.rbs +2 -0
- data/sig/openai/resources/beta/responses.rbs +4 -4
- data/sig/openai/resources/chat/completions.rbs +4 -4
- data/sig/openai/resources/responses.rbs +4 -4
- metadata +56 -2
|
@@ -32,6 +32,9 @@ module OpenAI
|
|
|
32
32
|
# @return [OpenAI::Resources::Admin::Organization::Projects::DataRetention]
|
|
33
33
|
attr_reader :data_retention
|
|
34
34
|
|
|
35
|
+
# @return [OpenAI::Resources::Admin::Organization::Projects::SpendLimit]
|
|
36
|
+
attr_reader :spend_limit
|
|
37
|
+
|
|
35
38
|
# @return [OpenAI::Resources::Admin::Organization::Projects::SpendAlerts]
|
|
36
39
|
attr_reader :spend_alerts
|
|
37
40
|
|
|
@@ -189,6 +192,7 @@ module OpenAI
|
|
|
189
192
|
@groups = OpenAI::Resources::Admin::Organization::Projects::Groups.new(client: client)
|
|
190
193
|
@roles = OpenAI::Resources::Admin::Organization::Projects::Roles.new(client: client)
|
|
191
194
|
@data_retention = OpenAI::Resources::Admin::Organization::Projects::DataRetention.new(client: client)
|
|
195
|
+
@spend_limit = OpenAI::Resources::Admin::Organization::Projects::SpendLimit.new(client: client)
|
|
192
196
|
@spend_alerts = OpenAI::Resources::Admin::Organization::Projects::SpendAlerts.new(client: client)
|
|
193
197
|
@certificates = OpenAI::Resources::Admin::Organization::Projects::Certificates.new(client: client)
|
|
194
198
|
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
class Admin
|
|
6
|
+
class Organization
|
|
7
|
+
class SpendLimit
|
|
8
|
+
# Get the organization's hard spend limit.
|
|
9
|
+
#
|
|
10
|
+
# @overload retrieve(request_options: {})
|
|
11
|
+
#
|
|
12
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
13
|
+
#
|
|
14
|
+
# @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimit]
|
|
15
|
+
#
|
|
16
|
+
# @see OpenAI::Models::Admin::Organization::SpendLimitRetrieveParams
|
|
17
|
+
def retrieve(params = {})
|
|
18
|
+
@client.request(
|
|
19
|
+
method: :get,
|
|
20
|
+
path: "organization/spend_limit",
|
|
21
|
+
model: OpenAI::Admin::Organization::OrganizationSpendLimit,
|
|
22
|
+
security: {admin_api_key_auth: true},
|
|
23
|
+
options: params[:request_options]
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Some parameter documentations has been truncated, see
|
|
28
|
+
# {OpenAI::Models::Admin::Organization::SpendLimitUpdateParams} for more details.
|
|
29
|
+
#
|
|
30
|
+
# Create or replace the organization's hard spend limit.
|
|
31
|
+
#
|
|
32
|
+
# @overload update(currency:, interval:, threshold_amount:, request_options: {})
|
|
33
|
+
#
|
|
34
|
+
# @param currency [Symbol, OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::Currency] The currency for the threshold amount. Currently, only `USD` is supported.
|
|
35
|
+
#
|
|
36
|
+
# @param interval [Symbol, OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::Interval] The time interval for evaluating spend against the threshold. Currently, only `m
|
|
37
|
+
#
|
|
38
|
+
# @param threshold_amount [Integer] The hard spend limit amount, in cents.
|
|
39
|
+
#
|
|
40
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
41
|
+
#
|
|
42
|
+
# @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimit]
|
|
43
|
+
#
|
|
44
|
+
# @see OpenAI::Models::Admin::Organization::SpendLimitUpdateParams
|
|
45
|
+
def update(params)
|
|
46
|
+
parsed, options = OpenAI::Admin::Organization::SpendLimitUpdateParams.dump_request(params)
|
|
47
|
+
@client.request(
|
|
48
|
+
method: :post,
|
|
49
|
+
path: "organization/spend_limit",
|
|
50
|
+
body: parsed,
|
|
51
|
+
model: OpenAI::Admin::Organization::OrganizationSpendLimit,
|
|
52
|
+
security: {admin_api_key_auth: true},
|
|
53
|
+
options: options
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Delete the organization's hard spend limit.
|
|
58
|
+
#
|
|
59
|
+
# @overload delete(request_options: {})
|
|
60
|
+
#
|
|
61
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
62
|
+
#
|
|
63
|
+
# @return [OpenAI::Models::Admin::Organization::OrganizationSpendLimitDeleted]
|
|
64
|
+
#
|
|
65
|
+
# @see OpenAI::Models::Admin::Organization::SpendLimitDeleteParams
|
|
66
|
+
def delete(params = {})
|
|
67
|
+
@client.request(
|
|
68
|
+
method: :delete,
|
|
69
|
+
path: "organization/spend_limit",
|
|
70
|
+
model: OpenAI::Admin::Organization::OrganizationSpendLimitDeleted,
|
|
71
|
+
security: {admin_api_key_auth: true},
|
|
72
|
+
options: params[:request_options]
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# @api private
|
|
77
|
+
#
|
|
78
|
+
# @param client [OpenAI::Client]
|
|
79
|
+
def initialize(client:)
|
|
80
|
+
@client = client
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -29,6 +29,9 @@ module OpenAI
|
|
|
29
29
|
# @return [OpenAI::Resources::Admin::Organization::DataRetention]
|
|
30
30
|
attr_reader :data_retention
|
|
31
31
|
|
|
32
|
+
# @return [OpenAI::Resources::Admin::Organization::SpendLimit]
|
|
33
|
+
attr_reader :spend_limit
|
|
34
|
+
|
|
32
35
|
# @return [OpenAI::Resources::Admin::Organization::SpendAlerts]
|
|
33
36
|
attr_reader :spend_alerts
|
|
34
37
|
|
|
@@ -51,6 +54,7 @@ module OpenAI
|
|
|
51
54
|
@groups = OpenAI::Resources::Admin::Organization::Groups.new(client: client)
|
|
52
55
|
@roles = OpenAI::Resources::Admin::Organization::Roles.new(client: client)
|
|
53
56
|
@data_retention = OpenAI::Resources::Admin::Organization::DataRetention.new(client: client)
|
|
57
|
+
@spend_limit = OpenAI::Resources::Admin::Organization::SpendLimit.new(client: client)
|
|
54
58
|
@spend_alerts = OpenAI::Resources::Admin::Organization::SpendAlerts.new(client: client)
|
|
55
59
|
@certificates = OpenAI::Resources::Admin::Organization::Certificates.new(client: client)
|
|
56
60
|
@projects = OpenAI::Resources::Admin::Organization::Projects.new(client: client)
|
|
@@ -59,7 +59,7 @@ module OpenAI
|
|
|
59
59
|
#
|
|
60
60
|
# @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Body param: Reference to a prompt template and its variables.
|
|
61
61
|
#
|
|
62
|
-
# @param prompt_cache_key [String] Body param: Used by OpenAI to cache responses for similar requests to optimize y
|
|
62
|
+
# @param prompt_cache_key [String, nil] Body param: Used by OpenAI to cache responses for similar requests to optimize y
|
|
63
63
|
#
|
|
64
64
|
# @param prompt_cache_options [OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions] Body param: Options for prompt caching. Supported for `gpt-5.6` and later models
|
|
65
65
|
#
|
|
@@ -67,7 +67,7 @@ module OpenAI
|
|
|
67
67
|
#
|
|
68
68
|
# @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] Body param: **gpt-5 and o-series models only**
|
|
69
69
|
#
|
|
70
|
-
# @param safety_identifier [String] Body param: A stable identifier used to help detect users of your application th
|
|
70
|
+
# @param safety_identifier [String, nil] Body param: A stable identifier used to help detect users of your application th
|
|
71
71
|
#
|
|
72
72
|
# @param service_tier [Symbol, OpenAI::Models::Beta::ResponseCreateParams::ServiceTier, nil] Body param: Specifies the processing type used for serving the request.
|
|
73
73
|
#
|
|
@@ -165,7 +165,7 @@ module OpenAI
|
|
|
165
165
|
#
|
|
166
166
|
# @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Body param: Reference to a prompt template and its variables.
|
|
167
167
|
#
|
|
168
|
-
# @param prompt_cache_key [String] Body param: Used by OpenAI to cache responses for similar requests to optimize y
|
|
168
|
+
# @param prompt_cache_key [String, nil] Body param: Used by OpenAI to cache responses for similar requests to optimize y
|
|
169
169
|
#
|
|
170
170
|
# @param prompt_cache_options [OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions] Body param: Options for prompt caching. Supported for `gpt-5.6` and later models
|
|
171
171
|
#
|
|
@@ -173,7 +173,7 @@ module OpenAI
|
|
|
173
173
|
#
|
|
174
174
|
# @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] Body param: **gpt-5 and o-series models only**
|
|
175
175
|
#
|
|
176
|
-
# @param safety_identifier [String] Body param: A stable identifier used to help detect users of your application th
|
|
176
|
+
# @param safety_identifier [String, nil] Body param: A stable identifier used to help detect users of your application th
|
|
177
177
|
#
|
|
178
178
|
# @param service_tier [Symbol, OpenAI::Models::Beta::ResponseCreateParams::ServiceTier, nil] Body param: Specifies the processing type used for serving the request.
|
|
179
179
|
#
|
|
@@ -73,7 +73,7 @@ module OpenAI
|
|
|
73
73
|
#
|
|
74
74
|
# @param presence_penalty [Float, nil] Number between -2.0 and 2.0. Positive values penalize new tokens based on
|
|
75
75
|
#
|
|
76
|
-
# @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
76
|
+
# @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
77
77
|
#
|
|
78
78
|
# @param prompt_cache_options [OpenAI::Models::Chat::CompletionCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
|
|
79
79
|
#
|
|
@@ -83,7 +83,7 @@ module OpenAI
|
|
|
83
83
|
#
|
|
84
84
|
# @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
|
|
85
85
|
#
|
|
86
|
-
# @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
|
|
86
|
+
# @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
|
|
87
87
|
#
|
|
88
88
|
# @param seed [Integer, nil] This feature is in Beta.
|
|
89
89
|
#
|
|
@@ -329,7 +329,7 @@ module OpenAI
|
|
|
329
329
|
#
|
|
330
330
|
# @param presence_penalty [Float, nil] Number between -2.0 and 2.0. Positive values penalize new tokens based on
|
|
331
331
|
#
|
|
332
|
-
# @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
332
|
+
# @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
333
333
|
#
|
|
334
334
|
# @param prompt_cache_options [OpenAI::Models::Chat::CompletionCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
|
|
335
335
|
#
|
|
@@ -339,7 +339,7 @@ module OpenAI
|
|
|
339
339
|
#
|
|
340
340
|
# @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
|
|
341
341
|
#
|
|
342
|
-
# @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
|
|
342
|
+
# @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
|
|
343
343
|
#
|
|
344
344
|
# @param seed [Integer, nil] This feature is in Beta.
|
|
345
345
|
#
|
|
@@ -56,7 +56,7 @@ module OpenAI
|
|
|
56
56
|
#
|
|
57
57
|
# @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
|
|
58
58
|
#
|
|
59
|
-
# @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
59
|
+
# @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
60
60
|
#
|
|
61
61
|
# @param prompt_cache_options [OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
|
|
62
62
|
#
|
|
@@ -64,7 +64,7 @@ module OpenAI
|
|
|
64
64
|
#
|
|
65
65
|
# @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
|
|
66
66
|
#
|
|
67
|
-
# @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
|
|
67
|
+
# @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
|
|
68
68
|
#
|
|
69
69
|
# @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
|
|
70
70
|
#
|
|
@@ -287,7 +287,7 @@ module OpenAI
|
|
|
287
287
|
#
|
|
288
288
|
# @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
|
|
289
289
|
#
|
|
290
|
-
# @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
290
|
+
# @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
|
|
291
291
|
#
|
|
292
292
|
# @param prompt_cache_options [OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
|
|
293
293
|
#
|
|
@@ -295,7 +295,7 @@ module OpenAI
|
|
|
295
295
|
#
|
|
296
296
|
# @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
|
|
297
297
|
#
|
|
298
|
-
# @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
|
|
298
|
+
# @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
|
|
299
299
|
#
|
|
300
300
|
# @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
|
|
301
301
|
#
|
data/lib/openai/version.rb
CHANGED
data/lib/openai.rb
CHANGED
|
@@ -53,6 +53,9 @@ require_relative "openai/internal"
|
|
|
53
53
|
require_relative "openai/request_options"
|
|
54
54
|
require_relative "openai/file_part"
|
|
55
55
|
require_relative "openai/errors"
|
|
56
|
+
require_relative "openai/provider"
|
|
57
|
+
require_relative "openai/internal/provider"
|
|
58
|
+
require_relative "openai/providers/bedrock"
|
|
56
59
|
require_relative "openai/internal/transport/base_client"
|
|
57
60
|
require_relative "openai/internal/transport/pooled_net_requester"
|
|
58
61
|
require_relative "openai/client"
|
|
@@ -144,6 +147,8 @@ require_relative "openai/models/admin/organization/invite_retrieve_params"
|
|
|
144
147
|
require_relative "openai/models/admin/organization/organization_data_retention"
|
|
145
148
|
require_relative "openai/models/admin/organization/organization_spend_alert"
|
|
146
149
|
require_relative "openai/models/admin/organization/organization_spend_alert_deleted"
|
|
150
|
+
require_relative "openai/models/admin/organization/organization_spend_limit"
|
|
151
|
+
require_relative "openai/models/admin/organization/organization_spend_limit_deleted"
|
|
147
152
|
require_relative "openai/models/admin/organization/organization_user"
|
|
148
153
|
require_relative "openai/models/admin/organization/project"
|
|
149
154
|
require_relative "openai/models/admin/organization/project_archive_params"
|
|
@@ -190,6 +195,8 @@ require_relative "openai/models/admin/organization/projects/project_rate_limit"
|
|
|
190
195
|
require_relative "openai/models/admin/organization/projects/project_service_account"
|
|
191
196
|
require_relative "openai/models/admin/organization/projects/project_spend_alert"
|
|
192
197
|
require_relative "openai/models/admin/organization/projects/project_spend_alert_deleted"
|
|
198
|
+
require_relative "openai/models/admin/organization/projects/project_spend_limit"
|
|
199
|
+
require_relative "openai/models/admin/organization/projects/project_spend_limit_deleted"
|
|
193
200
|
require_relative "openai/models/admin/organization/projects/project_user"
|
|
194
201
|
require_relative "openai/models/admin/organization/projects/rate_limit_list_rate_limits_params"
|
|
195
202
|
require_relative "openai/models/admin/organization/projects/rate_limit_update_rate_limit_params"
|
|
@@ -205,12 +212,17 @@ require_relative "openai/models/admin/organization/projects/service_account_dele
|
|
|
205
212
|
require_relative "openai/models/admin/organization/projects/service_account_delete_response"
|
|
206
213
|
require_relative "openai/models/admin/organization/projects/service_account_list_params"
|
|
207
214
|
require_relative "openai/models/admin/organization/projects/service_account_retrieve_params"
|
|
215
|
+
require_relative "openai/models/admin/organization/projects/service_accounts/api_key_create_params"
|
|
216
|
+
require_relative "openai/models/admin/organization/projects/service_accounts/api_key_create_response"
|
|
208
217
|
require_relative "openai/models/admin/organization/projects/service_account_update_params"
|
|
209
218
|
require_relative "openai/models/admin/organization/projects/spend_alert_create_params"
|
|
210
219
|
require_relative "openai/models/admin/organization/projects/spend_alert_delete_params"
|
|
211
220
|
require_relative "openai/models/admin/organization/projects/spend_alert_list_params"
|
|
212
221
|
require_relative "openai/models/admin/organization/projects/spend_alert_retrieve_params"
|
|
213
222
|
require_relative "openai/models/admin/organization/projects/spend_alert_update_params"
|
|
223
|
+
require_relative "openai/models/admin/organization/projects/spend_limit_delete_params"
|
|
224
|
+
require_relative "openai/models/admin/organization/projects/spend_limit_retrieve_params"
|
|
225
|
+
require_relative "openai/models/admin/organization/projects/spend_limit_update_params"
|
|
214
226
|
require_relative "openai/models/admin/organization/projects/user_create_params"
|
|
215
227
|
require_relative "openai/models/admin/organization/projects/user_delete_params"
|
|
216
228
|
require_relative "openai/models/admin/organization/projects/user_delete_response"
|
|
@@ -238,6 +250,9 @@ require_relative "openai/models/admin/organization/spend_alert_delete_params"
|
|
|
238
250
|
require_relative "openai/models/admin/organization/spend_alert_list_params"
|
|
239
251
|
require_relative "openai/models/admin/organization/spend_alert_retrieve_params"
|
|
240
252
|
require_relative "openai/models/admin/organization/spend_alert_update_params"
|
|
253
|
+
require_relative "openai/models/admin/organization/spend_limit_delete_params"
|
|
254
|
+
require_relative "openai/models/admin/organization/spend_limit_retrieve_params"
|
|
255
|
+
require_relative "openai/models/admin/organization/spend_limit_update_params"
|
|
241
256
|
require_relative "openai/models/admin/organization/usage_audio_speeches_params"
|
|
242
257
|
require_relative "openai/models/admin/organization/usage_audio_speeches_response"
|
|
243
258
|
require_relative "openai/models/admin/organization/usage_audio_transcriptions_params"
|
|
@@ -1162,11 +1177,14 @@ require_relative "openai/resources/admin/organization/projects/model_permissions
|
|
|
1162
1177
|
require_relative "openai/resources/admin/organization/projects/rate_limits"
|
|
1163
1178
|
require_relative "openai/resources/admin/organization/projects/roles"
|
|
1164
1179
|
require_relative "openai/resources/admin/organization/projects/service_accounts"
|
|
1180
|
+
require_relative "openai/resources/admin/organization/projects/service_accounts/api_keys"
|
|
1165
1181
|
require_relative "openai/resources/admin/organization/projects/spend_alerts"
|
|
1182
|
+
require_relative "openai/resources/admin/organization/projects/spend_limit"
|
|
1166
1183
|
require_relative "openai/resources/admin/organization/projects/users"
|
|
1167
1184
|
require_relative "openai/resources/admin/organization/projects/users/roles"
|
|
1168
1185
|
require_relative "openai/resources/admin/organization/roles"
|
|
1169
1186
|
require_relative "openai/resources/admin/organization/spend_alerts"
|
|
1187
|
+
require_relative "openai/resources/admin/organization/spend_limit"
|
|
1170
1188
|
require_relative "openai/resources/admin/organization/usage"
|
|
1171
1189
|
require_relative "openai/resources/admin/organization/users"
|
|
1172
1190
|
require_relative "openai/resources/admin/organization/users/roles"
|
data/rbi/openai/client.rbi
CHANGED
|
@@ -132,14 +132,29 @@ module OpenAI
|
|
|
132
132
|
private def admin_api_key_auth
|
|
133
133
|
end
|
|
134
134
|
|
|
135
|
+
# @api private
|
|
136
|
+
sig do
|
|
137
|
+
override
|
|
138
|
+
.params(
|
|
139
|
+
request: OpenAI::Internal::Transport::BaseClient::RequestInput,
|
|
140
|
+
redirect_count: Integer,
|
|
141
|
+
retry_count: Integer
|
|
142
|
+
)
|
|
143
|
+
.returns(OpenAI::Internal::Transport::BaseClient::RequestInput)
|
|
144
|
+
end
|
|
145
|
+
private def prepare_request(request, redirect_count:, retry_count:)
|
|
146
|
+
end
|
|
147
|
+
|
|
135
148
|
# Creates and returns a new client for interacting with the API.
|
|
136
149
|
sig do
|
|
137
150
|
params(
|
|
138
151
|
api_key: T.nilable(String),
|
|
139
152
|
admin_api_key: T.nilable(String),
|
|
153
|
+
workload_identity: T.nilable(OpenAI::Auth::WorkloadIdentity),
|
|
140
154
|
organization: T.nilable(String),
|
|
141
155
|
project: T.nilable(String),
|
|
142
156
|
webhook_secret: T.nilable(String),
|
|
157
|
+
provider: T.nilable(OpenAI::Provider),
|
|
143
158
|
base_url: T.nilable(String),
|
|
144
159
|
max_retries: Integer,
|
|
145
160
|
timeout: Float,
|
|
@@ -152,12 +167,14 @@ module OpenAI
|
|
|
152
167
|
api_key: ENV["OPENAI_API_KEY"],
|
|
153
168
|
# Defaults to `ENV["OPENAI_ADMIN_KEY"]`
|
|
154
169
|
admin_api_key: ENV["OPENAI_ADMIN_KEY"],
|
|
170
|
+
workload_identity: nil,
|
|
155
171
|
# Defaults to `ENV["OPENAI_ORG_ID"]`
|
|
156
172
|
organization: ENV["OPENAI_ORG_ID"],
|
|
157
173
|
# Defaults to `ENV["OPENAI_PROJECT_ID"]`
|
|
158
174
|
project: ENV["OPENAI_PROJECT_ID"],
|
|
159
175
|
# Defaults to `ENV["OPENAI_WEBHOOK_SECRET"]`
|
|
160
176
|
webhook_secret: ENV["OPENAI_WEBHOOK_SECRET"],
|
|
177
|
+
provider: nil,
|
|
161
178
|
# Override the default base URL for the API, e.g.,
|
|
162
179
|
# `"https://api.example.com/v2/"`. Defaults to `ENV["OPENAI_BASE_URL"]`
|
|
163
180
|
base_url: ENV["OPENAI_BASE_URL"],
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Internal
|
|
5
|
+
module Provider
|
|
6
|
+
class Runtime
|
|
7
|
+
sig { returns(String) }
|
|
8
|
+
attr_accessor :name
|
|
9
|
+
|
|
10
|
+
sig { returns(String) }
|
|
11
|
+
attr_accessor :base_url
|
|
12
|
+
|
|
13
|
+
sig do
|
|
14
|
+
returns(
|
|
15
|
+
T.nilable(
|
|
16
|
+
T
|
|
17
|
+
.proc
|
|
18
|
+
.params(
|
|
19
|
+
request: OpenAI::Internal::Transport::BaseClient::RequestInput
|
|
20
|
+
)
|
|
21
|
+
.returns(OpenAI::Internal::Transport::BaseClient::RequestInput)
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
attr_accessor :prepare_request
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class << self
|
|
29
|
+
sig do
|
|
30
|
+
params(definition: T.untyped).returns(OpenAI::Provider)
|
|
31
|
+
end
|
|
32
|
+
def create(definition)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
params(provider: OpenAI::Provider).returns(String)
|
|
37
|
+
end
|
|
38
|
+
def name(provider)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
params(provider: OpenAI::Provider).returns(
|
|
43
|
+
OpenAI::Internal::Provider::Runtime
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def configure(provider)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -188,6 +188,19 @@ module OpenAI
|
|
|
188
188
|
private def auth_headers
|
|
189
189
|
end
|
|
190
190
|
|
|
191
|
+
# @api private
|
|
192
|
+
sig do
|
|
193
|
+
overridable
|
|
194
|
+
.params(
|
|
195
|
+
request: OpenAI::Internal::Transport::BaseClient::RequestInput,
|
|
196
|
+
redirect_count: Integer,
|
|
197
|
+
retry_count: Integer
|
|
198
|
+
)
|
|
199
|
+
.returns(OpenAI::Internal::Transport::BaseClient::RequestInput)
|
|
200
|
+
end
|
|
201
|
+
private def prepare_request(request, redirect_count:, retry_count:)
|
|
202
|
+
end
|
|
203
|
+
|
|
191
204
|
# @api private
|
|
192
205
|
sig { returns(String) }
|
|
193
206
|
private def user_agent
|
|
@@ -220,6 +233,25 @@ module OpenAI
|
|
|
220
233
|
private def retry_delay(headers, retry_count:)
|
|
221
234
|
end
|
|
222
235
|
|
|
236
|
+
# @api private
|
|
237
|
+
sig do
|
|
238
|
+
params(
|
|
239
|
+
url: URI::Generic,
|
|
240
|
+
status: Integer,
|
|
241
|
+
headers: T::Hash[String, String],
|
|
242
|
+
response: Net::HTTPResponse,
|
|
243
|
+
stream: T::Enumerable[String]
|
|
244
|
+
).returns(T.noreturn)
|
|
245
|
+
end
|
|
246
|
+
private def raise_status_error!(
|
|
247
|
+
url:,
|
|
248
|
+
status:,
|
|
249
|
+
headers:,
|
|
250
|
+
response:,
|
|
251
|
+
stream:
|
|
252
|
+
)
|
|
253
|
+
end
|
|
254
|
+
|
|
223
255
|
# @api private
|
|
224
256
|
sig do
|
|
225
257
|
params(
|