Skip to content

Commit 8b0db36

Browse files
authored
Replace deprecated gemini-3-flash-preview default with gemini-3.5-flash (#661)
1 parent 3e34fb8 commit 8b0db36

6 files changed

Lines changed: 22 additions & 22 deletions

File tree

src/Providers/GeminiProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public function webSearchToolOptions(WebSearch $search): array
9292
*/
9393
public function defaultTextModel(): string
9494
{
95-
return $this->config['models']['text']['default'] ?? 'gemini-3-flash-preview';
95+
return $this->config['models']['text']['default'] ?? 'gemini-3.5-flash';
9696
}
9797

9898
/**
@@ -154,7 +154,7 @@ public function defaultAudioModel(): string
154154
*/
155155
public function defaultTranscriptionModel(): string
156156
{
157-
return $this->config['models']['transcription']['default'] ?? 'gemini-3-flash-preview';
157+
return $this->config['models']['transcription']['default'] ?? 'gemini-3.5-flash';
158158
}
159159

160160
/**

tests/Feature/Providers/Gemini/GeminiHelpers.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ protected function fakeTextResponse(string $text = 'Hello'): PromiseInterface
2323
'candidatesTokenCount' => 5,
2424
'totalTokenCount' => 15,
2525
],
26-
'modelVersion' => 'gemini-3-flash-preview',
26+
'modelVersion' => 'gemini-3.5-flash',
2727
]);
2828
}
2929

@@ -48,7 +48,7 @@ protected function fakeToolCallResponse(string $toolName = 'FixedNumberGenerator
4848
'candidatesTokenCount' => 5,
4949
'totalTokenCount' => 15,
5050
],
51-
'modelVersion' => 'gemini-3-flash-preview',
51+
'modelVersion' => 'gemini-3.5-flash',
5252
]);
5353
}
5454

@@ -67,7 +67,7 @@ protected function fakeStructuredResponse(array $data): PromiseInterface
6767
'candidatesTokenCount' => 5,
6868
'totalTokenCount' => 15,
6969
],
70-
'modelVersion' => 'gemini-3-flash-preview',
70+
'modelVersion' => 'gemini-3.5-flash',
7171
]);
7272
}
7373

@@ -92,7 +92,7 @@ protected function fakeUniqueToolCallResponse(): PromiseInterface
9292
'candidatesTokenCount' => 5,
9393
'totalTokenCount' => 15,
9494
],
95-
'modelVersion' => 'gemini-3-flash-preview',
95+
'modelVersion' => 'gemini-3.5-flash',
9696
]);
9797
}
9898

@@ -140,7 +140,7 @@ protected function geminiChunk(array $parts, ?string $modelVersion = null, ?stri
140140

141141
return [
142142
'candidates' => [$candidate],
143-
'modelVersion' => $modelVersion ?? 'gemini-3-flash-preview',
143+
'modelVersion' => $modelVersion ?? 'gemini-3.5-flash',
144144
];
145145
}
146146

tests/Feature/Providers/Gemini/RequestMappingTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
(new AssistantAgent)->prompt(
1818
'What is Laravel?',
1919
provider: 'gemini',
20-
model: 'gemini-3-flash-preview',
20+
model: 'gemini-3.5-flash',
2121
);
2222

2323
Http::assertSent(function ($request) {
24-
return str_contains($request->url(), 'models/gemini-3-flash-preview:generateContent')
24+
return str_contains($request->url(), 'models/gemini-3.5-flash:generateContent')
2525
&& $request->data()['contents'][0]['role'] === 'user'
2626
&& $request->data()['contents'][0]['parts'][0]['text'] === 'What is Laravel?';
2727
});

tests/Feature/Providers/Gemini/TranscriptionTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
]);
1919

2020
Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
21-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
21+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
2222

2323
Http::assertSent(function (Request $request) {
2424
$body = $request->data();
2525
$parts = $body['contents'][0]['parts'];
2626

27-
return str_contains($request->url(), 'models/gemini-3-flash-preview:generateContent')
27+
return str_contains($request->url(), 'models/gemini-3.5-flash:generateContent')
2828
&& $parts[1]['inlineData']['mimeType'] === 'audio/mp3'
2929
&& $parts[1]['inlineData']['data'] === base64_encode('fake-audio');
3030
});
@@ -37,7 +37,7 @@
3737

3838
Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
3939
->language('fr')
40-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
40+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
4141

4242
Http::assertSent(fn (Request $request) => str_contains(
4343
$request->data()['contents'][0]['parts'][0]['text'],
@@ -51,12 +51,12 @@
5151
]);
5252

5353
$response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
54-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
54+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
5555

5656
expect($response->text)->toBe('Hello world')
5757
->and($response->segments)->toHaveCount(0)
5858
->and($response->meta->provider)->toBe('gemini')
59-
->and($response->meta->model)->toBe('gemini-3-flash-preview')
59+
->and($response->meta->model)->toBe('gemini-3.5-flash')
6060
->and($response->usage->promptTokens)->toBe(10)
6161
->and($response->usage->completionTokens)->toBe(5);
6262
});
@@ -68,7 +68,7 @@
6868

6969
Transcription::of(base64_encode('fake-audio'), 'audio/mp3')->generate(provider: 'gemini');
7070

71-
Http::assertSent(fn (Request $request) => str_contains($request->url(), 'models/gemini-3-flash-preview:generateContent'));
71+
Http::assertSent(fn (Request $request) => str_contains($request->url(), 'models/gemini-3.5-flash:generateContent'));
7272
});
7373

7474
test('diarized transcription request sends json schema in generation config', function () {
@@ -78,7 +78,7 @@
7878

7979
Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
8080
->diarize()
81-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
81+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
8282

8383
Http::assertSent(function (Request $request) {
8484
$body = $request->data();
@@ -97,7 +97,7 @@
9797

9898
$response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
9999
->diarize()
100-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
100+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
101101

102102
expect($response->text)->toBe('Hello world')
103103
->and($response->segments)->toHaveCount(2)
@@ -121,7 +121,7 @@
121121

122122
$response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3')
123123
->diarize()
124-
->generate(provider: 'gemini', model: 'gemini-3-flash-preview');
124+
->generate(provider: 'gemini', model: 'gemini-3.5-flash');
125125

126126
expect($response->segments[0]->startSeconds)->toBe(1.5)
127127
->and($response->segments[0]->endSeconds)->toBe(62.25)

tests/Feature/Providers/TimeoutInToolLoopTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ function timeoutFakeGeminiToolCallResponse(): PromiseInterface
210210
'candidatesTokenCount' => 5,
211211
'totalTokenCount' => 15,
212212
],
213-
'modelVersion' => 'gemini-3-flash-preview',
213+
'modelVersion' => 'gemini-3.5-flash',
214214
]);
215215
}
216216

@@ -229,7 +229,7 @@ function timeoutFakeGeminiTextResponse(string $text): PromiseInterface
229229
'candidatesTokenCount' => 5,
230230
'totalTokenCount' => 15,
231231
],
232-
'modelVersion' => 'gemini-3-flash-preview',
232+
'modelVersion' => 'gemini-3.5-flash',
233233
]);
234234
}
235235

tests/Feature/Storage/DatabaseConversationStoreTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
'finishReason' => 'STOP',
7979
]],
8080
'usageMetadata' => ['promptTokenCount' => 10, 'candidatesTokenCount' => 5, 'totalTokenCount' => 15],
81-
'modelVersion' => 'gemini-3-flash-preview',
81+
'modelVersion' => 'gemini-3.5-flash',
8282
]),
8383
Http::response([
8484
'candidates' => [[
@@ -89,7 +89,7 @@
8989
'finishReason' => 'STOP',
9090
]],
9191
'usageMetadata' => ['promptTokenCount' => 10, 'candidatesTokenCount' => 5, 'totalTokenCount' => 15],
92-
'modelVersion' => 'gemini-3-flash-preview',
92+
'modelVersion' => 'gemini-3.5-flash',
9393
]),
9494
]),
9595
]);

0 commit comments

Comments
 (0)