ruby-openai 3.0.3 → 3.1.0

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: 3bd89bdf882febca95eb2a6ca2d0d28afda7fa0d73a369ee61cb56038376247c
4
- data.tar.gz: 5e9ee20773b1322dc940655ed3cbd040a667f27337f0a310bb6bbd9db8df2931
3
+ metadata.gz: 7fc83568b242ec1d301ebe76a0eeb5a22485f94cb287df47b92c1a46f47c193d
4
+ data.tar.gz: 2736973c009f727093c14960cb1468e00f3af357281ea8bba237d82da7d39ff4
5
5
  SHA512:
6
- metadata.gz: 40388adbfd46c7461f56d088dbc346206b1e44d27f32cfef766544dce0d76843723d10c4d050ed2564d8f940fc1daa0631084c412d10f75c7ee185f5cffbec43
7
- data.tar.gz: a94573f8cfd2cd0a488746a1971e72a678d0761732c586c7d2d9ee4c74f7496d2a214d9c09b90371dc9cd86da6ddf64d58d91ff3bbb9c7eba70bb8f462e78e5c
6
+ metadata.gz: 8056501328713524128f12120f3d005f4d980d1d73cedb2f0994ac59cb2e5c52fc43ddc12519640ac2834eaa61c774888c5e59e31b8035ba22cc7f09ddbffc6f
7
+ data.tar.gz: be7f713a587469f977615f16f03161252c9a729f79ff9e73e1b09c365fb52266d3c4c329630f226a6f56fe2cc2fe7f5346e00d9503470095cf1b9922ba084218
data/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ 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.1.0] - 2023-02-13
9
+
10
+ ### Added
11
+
12
+ - Add Finetunes#delete endpoint - thanks [@lancecarlson](https://github.com/lancecarlson) for flagging this.
13
+ - Add VCR header and body matching - thanks [@petergoldstein](https://github.com/petergoldstein)!
14
+
15
+ ### Fixed
16
+
17
+ - Update File#upload specs to remove deprecated `answers` purpose.
18
+
8
19
  ## [3.0.3] - 2023-01-07
9
20
 
10
21
  ### Added
data/Gemfile CHANGED
@@ -7,6 +7,6 @@ gem "byebug", "~> 11.1.3"
7
7
  gem "dotenv", "~> 2.8.1"
8
8
  gem "rake", "~> 13.0"
9
9
  gem "rspec", "~> 3.12"
10
- gem "rubocop", "~> 1.42.0"
10
+ gem "rubocop", "~> 1.45.1"
11
11
  gem "vcr", "~> 6.1.0"
12
12
  gem "webmock", "~> 3.18.1"
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-openai (3.0.3)
5
- httparty (>= 0.18.1, < 0.22.0)
4
+ ruby-openai (3.1.0)
5
+ httparty (>= 0.18.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -23,12 +23,12 @@ GEM
23
23
  mini_mime (1.1.2)
24
24
  multi_xml (0.6.0)
25
25
  parallel (1.22.1)
26
- parser (3.1.3.0)
26
+ parser (3.2.0.0)
27
27
  ast (~> 2.4.1)
28
28
  public_suffix (5.0.1)
29
29
  rainbow (3.1.1)
30
30
  rake (13.0.6)
31
- regexp_parser (2.6.1)
31
+ regexp_parser (2.7.0)
32
32
  rexml (3.2.5)
33
33
  rspec (3.12.0)
34
34
  rspec-core (~> 3.12.0)
@@ -36,27 +36,27 @@ GEM
36
36
  rspec-mocks (~> 3.12.0)
37
37
  rspec-core (3.12.0)
38
38
  rspec-support (~> 3.12.0)
39
- rspec-expectations (3.12.1)
39
+ rspec-expectations (3.12.2)
40
40
  diff-lcs (>= 1.2.0, < 2.0)
41
41
  rspec-support (~> 3.12.0)
42
- rspec-mocks (3.12.1)
42
+ rspec-mocks (3.12.3)
43
43
  diff-lcs (>= 1.2.0, < 2.0)
44
44
  rspec-support (~> 3.12.0)
45
45
  rspec-support (3.12.0)
46
- rubocop (1.42.0)
46
+ rubocop (1.45.1)
47
47
  json (~> 2.3)
48
48
  parallel (~> 1.10)
49
- parser (>= 3.1.2.1)
49
+ parser (>= 3.2.0.0)
50
50
  rainbow (>= 2.2.2, < 4.0)
51
51
  regexp_parser (>= 1.8, < 3.0)
52
52
  rexml (>= 3.2.5, < 4.0)
53
53
  rubocop-ast (>= 1.24.1, < 2.0)
54
54
  ruby-progressbar (~> 1.7)
55
- unicode-display_width (>= 1.4.0, < 3.0)
55
+ unicode-display_width (>= 2.4.0, < 3.0)
56
56
  rubocop-ast (1.24.1)
57
57
  parser (>= 3.1.1.0)
58
58
  ruby-progressbar (1.11.0)
59
- unicode-display_width (2.3.0)
59
+ unicode-display_width (2.4.2)
60
60
  vcr (6.1.0)
61
61
  webmock (3.18.1)
62
62
  addressable (>= 2.8.0)
@@ -71,10 +71,10 @@ DEPENDENCIES
71
71
  dotenv (~> 2.8.1)
72
72
  rake (~> 13.0)
73
73
  rspec (~> 3.12)
74
- rubocop (~> 1.42.0)
74
+ rubocop (~> 1.45.1)
75
75
  ruby-openai!
76
76
  vcr (~> 6.1.0)
77
77
  webmock (~> 3.18.1)
78
78
 
79
79
  BUNDLED WITH
80
- 2.2.20
80
+ 2.4.5
data/README.md CHANGED
@@ -134,14 +134,14 @@ You can use the embeddings endpoint to get a vector of numbers representing an i
134
134
  Put your data in a `.jsonl` file like this:
135
135
 
136
136
  ```json
137
- {"text": "puppy A is happy", "metadata": "emotional state of puppy A"}
138
- {"text": "puppy B is sad", "metadata": "emotional state of puppy B"}
137
+ {"prompt":"Overjoyed with my new phone! ->", "completion":" positive"}
138
+ {"prompt":"@lakers disappoint for a third straight night ->", "completion":" negative"}
139
139
  ```
140
140
 
141
141
  and pass the path to `client.files.upload` to upload it to OpenAI, and then interact with it:
142
142
 
143
143
  ```ruby
144
- client.files.upload(parameters: { file: "path/to/puppy.jsonl", purpose: "search" })
144
+ client.files.upload(parameters: { file: "path/to/sentiment.jsonl", purpose: "fine-tune" })
145
145
  client.files.list
146
146
  client.files.retrieve(id: 123)
147
147
  client.files.delete(id: 123)
@@ -149,14 +149,7 @@ and pass the path to `client.files.upload` to upload it to OpenAI, and then inte
149
149
 
150
150
  ### Fine-tunes
151
151
 
152
- Put your fine-tuning data in a `.jsonl` file like this:
153
-
154
- ```json
155
- {"prompt":"Overjoyed with my new phone! ->", "completion":" positive"}
156
- {"prompt":"@lakers disappoint for a third straight night ->", "completion":" negative"}
157
- ```
158
-
159
- and pass the path to `client.files.upload` to upload it to OpenAI and get its ID:
152
+ Upload your fine-tuning data in a `.jsonl` file as above and get its ID:
160
153
 
161
154
  ```ruby
162
155
  response = client.files.upload(parameters: { file: "path/to/sentiment.jsonl", purpose: "fine-tune" })
@@ -200,6 +193,12 @@ This fine-tuned model name can then be used in completions:
200
193
  JSON.parse(response.body)["choices"].map { |c| c["text"] }
201
194
  ```
202
195
 
196
+ You can delete the fine-tuned model when you are done with it:
197
+
198
+ ```ruby
199
+ client.finetunes.delete(fine_tuned_model: fine_tuned_model)
200
+ ```
201
+
203
202
  ### Image Generation
204
203
 
205
204
  Generate an image using DALL·E! The size of any generated images must be one of `256x256`, `512x512` or `1024x1024` -
@@ -24,5 +24,13 @@ module OpenAI
24
24
  def events(id:)
25
25
  OpenAI::Client.get(path: "/fine-tunes/#{id}/events")
26
26
  end
27
+
28
+ def delete(fine_tuned_model:)
29
+ if fine_tuned_model.start_with?("ft-")
30
+ raise ArgumentError, "Please give a fine_tuned_model name, not a fine-tune ID"
31
+ end
32
+
33
+ OpenAI::Client.delete(path: "/models/#{fine_tuned_model}")
34
+ end
27
35
  end
28
36
  end
@@ -1,5 +1,5 @@
1
1
  module Ruby
2
2
  module OpenAI
3
- VERSION = "3.0.3".freeze
3
+ VERSION = "3.1.0".freeze
4
4
  end
5
5
  end
data/ruby-openai.gemspec CHANGED
@@ -25,5 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_dependency "httparty", ">= 0.18.1", "< 0.22.0"
28
+ spec.add_dependency "httparty", ">= 0.18.1"
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-07 00:00:00.000000000 Z
11
+ date: 2023-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -17,9 +17,6 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.18.1
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 0.22.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,9 +24,6 @@ dependencies:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.18.1
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 0.22.0
33
27
  description:
34
28
  email:
35
29
  - alexrudall@users.noreply.github.com
@@ -86,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
80
  - !ruby/object:Gem::Version
87
81
  version: '0'
88
82
  requirements: []
89
- rubygems_version: 3.2.33
83
+ rubygems_version: 3.4.5
90
84
  signing_key:
91
85
  specification_version: 4
92
86
  summary: A Ruby gem for the OpenAI GPT-3 API