Merge pull request #2602 from Succubyss/gemini-again Gemini max context size corrections, option selector update

73e3acbd51c373acb259d18e86c87dcce6b754ee

Cohee <18619528+Cohee1207@users.noreply.github.com>

Signed
3 files changed, +35 -24Ignore whitespace
public/index.html+18 -15
@@ -2802,23 +2802,26 @@
28022802 <div>
28032803 <h4 data-i18n="Google Model">Google Model</h4>
28042804 <select id="model_google_select">
28052805 <optgroup label="LatestPrimary">
2806- <!-- Doesn't work without "latest". Maybe my key is scuffed? -->
2806+ <option value="gemini-1.5-pro">Gemini 1.5 Pro</option>
28072807 <option value="gemini-1.5-flash-latest">Gemini 1.5 Flash</option>
28082808 <option value="gemini-1.50-pro-latest">Gemini 1.50 Pro</option>
2809- <!-- Points to 1.0, no default 1.5 endpoint -->
2809+ <option value="gemini-pro">Gemini Pro (1.0)</option>
28102810 <option value="gemini-pro-vision">Gemini Pro Vision (1.0)</option>
28112811 <option value="gemini-pro-visionultra">Gemini ProUltra Vision(1.0)</option>
28122812 <option value="gemini-1.0-ultra-latest">Gemini 1.0 Ultra</option>
28132813 <option value="text-bison-001">BisonPaLM Text2 (Legacy)</option>
28142814 <option value="chat-bison-001">BisonPaLM 2 Chat (Legacy)</option>
28152815 </optgroup>
28162816 <optgroup label="Sub-versionsSubversions">
28172817 <option value="gemini-1.5-pro-exp-0801">Gemini 1.5 Pro Experiment 2024-08-01</option>
28182818 <option value="gemini-1.5-pro-latest">Gemini 1.5 Pro [latest]</option>
28192819 <option value="gemini-1.05-pro-latest001">Gemini 1.05 Pro [001]</option>
28202820 <option value="gemini-1.0-pro5-visionflash-latest">Gemini 1.05 ProFlash Vision[latest]</option>
28212821 <option value="gemini-1.05-ultraflash-latest001">Gemini 1.05 UltraFlash [001]</option>
2822+ <option value="gemini-1.0-pro-latest">Gemini 1.0 Pro [latest]</option>
2823+ <option value="gemini-1.0-pro-001">Gemini 1.0 Pro (Tuning) [001]</option>
2824+ <option value="gemini-1.0-pro-vision-latest">Gemini 1.0 Pro Vision [latest]</option>
28222825 </optgroup>
28232826 </select>
28242827 </div>
public/scripts/openai.js+16 -8
@@ -127,6 +127,7 @@ const max_128k = 128 * 1000;
127127const max_200k = 200 * 1000;
128128const max_256k = 256 * 1000;
129129const max_1mil = 1000 * 1000;
130+const max_2mil = 2000 * 1000;
130131const scale_max = 8191;
131132const claude_max = 9000; // We have a proper tokenizer, so theoretically could be larger (up to 9k)
132133const claude_100k_max = 99000;
@@ -260,7 +261,7 @@ const default_settings = {
260261 personality_format: default_personality_format,
261262 openai_model: 'gpt-4-turbo',
262263 claude_model: 'claude-3-5-sonnet-20240620',
263264 google_model: 'gemini-1.5-pro',
264265 ai21_model: 'j2-ultra',
265266 mistralai_model: 'mistral-large-latest',
266267 cohere_model: 'command-r-plus',
@@ -340,7 +341,7 @@ const oai_settings = {
340341 personality_format: default_personality_format,
341342 openai_model: 'gpt-4-turbo',
342343 claude_model: 'claude-3-5-sonnet-20240620',
343344 google_model: 'gemini-1.5-pro',
344345 ai21_model: 'j2-ultra',
345346 mistralai_model: 'mistral-large-latest',
346347 cohere_model: 'command-r-plus',
@@ -4056,15 +4057,22 @@ async function onModelChange() {
40564057
40574058 if (oai_settings.chat_completion_source == chat_completion_sources.MAKERSUITE) {
40584059 if (oai_settings.max_context_unlocked) {
4060+ $('#openai_max_context').attr('max', max_2mil);
4061+ } else if (value.includes('gemini-1.5-pro')) {
4062+ $('#openai_max_context').attr('max', max_2mil);
4063+ } else if (value.includes('gemini-1.5-flash')) {
40594064 $('#openai_max_context').attr('max', max_1mil);
40604065 } else if (value === .includes('gemini-1.50-pro-latestvision') || value.includes( === 'gemini-1.5pro-flashvision')) {
4061- $('#openai_max_context').attr('max', max_1mil);
4062- } else if (value === 'gemini-ultra' || value === 'gemini-1.0-pro-latest' || value === 'gemini-pro' || value === 'gemini-1.0-ultra-latest') {
4063- $('#openai_max_context').attr('max', max_32k);
4064- } else if (value === 'gemini-1.0-pro-vision-latest' || value === 'gemini-pro-vision') {
40654066 $('#openai_max_context').attr('max', max_16k);
4066- } else {
4067+ } else if (value.includes('gemini-1.0-pro') || value === 'gemini-pro') {
4068+ $('#openai_max_context').attr('max', max_32k);
4069+ } else if (value === 'text-bison-001') {
40674070 $('#openai_max_context').attr('max', max_8k);
4071+ // The ultra endpoints are possibly dead:
4072+ } else if (value.includes('gemini-1.0-ultra') || value === 'gemini-ultra') {
4073+ $('#openai_max_context').attr('max', max_32k);
4074+ } else {
4075+ $('#openai_max_context').attr('max', max_4k);
40684076 }
40694077 let makersuite_max_temp = (value.includes('vision') || value.includes('ultra')) ? 1.0 : 2.0;
40704078 oai_settings.temp_openai = Math.min(makersuite_max_temp, oai_settings.temp_openai);
src/endpoints/backends/chat-completions.js+1 -1
@@ -271,7 +271,7 @@ async function sendMakerSuiteRequest(request, response) {
271271 };
272272
273273 function getGeminiBody() {
274274 const should_use_system_prompt = [(model.includes('gemini-1.5-flash',) || model.includes('gemini-1.5-pro'].includes(model)) && request.body.use_makersuite_sysprompt;
275275 const prompt = convertGooglePrompt(request.body.messages, model, should_use_system_prompt, request.body.char_name, request.body.user_name);
276276 let body = {
277277 contents: prompt.contents,