omniai-google 3.5.0 → 3.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33134e75816a15602fef0394b0be7527930e7bb8f3b8469e5b0acbe7f93edf23
4
- data.tar.gz: 1ce3168ea82a7a943e1c6537839b2cec9286bd8684e80e873aca4133ed326c49
3
+ metadata.gz: 82ee690e391c20d752962b27396514b2c8ed7f402e279b44115ca717622fabc3
4
+ data.tar.gz: b559de433576791ac3676ae2d5829369f1951a4824091a0c01add03f7e4a2b50
5
5
  SHA512:
6
- metadata.gz: e6f3f3f81fa30d51fc892c09f5d13ff00c438b0f064549447a08a25cc814d52650e32ce2140c74b7fdbbdac80b94d8d210ac74978fe4e931837663fa43ae85cd
7
- data.tar.gz: b2a5c9217496e893385f617c6250448ad8edfddb4aa6274deeab3e516044aa30e82ece923d2d64eaf4720218195cddfe7f6f07778985d8073063212c52f762e2
6
+ metadata.gz: 8ac9197937f962bd597c4a876dfc1b29edcb5802aae8b39e9e2962a118208cf0b17829b3a0dda4849c82091ffb60c12f050643712dc0c0c467cea0880bd8fd0b
7
+ data.tar.gz: 62600d5597689f129a3412b8718058f7de8c34e9e4e42ad0434b945b52c09cb7f4cd60e4dfe23d688d27026d4694b69e1a16febae76a3aa7e90f9680a2a77cb0
data/README.md CHANGED
@@ -87,7 +87,7 @@ completion.text # 'The capital of Canada is Ottawa.'
87
87
 
88
88
  #### Model
89
89
 
90
- `model` takes an optional string (default is `gemini-1.5-pro`):
90
+ `model` takes an optional string (default is `gemini-3-flash-preview`):
91
91
 
92
92
  ```ruby
93
93
  completion = client.chat('How fast is a cheetah?', model: OmniAI::Google::Chat::Model::GEMINI_FLASH)
@@ -120,30 +120,45 @@ client.chat('Be poetic.', stream:)
120
120
 
121
121
  #### Extended Thinking
122
122
 
123
- Google Gemini 2.0+ models support extended thinking, which shows the model's reasoning process.
123
+ Gemini models support extended thinking, which shows the model's reasoning process.
124
124
 
125
125
  ```ruby
126
- # Enable thinking
127
- response = client.chat("What is 25 * 25?", model: "gemini-2.5-pro-preview-05-06", thinking: true)
126
+ # Enable thinking with model defaults
127
+ response = client.chat("What is 25 * 25?", model: OmniAI::Google::Chat::Model::GEMINI_PRO, thinking: true)
128
128
  ```
129
129
 
130
- #### Accessing Thinking Content
130
+ ##### Thinking Effort
131
+
132
+ Control how much the model thinks using the `effort` option (`"low"`, `"medium"`, or `"high"`):
133
+
134
+ ```ruby
135
+ # High effort (more reasoning tokens)
136
+ response = client.chat("Solve this step by step.", model: OmniAI::Google::Chat::Model::GEMINI_PRO, thinking: { effort: "high" })
137
+
138
+ # Medium effort
139
+ response = client.chat("Explain briefly.", model: OmniAI::Google::Chat::Model::GEMINI_PRO, thinking: { effort: "medium" })
140
+
141
+ # Low effort (fewer reasoning tokens)
142
+ response = client.chat("What is 1+1?", model: OmniAI::Google::Chat::Model::GEMINI_PRO, thinking: { effort: "low" })
143
+ ```
144
+
145
+ ##### Accessing Thinking Content
131
146
 
132
147
  ```ruby
133
- response.choices.first.message.contents.each do |content|
134
- case content
148
+ response.choices.first.message.content.each do |part|
149
+ case part
135
150
  when OmniAI::Chat::Thinking
136
- puts "Thinking: #{content.thinking}"
151
+ puts "Thinking: #{part.thinking}"
137
152
  when OmniAI::Chat::Text
138
- puts "Response: #{content.text}"
153
+ puts "Response: #{part.text}"
139
154
  end
140
155
  end
141
156
  ```
142
157
 
143
- #### Streaming with Thinking
158
+ ##### Streaming with Thinking
144
159
 
145
160
  ```ruby
146
- client.chat("What are the prime factors of 1234567?", model: "gemini-2.5-pro-preview-05-06", thinking: true, stream: $stdout)
161
+ client.chat("What are the prime factors of 1234567?", model: OmniAI::Google::Chat::Model::GEMINI_PRO, thinking: true, stream: $stdout)
147
162
  ```
148
163
 
149
164
  [Google API Reference `thinking`](https://ai.google.dev/gemini-api/docs/thinking)
@@ -104,7 +104,7 @@ module OmniAI
104
104
  return unless tools?
105
105
 
106
106
  [
107
- function_declarations: custom_tools.map { |tool| tool.serialize(context:) },
107
+ { function_declarations: custom_tools.map { |tool| tool.serialize(context:) } },
108
108
  ].concat(internal_tools.map { |name| { name => {} } })
109
109
  end
110
110
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAI
4
4
  module Google
5
- VERSION = "3.5.0"
5
+ VERSION = "3.5.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniai-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre