omniai-openai 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -10
- data/lib/omniai/openai/chat.rb +23 -0
- data/lib/omniai/openai/speak.rb +3 -0
- data/lib/omniai/openai/transcribe.rb +5 -0
- data/lib/omniai/openai/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d8e230669e337e7f48a0494bf3f7535f7d6d4a990ca2ed63c7929d76c0266a1
|
|
4
|
+
data.tar.gz: 5a5e9fe6083dab2b2f028d1ed56569bdc2a8cf4bc9b3d800da0809d6340aaf25
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 67d27b500204debfaa90b5da1eae2b4b6b398f4567c76ad361799930f958cedc3b720c2b60a03026651cfd7e036d8e5320623e6cdf0d91bfb12ca97a87f33668
|
|
7
|
+
data.tar.gz: 25990d1321f578a00ed518417d0f2d9c8725c4ba798b34f37bde7fea4ac96240eae146f0c3ba31a2d7fa5c37aef087ec3f5b5e3e5173e988014de0caa2fcb962
|
data/README.md
CHANGED
|
@@ -163,20 +163,17 @@ JSON.parse(completion.content) # { "name": "Ringo" }
|
|
|
163
163
|
|
|
164
164
|
#### Reasoning
|
|
165
165
|
|
|
166
|
-
OpenAI
|
|
166
|
+
OpenAI reasoning models (GPT-5 and later) can return a summary of the model's thought process.
|
|
167
167
|
|
|
168
168
|
```ruby
|
|
169
169
|
# Enable reasoning with unified thinking API
|
|
170
|
-
response = client.chat("What is 25 * 25?", model: "
|
|
170
|
+
response = client.chat("What is 25 * 25?", model: "gpt-5.6-sol", thinking: true)
|
|
171
171
|
|
|
172
172
|
# Or use OpenAI-specific reasoning options
|
|
173
|
-
response = client.chat("What is 25 * 25?", model: "
|
|
173
|
+
response = client.chat("What is 25 * 25?", model: "gpt-5.6-sol", reasoning: { effort: "high", summary: "auto" })
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
**Reasoning Effort Levels
|
|
177
|
-
- `low` - Minimal reasoning
|
|
178
|
-
- `medium` - Balanced reasoning
|
|
179
|
-
- `high` - Maximum reasoning effort
|
|
176
|
+
**Reasoning Effort Levels** (`OmniAI::OpenAI::Chat::ReasoningEffort`): `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`. Support varies by model: GPT-6 models don't accept `minimal`, and `gpt-6-astra` and `gpt-6.1-sol` also reject `none`. Check the [model pages](https://developers.openai.com/api/docs/models/all).
|
|
180
177
|
|
|
181
178
|
#### Accessing Reasoning Content
|
|
182
179
|
|
|
@@ -194,7 +191,7 @@ end
|
|
|
194
191
|
#### Streaming with Reasoning
|
|
195
192
|
|
|
196
193
|
```ruby
|
|
197
|
-
client.chat("What are the prime factors of 1234567?", model: "
|
|
194
|
+
client.chat("What are the prime factors of 1234567?", model: "gpt-5.6-sol", thinking: true, stream: $stdout)
|
|
198
195
|
```
|
|
199
196
|
|
|
200
197
|
[OpenAI API Reference `reasoning`](https://platform.openai.com/docs/guides/reasoning)
|
|
@@ -301,10 +298,10 @@ client.speak('She sells seashells by the seashore.', voice: OmniAI::OpenAI::Spea
|
|
|
301
298
|
|
|
302
299
|
#### Model
|
|
303
300
|
|
|
304
|
-
`model` is optional and is one of `tts
|
|
301
|
+
`model` is optional and is one of `gpt-4o-mini-tts` (default), `tts-1` or `tts-1-hd` (both shut down 2027-01-06):
|
|
305
302
|
|
|
306
303
|
```ruby
|
|
307
|
-
client.speak('I saw a kitten eating chicken in the kitchen.',
|
|
304
|
+
client.speak('I saw a kitten eating chicken in the kitchen.', model: OmniAI::OpenAI::Speak::Model::GPT_4O_MINI_TTS)
|
|
308
305
|
```
|
|
309
306
|
|
|
310
307
|
[OpenAI API Refernce `model`](https://platform.openai.com/docs/api-reference/audio/createSpeech#audio-createspeech-model)
|
data/lib/omniai/openai/chat.rb
CHANGED
|
@@ -20,9 +20,12 @@ module OmniAI
|
|
|
20
20
|
|
|
21
21
|
module ReasoningEffort
|
|
22
22
|
NONE = "none"
|
|
23
|
+
MINIMAL = "minimal"
|
|
23
24
|
LOW = "low"
|
|
24
25
|
MEDIUM = "medium"
|
|
25
26
|
HIGH = "high"
|
|
27
|
+
XHIGH = "xhigh"
|
|
28
|
+
MAX = "max"
|
|
26
29
|
end
|
|
27
30
|
|
|
28
31
|
module VerbosityText
|
|
@@ -32,6 +35,10 @@ module OmniAI
|
|
|
32
35
|
end
|
|
33
36
|
|
|
34
37
|
module Model
|
|
38
|
+
GPT_6_1_SOL = "gpt-6.1-sol"
|
|
39
|
+
GPT_6_ASTRA = "gpt-6-astra"
|
|
40
|
+
GPT_6_SOL = "gpt-6-sol"
|
|
41
|
+
GPT_6_LUNA = "gpt-6-luna"
|
|
35
42
|
GPT_5_6_LUNA = "gpt-5.6-luna"
|
|
36
43
|
GPT_5_6_SOL = "gpt-5.6-sol"
|
|
37
44
|
GPT_5_6_TERRA = "gpt-5.6-terra"
|
|
@@ -39,28 +46,44 @@ module OmniAI
|
|
|
39
46
|
GPT_5_5_PRO = "gpt-5.5-pro"
|
|
40
47
|
GPT_5_4 = "gpt-5.4"
|
|
41
48
|
GPT_5_4_MINI = "gpt-5.4-mini"
|
|
49
|
+
# @deprecated OpenAI shuts this down 2027-04-01; use GPT_6_LUNA.
|
|
42
50
|
GPT_5_4_NANO = "gpt-5.4-nano"
|
|
43
51
|
GPT_5_4_PRO = "gpt-5.4-pro"
|
|
52
|
+
# @deprecated OpenAI shuts this down 2027-04-01; use GPT_6_SOL.
|
|
44
53
|
GPT_5_3_CODEX = "gpt-5.3-codex"
|
|
45
54
|
GPT_5_2 = "gpt-5.2"
|
|
46
55
|
GPT_5_2_PRO = "gpt-5.2-pro"
|
|
56
|
+
# @deprecated OpenAI shuts this down 2027-04-01; use GPT_6_SOL.
|
|
47
57
|
GPT_5_1 = "gpt-5.1"
|
|
58
|
+
# @deprecated OpenAI shuts down its gpt-5-2025-08-07 snapshot 2026-12-11; use GPT_5_6_SOL.
|
|
48
59
|
GPT_5 = "gpt-5"
|
|
60
|
+
# @deprecated OpenAI shuts down its gpt-5-mini-2025-08-07 snapshot 2026-12-11; use GPT_5_6_TERRA.
|
|
49
61
|
GPT_5_MINI = "gpt-5-mini"
|
|
62
|
+
# @deprecated OpenAI shuts down its gpt-5-nano-2025-08-07 snapshot 2026-12-11; use GPT_5_6_LUNA.
|
|
50
63
|
GPT_5_NANO = "gpt-5-nano"
|
|
64
|
+
# @deprecated OpenAI shuts down its gpt-5-pro-2025-10-06 snapshot 2026-12-11; use GPT_5_6_SOL.
|
|
51
65
|
GPT_5_PRO = "gpt-5-pro"
|
|
52
66
|
GPT_4_1 = "gpt-4.1"
|
|
67
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_LUNA.
|
|
53
68
|
GPT_4_1_NANO = "gpt-4.1-nano"
|
|
54
69
|
GPT_4_1_MINI = "gpt-4.1-mini"
|
|
55
70
|
GPT_4O = "gpt-4o"
|
|
56
71
|
GPT_4O_MINI = "gpt-4o-mini"
|
|
72
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_SOL.
|
|
57
73
|
GPT_4 = "gpt-4"
|
|
74
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_SOL.
|
|
58
75
|
GPT_4_TURBO = "gpt-4-turbo"
|
|
76
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_TERRA.
|
|
59
77
|
GPT_3_5_TURBO = "gpt-3.5-turbo"
|
|
78
|
+
# @deprecated OpenAI shut this down 2025-10-27; use GPT_5_6_SOL.
|
|
60
79
|
O1_MINI = "o1-mini"
|
|
80
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_SOL.
|
|
61
81
|
O3_MINI = "o3-mini"
|
|
82
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_TERRA.
|
|
62
83
|
O4_MINI = "o4-mini"
|
|
84
|
+
# @deprecated OpenAI shuts this down 2026-10-23; use GPT_5_6_SOL.
|
|
63
85
|
O1 = "o1"
|
|
86
|
+
# @deprecated OpenAI shuts down its o3-2025-04-16 snapshot 2026-12-11; use GPT_5_6_SOL.
|
|
64
87
|
O3 = "o3"
|
|
65
88
|
end
|
|
66
89
|
|
data/lib/omniai/openai/speak.rb
CHANGED
|
@@ -5,8 +5,11 @@ module OmniAI
|
|
|
5
5
|
# An OpenAI transcribe implementation.
|
|
6
6
|
class Speak < OmniAI::Speak
|
|
7
7
|
module Model
|
|
8
|
+
# @deprecated OpenAI shuts this down 2027-01-06.
|
|
8
9
|
TTS_1 = "tts-1"
|
|
10
|
+
# @deprecated OpenAI shuts this down 2027-01-06.
|
|
9
11
|
TTS_1_HD = "tts-1-hd"
|
|
12
|
+
# @deprecated OpenAI shuts down both its snapshots 2027-01-06 (the current DEFAULT_MODEL).
|
|
10
13
|
GPT_4O_MINI_TTS = "gpt-4o-mini-tts"
|
|
11
14
|
end
|
|
12
15
|
|
|
@@ -5,12 +5,17 @@ module OmniAI
|
|
|
5
5
|
# An OpenAI transcribe implementation.
|
|
6
6
|
class Transcribe < OmniAI::Transcribe
|
|
7
7
|
module Model
|
|
8
|
+
# @deprecated OpenAI shuts this down 2027-02-26; use GPT_TRANSCRIBE.
|
|
8
9
|
WHISPER_1 = "whisper-1"
|
|
10
|
+
# @deprecated OpenAI shuts this down 2027-02-26; use GPT_TRANSCRIBE.
|
|
9
11
|
GPT_4O_TRANSCRIBE = "gpt-4o-transcribe"
|
|
12
|
+
# @deprecated OpenAI shuts this down 2027-02-26; use GPT_TRANSCRIBE.
|
|
10
13
|
GPT_4O_TRANSCRIBE_DIARIZE = "gpt-4o-transcribe-diarize"
|
|
14
|
+
# @deprecated OpenAI shuts this down 2027-02-26; use GPT_TRANSCRIBE.
|
|
11
15
|
GPT_4O_MINI_TRANSCRIBE = "gpt-4o-mini-transcribe"
|
|
12
16
|
GPT_TRANSCRIBE = "gpt-transcribe"
|
|
13
17
|
GPT_LIVE_TRANSCRIBE = "gpt-live-transcribe"
|
|
18
|
+
# @deprecated OpenAI shuts this down 2027-02-26; use GPT_TRANSCRIBE.
|
|
14
19
|
WHISPER = WHISPER_1
|
|
15
20
|
end
|
|
16
21
|
|