simple-openai-client 1.0.3 → 1.0.5

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: 8f74224909a064fa0ba25d56108c5bc5b25dfd0401c4e3c7079d1c3dbe083666
4
- data.tar.gz: 7e6beb0d851934c9565591520037c17d8708f678389dcdfaaf71a1b7dd911183
3
+ metadata.gz: 89976a4d61c06b3abb6f14fd7d67a69fd72ffeb236d588c236af5a6a335e01a4
4
+ data.tar.gz: 0eb2a967251c702cab294b9ffa221bd4dce2314b4241ec780b37eff9a1096d30
5
5
  SHA512:
6
- metadata.gz: 85019b0bf9eec3256e428101157aaec486783b48c50159de6b07d0e661c83205facfc3c72652bf9abebc129d4f48b6b59200480ec755a186c4780eefc4b814e0
7
- data.tar.gz: 4c7dd3ac4c6307af55fc78029004e0997f95a97756f3a43b3426b5f6d241090d5c2cac9d4b17ab4d6bc836fe1b35967ad55f9c949344bf796b3bb88d2ac984c1
6
+ metadata.gz: 25a5c07a411f8cfba69407516d4c7944fa0d325ed7445463aed26c7a39770aab1c4eea970d494db36d6f821c3a0ffd3a6b64f5efc0f9903f5cc82bcc8208f3ff
7
+ data.tar.gz: 6bbb06f477bce4be636074c32e958c0bee87b2b988d24f7ffed5240ca20f9b5badeada0fbf812e0916895850eab4dfa9adefa7eee0990b732385595b9f09305d
@@ -5,6 +5,7 @@
5
5
  require 'net/http'
6
6
  require 'uri'
7
7
  require 'json'
8
+ require 'colorize'
8
9
 
9
10
  class OpenAIClient
10
11
  attr_accessor :api_key, :model, :messages, :functions, :callbacks, :version
@@ -52,7 +53,7 @@ class OpenAIClient
52
53
 
53
54
  # Ask something to GPT.
54
55
  # Return the response.
55
- def ask(s, context: [])
56
+ def ask(s, context: [], function_to_call: nil)
56
57
  # Use v1 chat completions endpoint (with functions support)
57
58
  uri = URI("https://api.openai.com/v1/chat/completions")
58
59
 
@@ -69,7 +70,11 @@ class OpenAIClient
69
70
  # If you want the model to call a function explicitly, you can add: "function_call" => "auto"
70
71
  }
71
72
 
72
- request_body["functions"] = self.functions if self.functions.size > 0
73
+ if self.functions.size > 0
74
+ request_body["functions"] = self.functions
75
+ # Important: enable function-calling
76
+ request_body["function_call"] = {"name" => function_to_call} if function_to_call
77
+ end
73
78
 
74
79
  http = Net::HTTP.new(uri.host, uri.port)
75
80
  http.use_ssl = true
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'simple-openai-client'
3
- s.version = '1.0.3'
4
- s.date = '2025-01-05'
3
+ s.version = '1.0.5'
4
+ s.date = '2025-01-18'
5
5
  s.summary = "Very simple Ruby library for operating OpenAI API for building Agents."
6
6
  s.description = "Very simple Ruby library for operating OpenAI API for building Agents."
7
7
  s.authors = ["Leandro Daniel Sardi"]
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-openai-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Daniel Sardi
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-05 00:00:00.000000000 Z
10
+ date: 2025-01-18 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: uri
@@ -142,7 +141,6 @@ homepage: https://github.com/leandrosardi/simple-openai-client
142
141
  licenses:
143
142
  - MIT
144
143
  metadata: {}
145
- post_install_message:
146
144
  rdoc_options: []
147
145
  require_paths:
148
146
  - lib
@@ -157,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
155
  - !ruby/object:Gem::Version
158
156
  version: '0'
159
157
  requirements: []
160
- rubygems_version: 3.3.7
161
- signing_key:
158
+ rubygems_version: 3.6.3
162
159
  specification_version: 4
163
160
  summary: Very simple Ruby library for operating OpenAI API for building Agents.
164
161
  test_files: []