openai_chatgpt 0.1.1 → 0.2.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: e28eb9053bc4d6de69fb263fec32f4192e64b0884db832e99aa4eb5933b80276
4
- data.tar.gz: b289590ccb8f50edd42863eca80c82176f4af41f73b4b5aa8891b55b02d733c3
3
+ metadata.gz: b7ce4354bd99b71abfc50f90540d510f6abc76f7f96718a4a8bd8296dc4a2a85
4
+ data.tar.gz: 78b4850e744e9dbb5d040dfab71478eb6b6a85d3a3042dc1104499bedfac4ee0
5
5
  SHA512:
6
- metadata.gz: 904b4a01865ff5cea4e965567be2962673425d9bcabb50b8eb2479e6fdb73f8402f2d0ad4907f0846009a268c43fb8d8f9804accaf69be319780d8384c845809
7
- data.tar.gz: 4e325580d33d22b8753ba1957376edd6248797f33f987130efaa6831caf8b5693f7e7b8071a4948b66935090d2dc1da9e991170c2c9a3125e05e8cf891b269d4
6
+ metadata.gz: 26b81265222e757ee2f519f88b34273bff642c0f6d3d6e71102d3d5f7b277f6c28b3ee2fe14951802b745e7d665fcf1ac3b043c1ca9da83c23418b633b40155a
7
+ data.tar.gz: 6ad3270dc2556fcaf8964c92be0cce8bc3a46fc122689c0d0c856baab55ab5b9ac1e490e3e4403652484d681dafe1ca5fd1b7f25f7581cfa3e496ac7eb49efe6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## [0.2.0] - 2022-04-07
2
+
3
+ - added chatgpt 4 models "gpt-4", "gpt-4-0314", "gpt-4-32k", "gpt-4-32k-0314" by [@sulmanweb](https://github.com/sulmanweb)
4
+ - added `gpt-4` as default model by [@sulmanweb](https://github.com/sulmanweb)
5
+ - added `timeout_request` option in initializer by [@mennovergeer](https://github.com/mennovergeer)
6
+
7
+ ## [0.1.2] - 2022-04-07
8
+
9
+ - increased `timeout` option to faraday connection by [@mennovergeer](https://github.com/mennovergeer)
10
+
1
11
  ## [0.1.1] - 2022-03-24
2
12
 
3
13
  - added `timeout` option to faraday connection by [@mennovergeer](https://github.com/mennovergeer)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openai_chatgpt (0.1.1)
4
+ openai_chatgpt (0.2.0)
5
5
  faraday (~> 2.5)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. It gives nice struct objects for completions of the chatgpt, even the raw responses are returned in nice open struct objects. It uses Faraday for HTTP requests.
4
4
 
5
+ > It supports all models of gpt-4 and gpt-3.5
6
+
5
7
  ## Installation
6
8
 
7
9
  Install the gem and add to the application's Gemfile by executing:
@@ -51,8 +53,8 @@ resp = OpenaiChatgpt::Client.new(api_key: "fake").completions(
51
53
  Params:
52
54
  - messages: Array[String] - Required - Messages to generate response for
53
55
  `[{role: "user", text: "Hello"}, {role: "bot", text: "Hi"}]`
54
- - model: String - Optional - Default: "gpt-3.5-turbo" - Model to use for generating response
55
- ["gpt-3.5-turbo", "gpt-3.5-turbo-0301"]
56
+ - model: String - Optional - Default: "gpt-4" - Model to use for generating response
57
+ ["gpt-4", "gpt-4-0314", "gpt-4-32k", "gpt-4-32k-0314", "gpt-3.5-turbo", "gpt-3.5-turbo-0301"]
56
58
  - temperature: Float - Optional - Default: 1.0 - Temperature for response generation between 0.0 and 2.0
57
59
  - top_p: Float - Optional - Default: 1.0 - Top p for response generation between 0.0 and 1.0
58
60
  - n: Integer - Optional - Default: 1 - Number of responses to generate
@@ -11,13 +11,15 @@ module OpenaiChatgpt
11
11
  # api_key: String - Required - API key for OpenAI ChatGPT API (https://platform.openai.com/account/api-keys)
12
12
  # adapter: Symbol - Optional - Default: :net_http - Adapter for Faraday connection
13
13
  # stubs: Faraday::Adapter::Test::Stubs - Optional - Default: nil - Stubs for Faraday connection
14
+ # request_timeout: Integer - Optional - Default: 1200 - Timeout for Faraday connection
14
15
  # #### Example:
15
16
  # client = OpenaiChatgpt::Client.new api_key: "test"
16
17
  # #### Description:
17
18
  # Client for OpenAI ChatGPT API
18
- def initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil)
19
+ def initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil, request_timeout: 1200)
19
20
  @api_key = api_key
20
21
  @adapter = adapter
22
+ @request_timeout = request_timeout
21
23
 
22
24
  # Test stubs for requests
23
25
  @stubs = stubs
@@ -26,8 +28,8 @@ module OpenaiChatgpt
26
28
  # #### Params:
27
29
  # messages: Array[String] - Required - Messages to generate response for
28
30
  # [{role: "user", text: "Hello"}, {role: "bot", text: "Hi"}]
29
- # model: String - Optional - Default: "gpt-3.5-turbo" - Model to use for generating response
30
- # ["gpt-3.5-turbo", "gpt-3.5-turbo-0301"]
31
+ # model: String - Optional - Default: "gpt-4" - Model to use for generating response
32
+ # ["gpt-4", "gpt-4-0314", "gpt-4-32k", "gpt-4-32k-0314", "gpt-3.5-turbo", "gpt-3.5-turbo-0301"]
31
33
  # temperature: Float - Optional - Default: 1.0 - Temperature for response generation between 0.0 and 2.0
32
34
  # top_p: Float - Optional - Default: 1.0 - Top p for response generation between 0.0 and 1.0
33
35
  # n: Integer - Optional - Default: 1 - Number of responses to generate
@@ -51,7 +53,7 @@ module OpenaiChatgpt
51
53
  # OpenaiChatgpt::Error
52
54
  def completions( # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
53
55
  messages:,
54
- model: "gpt-3.5-turbo",
56
+ model: "gpt-4",
55
57
  temperature: 1.0,
56
58
  top_p: 1.0,
57
59
  n: 1, # rubocop:disable Naming/MethodParameterName
@@ -100,7 +102,7 @@ module OpenaiChatgpt
100
102
  @connection ||= Faraday.new(BASE_URL) do |conn|
101
103
  conn.headers["Authorization"] = "Bearer #{@api_key}"
102
104
  conn.headers["Content-Type"] = "application/json"
103
- conn.options.timeout = 120 # Increase the timeout limit to 120 seconds
105
+ conn.options.timeout = @request_timeout
104
106
  conn.response :json, content_type: "application/json"
105
107
  conn.adapter adapter, @stubs
106
108
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenaiChatgpt
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai_chatgpt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sulman Baig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-24 00:00:00.000000000 Z
11
+ date: 2023-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -38,8 +38,9 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.35'
41
- description: OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. gpt-3.5-turbo, gpt-3.5-turbo-0301.
42
- You can use this gem to generate text using OpenAI's ChatGPT chat responses API.
41
+ description: OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. [`gpt-4`,
42
+ `gpt-4-0314`, `gpt-4-32k`, `gpt-4-32k-0314`, `gpt-3.5-turbo`, `gpt-3.5-turbo-0301`].
43
+ You can use this gem to generate text using OpenAI's ChatGPT chat responses API.
43
44
  email:
44
45
  - sulman@hey.com
45
46
  executables: []
@@ -62,7 +63,6 @@ files:
62
63
  - lib/openai_chatgpt/response.rb
63
64
  - lib/openai_chatgpt/usage.rb
64
65
  - lib/openai_chatgpt/version.rb
65
- - openai_chatgpt.gemspec
66
66
  - sig/openai_chatgpt.rbs
67
67
  homepage: https://github.com/sulmanweb/openai_chatgpt
68
68
  licenses:
@@ -90,6 +90,6 @@ requirements: []
90
90
  rubygems_version: 3.4.8
91
91
  signing_key:
92
92
  specification_version: 4
93
- summary: OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. gpt-3.5-turbo,
94
- gpt-3.5-turbo-0301
93
+ summary: OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. All
94
+ models of gpt-4 and gpt-3.5 supported.
95
95
  test_files: []
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/openai_chatgpt/version"
4
-
5
- # rubocop:disable Metrics/BlockLength
6
- Gem::Specification.new do |spec|
7
- spec.name = "openai_chatgpt"
8
- spec.version = OpenaiChatgpt::VERSION
9
- spec.authors = ["Sulman Baig"]
10
- spec.email = ["sulman@hey.com"]
11
-
12
- spec.summary = "OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. gpt-3.5-turbo, gpt-3.5-turbo-0301"
13
- spec.description = "OpenAI ChatGPT API is a light-weight Ruby wrapper for the Rubyists. gpt-3.5-turbo,\
14
- gpt-3.5-turbo-0301. You can use this gem to generate text using OpenAI's ChatGPT chat responses API."
15
- spec.homepage = "https://github.com/sulmanweb/openai_chatgpt"
16
- spec.license = "MIT"
17
- spec.required_ruby_version = ">= 2.6"
18
-
19
- # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
20
-
21
- spec.metadata["homepage_uri"] = spec.homepage
22
- spec.metadata["source_code_uri"] = "https://github.com/sulmanweb/openai_chatgpt"
23
- spec.metadata["changelog_uri"] = "https://github.com/sulmanweb/openai_chatgpt/blob/main/CHANGELOG.md"
24
-
25
- # Specify which files should be added to the gem when it is released.
26
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
27
- spec.files = Dir.chdir(__dir__) do
28
- `git ls-files -z`.split("\x0").reject do |f|
29
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
30
- end
31
- end
32
- spec.bindir = "exe"
33
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
34
- spec.require_paths = ["lib"]
35
- spec.extra_rdoc_files = %w[README.md]
36
-
37
- spec.add_dependency("faraday", "~> 2.5")
38
- spec.add_development_dependency("rubocop", "~> 1.35")
39
- spec.metadata["rubygems_mfa_required"] = "true"
40
- end
41
- # rubocop:enable Metrics/BlockLength