Skip to content

Commit 299d3ea

Browse files
achhabra2danny-avila
authored andcommitted
🇬 refactor: Update default Google Models and Parameters (#2782)
* Update Google default model and parameters * Update .env.example Vertex AI Models to reflect latest version and deprecate bison family * Update Vertex AI model list in .env.example
1 parent 5c94ced commit 299d3ea

File tree

4 files changed

+15
-61
lines changed

4 files changed

+15
-61
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ GOOGLE_KEY=user_provided
119119
# GOOGLE_MODELS=gemini-1.5-flash-latest,gemini-1.0-pro,gemini-1.0-pro-001,gemini-1.0-pro-latest,gemini-1.0-pro-vision-latest,gemini-1.5-pro-latest,gemini-pro,gemini-pro-vision
120120

121121
# Vertex AI
122-
# GOOGLE_MODELS=gemini-1.5-flash-preview-0514,gemini-1.5-pro-preview-0409,gemini-1.0-pro-vision-001,gemini-pro,gemini-pro-vision,chat-bison,chat-bison-32k,codechat-bison,codechat-bison-32k,text-bison,text-bison-32k,text-unicorn,code-gecko,code-bison,code-bison-32k
122+
# GOOGLE_MODELS=gemini-1.5-flash-preview-0514,gemini-1.5-pro-preview-0514,gemini-1.0-pro-vision-001,gemini-1.0-pro-002,gemini-1.0-pro-001,gemini-pro-vision,gemini-1.0-pro
123123

124124
# Google Gemini Safety Settings
125125
# NOTE (Vertex AI): You do not have access to the BLOCK_NONE setting by default.

client/src/components/Endpoints/Settings/Google.tsx

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useEffect } from 'react';
21
import TextareaAutosize from 'react-textarea-autosize';
32
import { EModelEndpoint, endpointSettings } from 'librechat-data-provider';
43
import type { TModelSelectProps, OnInputNumberChange } from '~/common';
@@ -31,25 +30,6 @@ export default function Settings({ conversation, setOption, models, readonly }:
3130
maxOutputTokens,
3231
} = conversation ?? {};
3332

34-
const isGemini = model?.toLowerCase()?.includes('gemini');
35-
36-
const maxOutputTokensMax = isGemini
37-
? google.maxOutputTokens.maxGemini
38-
: google.maxOutputTokens.max;
39-
const maxOutputTokensDefault = isGemini
40-
? google.maxOutputTokens.defaultGemini
41-
: google.maxOutputTokens.default;
42-
43-
useEffect(
44-
() => {
45-
if (model) {
46-
setOption('maxOutputTokens')(Math.min(Number(maxOutputTokens) ?? 0, maxOutputTokensMax));
47-
}
48-
},
49-
// eslint-disable-next-line react-hooks/exhaustive-deps
50-
[model],
51-
);
52-
5333
const [setMaxContextTokens, maxContextTokensValue] = useDebouncedInput<number | null | undefined>(
5434
{
5535
setOption,
@@ -281,15 +261,15 @@ export default function Settings({ conversation, setOption, models, readonly }:
281261
<Label htmlFor="max-tokens-int" className="text-left text-sm font-medium">
282262
{localize('com_endpoint_max_output_tokens')}{' '}
283263
<small className="opacity-40">
284-
({localize('com_endpoint_default_with_num', maxOutputTokensDefault + '')})
264+
({localize('com_endpoint_default_with_num', google.maxOutputTokens.default + '')})
285265
</small>
286266
</Label>
287267
<InputNumber
288268
id="max-tokens-int"
289269
disabled={readonly}
290270
value={maxOutputTokens}
291-
onChange={(value) => setMaxOutputTokens(value ?? maxOutputTokensDefault)}
292-
max={maxOutputTokensMax}
271+
onChange={(value) => setMaxOutputTokens(Number(value))}
272+
max={google.maxOutputTokens.max}
293273
min={google.maxOutputTokens.min}
294274
step={google.maxOutputTokens.step}
295275
controls={false}
@@ -304,10 +284,10 @@ export default function Settings({ conversation, setOption, models, readonly }:
304284
</div>
305285
<Slider
306286
disabled={readonly}
307-
value={[maxOutputTokens ?? maxOutputTokensDefault]}
287+
value={[maxOutputTokens ?? google.maxOutputTokens.default]}
308288
onValueChange={(value) => setMaxOutputTokens(value[0])}
309-
doubleClickHandler={() => setMaxOutputTokens(maxOutputTokensDefault)}
310-
max={maxOutputTokensMax}
289+
doubleClickHandler={() => setMaxOutputTokens(google.maxOutputTokens.default)}
290+
max={google.maxOutputTokens.max}
311291
min={google.maxOutputTokens.min}
312292
step={google.maxOutputTokens.step}
313293
className="flex h-4 w-full"

packages/data-provider/src/generate.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -555,26 +555,14 @@ export const generateGoogleSchema = (customGoogle: GoogleSettings) => {
555555
maxContextTokens: true,
556556
})
557557
.transform((obj) => {
558-
const isGemini = obj?.model?.toLowerCase()?.includes('gemini');
559-
560-
const maxOutputTokensMax = isGemini
561-
? defaults.maxOutputTokens.maxGemini
562-
: defaults.maxOutputTokens.max;
563-
const maxOutputTokensDefault = isGemini
564-
? defaults.maxOutputTokens.defaultGemini
565-
: defaults.maxOutputTokens.default;
566-
567-
let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;
568-
maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);
569-
570558
return {
571559
...obj,
572560
model: obj.model ?? defaults.model.default,
573561
modelLabel: obj.modelLabel ?? null,
574562
promptPrefix: obj.promptPrefix ?? null,
575563
examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],
576564
temperature: obj.temperature ?? defaults.temperature.default,
577-
maxOutputTokens,
565+
maxOutputTokens: obj.maxOutputTokens ?? defaults.maxOutputTokens.default,
578566
topP: obj.topP ?? defaults.topP.default,
579567
topK: obj.topK ?? defaults.topK.default,
580568
maxContextTokens: obj.maxContextTokens ?? undefined,

packages/data-provider/src/schemas.ts

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -128,27 +128,25 @@ export const openAISettings = {
128128

129129
export const googleSettings = {
130130
model: {
131-
default: 'chat-bison',
131+
default: 'gemini-1.5-flash-latest',
132132
},
133133
maxOutputTokens: {
134134
min: 1,
135-
max: 2048,
135+
max: 8192,
136136
step: 1,
137-
default: 1024,
138-
maxGemini: 8192,
139-
defaultGemini: 8192,
137+
default: 8192,
140138
},
141139
temperature: {
142140
min: 0,
143-
max: 1,
141+
max: 2,
144142
step: 0.01,
145-
default: 0.2,
143+
default: 1,
146144
},
147145
topP: {
148146
min: 0,
149147
max: 1,
150148
step: 0.01,
151-
default: 0.8,
149+
default: 0.95,
152150
},
153151
topK: {
154152
min: 1,
@@ -484,26 +482,14 @@ export const googleSchema = tConversationSchema
484482
maxContextTokens: true,
485483
})
486484
.transform((obj) => {
487-
const isGemini = obj?.model?.toLowerCase()?.includes('gemini');
488-
489-
const maxOutputTokensMax = isGemini
490-
? google.maxOutputTokens.maxGemini
491-
: google.maxOutputTokens.max;
492-
const maxOutputTokensDefault = isGemini
493-
? google.maxOutputTokens.defaultGemini
494-
: google.maxOutputTokens.default;
495-
496-
let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;
497-
maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);
498-
499485
return {
500486
...obj,
501487
model: obj.model ?? google.model.default,
502488
modelLabel: obj.modelLabel ?? null,
503489
promptPrefix: obj.promptPrefix ?? null,
504490
examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],
505491
temperature: obj.temperature ?? google.temperature.default,
506-
maxOutputTokens,
492+
maxOutputTokens: obj.maxOutputTokens ?? google.maxOutputTokens.default,
507493
topP: obj.topP ?? google.topP.default,
508494
topK: obj.topK ?? google.topK.default,
509495
iconURL: obj.iconURL ?? undefined,

0 commit comments

Comments
 (0)