ruby-openai 3.0.0 → 3.0.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50fc900251b1e7c0c1a9f1f18c779871cba3691c9e3cd32a022286f6ee5978f2
4
- data.tar.gz: '015428f6b586a0c504f839c6b38eb6842bd7c964805049ec8af706bf18fe8307'
3
+ metadata.gz: 2a823ba01c0dbec587f96e5d2d59b6eb67e48c348b00a7e78f415c6b65583d05
4
+ data.tar.gz: 98e7ae98831997f66bcbd73c644c78b0f5ed291b5b98c6ca01e5152596ca7b25
5
5
  SHA512:
6
- metadata.gz: ab310b17e7282ba6885b468373b10d27f33ef50effff6b61d07d5d677e2b4153346ca355c66803521dc55bed87c8799a1da1513dd04ff8e4d36a53ec382b9d77
7
- data.tar.gz: f29975d47364d66ca01ffebdf6adfeb2b660b808ec4cf704f35aaa775be73bfb0aff09673a3b0ee540dd8c35e70c2af24e909ba336c8cdbe22a2f9c6bd868781
6
+ metadata.gz: 15a75647453b2b526680b5e2d3b7bc3d5ef6b05f223bdef0194e751f829228d9db7d17d5c483db66bf7706983c4d996ff4c348b505e6d52b6cbb5ef523e68133
7
+ data.tar.gz: a7362b11bfeefa471e70369696d746d5c89c201ef374799a6163dbad814f405d7642861d588ef6360f088e21d41ba4b10e7f40467d2a4d515767ea66bf52b4d3
data/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.0.1] - 2022-12-26
9
+
10
+ ### Removed
11
+
12
+ - [BREAKING] Remove deprecated answers, classifications, embeddings, engines and search endpoints.
13
+ - [BREAKING] Remove ability to pass engine to completions and embeddings outside of the parameters hash.
14
+
8
15
  ## [3.0.0] - 2022-12-26
9
16
 
10
17
  ### Added
@@ -15,8 +22,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15
22
  ### Removed
16
23
 
17
24
  - [BREAKING] Remove ability to include access_token directly via ENV vars.
18
- - [BREAKING] Remove deprecated answers, classifications, embeddings, engines and search endpoints.
19
- - [BREAKING] Remove ability to pass engine to completions and embeddings outside of the parameters hash.
20
25
  - [BREAKING] Remove ability to pass API version directly to endpoints.
21
26
 
22
27
  ## [2.3.0] - 2022-12-23
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-openai (3.0.0)
4
+ ruby-openai (3.0.1)
5
5
  httparty (>= 0.18.1, < 0.21.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -188,7 +188,7 @@ You may need to wait a short time for processing to complete. Once processed, yo
188
188
  fine_tuned_model = JSON.parse(response.body)["fine_tuned_model"]
189
189
  ```
190
190
 
191
- This fine-tuned model name can then be used in classifications:
191
+ This fine-tuned model name can then be used in completions:
192
192
 
193
193
  ```ruby
194
194
  response = client.completions(
@@ -247,58 +247,6 @@ Pass a string to check if it violates OpenAI's Content Policy:
247
247
  => 5.505014632944949e-05
248
248
  ```
249
249
 
250
- ### Classifications
251
-
252
- Pass examples and a query to predict the most likely labels:
253
-
254
- ```ruby
255
- response = client.classifications(parameters: {
256
- examples: [
257
- ["A happy moment", "Positive"],
258
- ["I am sad.", "Negative"],
259
- ["I am feeling awesome", "Positive"]
260
- ],
261
- query: "It is a raining day :(",
262
- model: "text-ada-001"
263
- })
264
- ```
265
-
266
- Or use the ID of a file you've uploaded:
267
-
268
- ```ruby
269
- response = client.classifications(parameters: {
270
- file: "123abc,
271
- query: "It is a raining day :(",
272
- model: "text-ada-001"
273
- })
274
- ```
275
-
276
- ### Answers
277
-
278
- Pass documents, a question string, and an example question/response to get an answer to a question:
279
-
280
- ```ruby
281
- response = client.answers(parameters: {
282
- documents: ["Puppy A is happy.", "Puppy B is sad."],
283
- question: "which puppy is happy?",
284
- model: "text-curie-001",
285
- examples_context: "In 2017, U.S. life expectancy was 78.6 years.",
286
- examples: [["What is human life expectancy in the United States?","78 years."]],
287
- })
288
- ```
289
-
290
- Or use the ID of a file you've uploaded:
291
-
292
- ```ruby
293
- response = client.answers(parameters: {
294
- file: "123abc",
295
- question: "which puppy is happy?",
296
- model: "text-curie-001",
297
- examples_context: "In 2017, U.S. life expectancy was 78.6 years.",
298
- examples: [["What is human life expectancy in the United States?","78 years."]],
299
- })
300
- ```
301
-
302
250
  ## Development
303
251
 
304
252
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -7,25 +7,7 @@ module OpenAI
7
7
  Ruby::OpenAI.configuration.organization_id = organization_id if organization_id
8
8
  end
9
9
 
10
- def answers(parameters: {})
11
- warn "[DEPRECATION WARNING] [ruby-openai] `Client#answers` is deprecated and will
12
- be removed from the OpenAI API on 3 December 2022 and from ruby-openai v3.0.
13
- More information: https://help.openai.com/en/articles/6233728-answers-transition-guide"
14
-
15
- OpenAI::Client.post(path: "/answers", parameters: parameters)
16
- end
17
-
18
- def classifications(parameters: {})
19
- warn "[DEPRECATION WARNING] [ruby-openai] `Client#classifications` is deprecated and will
20
- be removed from the OpenAI API on 3 December 2022 and from ruby-openai v3.0.
21
- More information: https://help.openai.com/en/articles/6272941-classifications-transition-guide"
22
-
23
- OpenAI::Client.post(path: "/classifications", parameters: parameters)
24
- end
25
-
26
- def completions(engine: nil, parameters: {})
27
- parameters = deprecate_engine(engine: engine, method: "completions", parameters: parameters)
28
-
10
+ def completions(parameters: {})
29
11
  OpenAI::Client.post(path: "/completions", parameters: parameters)
30
12
  end
31
13
 
@@ -33,19 +15,10 @@ module OpenAI
33
15
  OpenAI::Client.post(path: "/edits", parameters: parameters)
34
16
  end
35
17
 
36
- def embeddings(engine: nil, parameters: {})
37
- parameters = deprecate_engine(engine: engine, method: "embeddings", parameters: parameters)
38
-
18
+ def embeddings(parameters: {})
39
19
  OpenAI::Client.post(path: "/embeddings", parameters: parameters)
40
20
  end
41
21
 
42
- def engines
43
- warn "[DEPRECATION WARNING] [ruby-openai] `Client#engines` is deprecated and will
44
- be removed from ruby-openai v3.0. Use `Client#models` instead."
45
-
46
- @engines ||= OpenAI::Engines.new
47
- end
48
-
49
22
  def files
50
23
  @files ||= OpenAI::Files.new
51
24
  end
@@ -66,14 +39,6 @@ module OpenAI
66
39
  OpenAI::Client.post(path: "/moderations", parameters: parameters)
67
40
  end
68
41
 
69
- def search(engine:, parameters: {})
70
- warn "[DEPRECATION WARNING] [ruby-openai] `Client#search` is deprecated and will
71
- be removed from the OpenAI API on 3 December 2022 and from ruby-openai v3.0.
72
- More information: https://help.openai.com/en/articles/6272952-search-transition-guide"
73
-
74
- OpenAI::Client.post(path: "/engines/#{engine}/search", parameters: parameters)
75
- end
76
-
77
42
  def self.get(path:)
78
43
  HTTParty.get(
79
44
  uri(path: path),
@@ -107,23 +72,5 @@ module OpenAI
107
72
  "OpenAI-Organization" => Ruby::OpenAI.configuration.organization_id
108
73
  }
109
74
  end
110
-
111
- private
112
-
113
- def deprecate_engine(engine:, method:, parameters:)
114
- return parameters unless engine
115
-
116
- parameters = { model: engine }.merge(parameters)
117
-
118
- warn "[DEPRECATION WARNING] [ruby-openai] Passing `engine` directly to `Client##{method}` is
119
- deprecated and will be removed in ruby-openai 3.0. Pass `model` within `parameters` instead:
120
- client.completions(parameters: { #{parameters.map { |k, v| "#{k}: \"#{v}\"" }.join(', ')} })"
121
-
122
- parameters
123
- end
124
-
125
- def documents_or_file(documents: nil, file: nil)
126
- documents ? { documents: documents } : { file: file }
127
- end
128
75
  end
129
76
  end
@@ -1,5 +1,5 @@
1
1
  module Ruby
2
2
  module OpenAI
3
- VERSION = "3.0.0".freeze
3
+ VERSION = "3.0.1".freeze
4
4
  end
5
5
  end
data/lib/ruby/openai.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require "httparty"
2
2
  require "ruby/openai/client"
3
- require "ruby/openai/engines"
4
3
  require "ruby/openai/files"
5
4
  require "ruby/openai/finetunes"
6
5
  require "ruby/openai/images"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex
@@ -57,7 +57,6 @@ files:
57
57
  - bin/setup
58
58
  - lib/ruby/openai.rb
59
59
  - lib/ruby/openai/client.rb
60
- - lib/ruby/openai/engines.rb
61
60
  - lib/ruby/openai/files.rb
62
61
  - lib/ruby/openai/finetunes.rb
63
62
  - lib/ruby/openai/images.rb
@@ -1,16 +0,0 @@
1
- module OpenAI
2
- class Engines
3
- def initialize(access_token: nil, organization_id: nil)
4
- Ruby::OpenAI.configuration.access_token = access_token if access_token
5
- Ruby::OpenAI.configuration.organization_id = organization_id if organization_id
6
- end
7
-
8
- def list
9
- OpenAI::Client.get(path: "/engines")
10
- end
11
-
12
- def retrieve(id:)
13
- OpenAI::Client.get(path: "/engines/#{id}")
14
- end
15
- end
16
- end