omniai-openai 1.7.0 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -7
- data/lib/omniai/openai/chat.rb +1 -1
- data/lib/omniai/openai/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c4800d2a0c330c63c41ce1fd81e0826be57d5e2c1476561ab10f24164340b16
|
4
|
+
data.tar.gz: 86f73a45fb4a7bd21b2610514375c9a05a89e133a9a9e9706200435f401e09be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0541865c105629a0ac61914e89dce488e776f0c4a26638cab5b0c921530a63eeb44cfa371773dea408aa6b0c052969437437bb02f6ba02f3e3104b4f2c709a3b'
|
7
|
+
data.tar.gz: 471c8f8321841b33e31246f73bf3773b4f384075d2b4277166fa629763bbeabc03e7ec34d9bcb2e2591085db71468e1ee3e0026744bba7def21e14c100bae236
|
data/README.md
CHANGED
@@ -62,19 +62,21 @@ _For details on installation or running Ollama checkout [the project README](htt
|
|
62
62
|
|
63
63
|
### Chat
|
64
64
|
|
65
|
-
A chat completion is generated by passing in
|
65
|
+
A chat completion is generated by passing in a simple text prompt:
|
66
66
|
|
67
67
|
```ruby
|
68
68
|
completion = client.chat('Tell me a joke!')
|
69
|
-
completion.
|
69
|
+
completion.content # 'Why did the chicken cross the road? To get to the other side.'
|
70
70
|
```
|
71
71
|
|
72
|
+
A chat completion may also be generated by using a prompt builder:
|
73
|
+
|
72
74
|
```ruby
|
73
75
|
completion = client.chat do |prompt|
|
74
76
|
prompt.system('Your are an expert in geography.')
|
75
77
|
prompt.user('What is the capital of Canada?')
|
76
78
|
end
|
77
|
-
completion.
|
79
|
+
completion.content # 'The capital of Canada is Ottawa.'
|
78
80
|
```
|
79
81
|
|
80
82
|
#### Model
|
@@ -83,7 +85,7 @@ completion.choice.message.content # 'The capital of Canada is Ottawa.'
|
|
83
85
|
|
84
86
|
```ruby
|
85
87
|
completion = client.chat('How fast is a cheetah?', model: OmniAI::OpenAI::Chat::Model::GPT_3_5_TURBO)
|
86
|
-
completion.
|
88
|
+
completion.content # 'A cheetah can reach speeds over 100 km/h.'
|
87
89
|
```
|
88
90
|
|
89
91
|
[OpenAI API Reference `model`](https://platform.openai.com/docs/api-reference/chat/create#chat-create-model)
|
@@ -94,7 +96,7 @@ completion.choice.message.content # 'A cheetah can reach speeds over 100 km/h.'
|
|
94
96
|
|
95
97
|
```ruby
|
96
98
|
completion = client.chat('Pick a number between 1 and 5', temperature: 2.0)
|
97
|
-
completion.
|
99
|
+
completion.content # '3'
|
98
100
|
```
|
99
101
|
|
100
102
|
[OpenAI API Reference `temperature`](https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature)
|
@@ -105,7 +107,7 @@ completion.choice.message.content # '3'
|
|
105
107
|
|
106
108
|
```ruby
|
107
109
|
stream = proc do |chunk|
|
108
|
-
print(chunk.
|
110
|
+
print(chunk.content) # 'Better', 'three', 'hours', ...
|
109
111
|
end
|
110
112
|
client.chat('Be poetic.', stream:)
|
111
113
|
```
|
@@ -121,7 +123,7 @@ completion = client.chat(format: :json) do |prompt|
|
|
121
123
|
prompt.system(OmniAI::Chat::JSON_PROMPT)
|
122
124
|
prompt.user('What is the name of the drummer for the Beatles?')
|
123
125
|
end
|
124
|
-
JSON.parse(completion.
|
126
|
+
JSON.parse(completion.content) # { "name": "Ringo" }
|
125
127
|
```
|
126
128
|
|
127
129
|
[OpenAI API Reference `response_format`](https://platform.openai.com/docs/api-reference/chat/create#chat-create-stream)
|
data/lib/omniai/openai/chat.rb
CHANGED
@@ -34,7 +34,7 @@ module OmniAI
|
|
34
34
|
stream: @stream.nil? ? nil : !@stream.nil?,
|
35
35
|
temperature: @temperature,
|
36
36
|
response_format: (JSON_RESPONSE_FORMAT if @format.eql?(:json)),
|
37
|
-
tools: @tools
|
37
|
+
tools: (@tools.map(&:serialize) if @tools&.any?),
|
38
38
|
}).compact
|
39
39
|
end
|
40
40
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniai-openai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Sylvestre
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: event_stream_parser
|