Perplexity: Add reasoning model, remove deprecated models

15a3cfcb8ae2d81643dbcf25d81111f29883de1b

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

3 files changed, +19 -38Showing whitespace changes
public/index.html+7 -20
@@ -3227,32 +3227,19 @@
3227 <h4 data-i18n="Perplexity Model">Perplexity Model</h4>3227 <h4 data-i18n="Perplexity Model">Perplexity Model</h4>
3228 <select id="model_perplexity_select">3228 <select id="model_perplexity_select">
3229 <optgroup label="Perplexity Sonar Models">3229 <optgroup label="Perplexity Sonar Models">
3230 <option value="sonar">sonar</option>
3231 <option value="sonar-pro">sonar-pro</option>
3232 <option value="sonar-reasoning">sonar-reasoning</option>
3233 </optgroup>
3234 <optgroup label="Deprecated Models">
3235 <!-- These are scheduled for deprecation after 2/22/2025 -->
3230 <option value="llama-3.1-sonar-small-128k-online">llama-3.1-sonar-small-128k-online</option>3236 <option value="llama-3.1-sonar-small-128k-online">llama-3.1-sonar-small-128k-online</option>
3231 <option value="llama-3.1-sonar-large-128k-online">llama-3.1-sonar-large-128k-online</option>3237 <option value="llama-3.1-sonar-large-128k-online">llama-3.1-sonar-large-128k-online</option>
3232 <option value="llama-3.1-sonar-huge-128k-online">llama-3.1-sonar-huge-128k-online</option>3238 <option value="llama-3.1-sonar-huge-128k-online">llama-3.1-sonar-huge-128k-online</option>
3233 </optgroup>3239 <!-- These are not listed on the site anymore -->
3234 <optgroup label="Perplexity Chat Models">
3235 <option value="llama-3.1-sonar-small-128k-chat">llama-3.1-sonar-small-128k-chat</option>3240 <option value="llama-3.1-sonar-small-128k-chat">llama-3.1-sonar-small-128k-chat</option>
3236 <option value="llama-3.1-sonar-large-128k-chat">llama-3.1-sonar-large-128k-chat</option>3241 <option value="llama-3.1-sonar-large-128k-chat">llama-3.1-sonar-large-128k-chat</option>
3237 </optgroup>3242 </optgroup>
3238 <optgroup label="Open-Source Models">
3239 <option value="llama-3.1-8b-instruct">llama-3.1-8b-instruct</option>
3240 <option value="llama-3.1-70b-instruct">llama-3.1-70b-instruct</option>
3241 </optgroup>
3242 <optgroup label="Deprecated Models">
3243 <option value="llama-3-sonar-small-32k-chat">llama-3-sonar-small-32k-chat</option>
3244 <option value="llama-3-sonar-small-32k-online">llama-3-sonar-small-32k-online</option>
3245 <option value="llama-3-sonar-large-32k-chat">llama-3-sonar-large-32k-chat</option>
3246 <option value="llama-3-sonar-large-32k-online">llama-3-sonar-large-32k-online</option>
3247 <option value="sonar-small-chat">sonar-small-chat</option>
3248 <option value="sonar-small-online">sonar-small-online</option>
3249 <option value="sonar-medium-chat">sonar-medium-chat</option>
3250 <option value="sonar-medium-online">sonar-medium-online</option>
3251 <option value="llama-3-8b-instruct">llama-3-8b-instruct</option>
3252 <option value="llama-3-70b-instruct">llama-3-70b-instruct</option>
3253 <option value="mistral-7b-instruct">mistral-7b-instruct (v0.2)</option>
3254 <option value="mixtral-8x7b-instruct">mixtral-8x7b-instruct</option>
3255 </optgroup>
3256 </select>3243 </select>
3257 </div>3244 </div>
3258 <form id="cohere_form" data-source="cohere" action="javascript:void(null);" method="post" enctype="multipart/form-data">3245 <form id="cohere_form" data-source="cohere" action="javascript:void(null);" method="post" enctype="multipart/form-data">
public/scripts/openai.js+9 -18
@@ -258,7 +258,7 @@ const default_settings = {
258 ai21_model: 'jamba-1.5-large',258 ai21_model: 'jamba-1.5-large',
259 mistralai_model: 'mistral-large-latest',259 mistralai_model: 'mistral-large-latest',
260 cohere_model: 'command-r-plus',260 cohere_model: 'command-r-plus',
261 perplexity_model: 'llama-3.1-70b-instruct',261 perplexity_model: 'sonar-pro',
262 groq_model: 'llama-3.1-70b-versatile',262 groq_model: 'llama-3.1-70b-versatile',
263 nanogpt_model: 'gpt-4o-mini',263 nanogpt_model: 'gpt-4o-mini',
264 zerooneai_model: 'yi-large',264 zerooneai_model: 'yi-large',
@@ -337,7 +337,7 @@ const oai_settings = {
337 ai21_model: 'jamba-1.5-large',337 ai21_model: 'jamba-1.5-large',
338 mistralai_model: 'mistral-large-latest',338 mistralai_model: 'mistral-large-latest',
339 cohere_model: 'command-r-plus',339 cohere_model: 'command-r-plus',
340 perplexity_model: 'llama-3.1-70b-instruct',340 perplexity_model: 'sonar-pro',
341 groq_model: 'llama-3.1-70b-versatile',341 groq_model: 'llama-3.1-70b-versatile',
342 nanogpt_model: 'gpt-4o-mini',342 nanogpt_model: 'gpt-4o-mini',
343 zerooneai_model: 'yi-large',343 zerooneai_model: 'yi-large',
@@ -4380,28 +4380,19 @@ async function onModelChange() {
4380 if (oai_settings.max_context_unlocked) {4380 if (oai_settings.max_context_unlocked) {
4381 $('#openai_max_context').attr('max', unlocked_max);4381 $('#openai_max_context').attr('max', unlocked_max);
4382 }4382 }
4383 else if (['sonar', 'sonar-reasoning'].includes(oai_settings.perplexity_model)) {
4384 $('#openai_max_context').attr('max', 127000);
4385 }
4386 else if (['sonar-pro'].includes(oai_settings.perplexity_model)) {
4387 $('#openai_max_context').attr('max', 200000);
4388 }
4383 else if (oai_settings.perplexity_model.includes('llama-3.1')) {4389 else if (oai_settings.perplexity_model.includes('llama-3.1')) {
4384 const isOnline = oai_settings.perplexity_model.includes('online');4390 const isOnline = oai_settings.perplexity_model.includes('online');
4385 const contextSize = isOnline ? 128 * 1024 - 4000 : 128 * 1024;4391 const contextSize = isOnline ? 128 * 1024 - 4000 : 128 * 1024;
4386 $('#openai_max_context').attr('max', contextSize);4392 $('#openai_max_context').attr('max', contextSize);
4387 }4393 }
4388 else if (['llama-3-sonar-small-32k-chat', 'llama-3-sonar-large-32k-chat'].includes(oai_settings.perplexity_model)) {
4389 $('#openai_max_context').attr('max', max_32k);
4390 }
4391 else if (['llama-3-sonar-small-32k-online', 'llama-3-sonar-large-32k-online'].includes(oai_settings.perplexity_model)) {
4392 $('#openai_max_context').attr('max', 28000);
4393 }
4394 else if (['sonar-small-chat', 'sonar-medium-chat', 'codellama-70b-instruct', 'mistral-7b-instruct', 'mixtral-8x7b-instruct', 'mixtral-8x22b-instruct'].includes(oai_settings.perplexity_model)) {
4395 $('#openai_max_context').attr('max', max_16k);
4396 }
4397 else if (['llama-3-8b-instruct', 'llama-3-70b-instruct'].includes(oai_settings.perplexity_model)) {
4398 $('#openai_max_context').attr('max', max_8k);
4399 }
4400 else if (['sonar-small-online', 'sonar-medium-online'].includes(oai_settings.perplexity_model)) {
4401 $('#openai_max_context').attr('max', 12000);
4402 }
4403 else {4394 else {
4404 $('#openai_max_context').attr('max', max_4k);4395 $('#openai_max_context').attr('max', max_128k);
4405 }4396 }
4406 oai_settings.openai_max_context = Math.min(Number($('#openai_max_context').attr('max')), oai_settings.openai_max_context);4397 oai_settings.openai_max_context = Math.min(Number($('#openai_max_context').attr('max')), oai_settings.openai_max_context);
4407 $('#openai_max_context').val(oai_settings.openai_max_context).trigger('input');4398 $('#openai_max_context').val(oai_settings.openai_max_context).trigger('input');
public/scripts/tokenizers.js+3 -0
@@ -679,6 +679,9 @@ export function getTokenizerModel() {
679 }679 }
680680
681 if (oai_settings.chat_completion_source === chat_completion_sources.PERPLEXITY) {681 if (oai_settings.chat_completion_source === chat_completion_sources.PERPLEXITY) {
682 if (oai_settings.perplexity_model.includes('sonar-reasoning')) {
683 return deepseekTokenizer;
684 }
682 if (oai_settings.perplexity_model.includes('llama-3') || oai_settings.perplexity_model.includes('llama3')) {685 if (oai_settings.perplexity_model.includes('llama-3') || oai_settings.perplexity_model.includes('llama3')) {
683 return llama3Tokenizer;686 return llama3Tokenizer;
684 }687 }