ruby-openai 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
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