Merge pull request #3221 from Succubyss/manual_selection tokenizers.js: Add MANUAL_SELECTION (& removes turbo-0301 lines)

0cb82b32881e7edfcf2d933594913d0bcb419424

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

Signed
1 files changed, +10 -8Ignore whitespace
public/scripts/tokenizers.js+10 -8
@@ -32,6 +32,7 @@ export const tokenizers = {
3232 COMMAND_R: 16,
3333 NEMO: 17,
3434 BEST_MATCH: 99,
35+ MANUAL_SELECTION: 411,
3536};
3637
3738// A list of local tokenizers that support encoding and decoding token ids.
@@ -536,7 +537,6 @@ export function getTokenizerModel() {
536537 return oai_settings.openai_model;
537538 }
538539
539- const turbo0301Tokenizer = 'gpt-3.5-turbo-0301';
540540 const turboTokenizer = 'gpt-3.5-turbo';
541541 const gpt4Tokenizer = 'gpt-4';
542542 const gpt4oTokenizer = 'gpt-4o';
@@ -562,9 +562,6 @@ export function getTokenizerModel() {
562562 if (oai_settings.windowai_model.includes('gpt-4')) {
563563 return gpt4Tokenizer;
564564 }
565- else if (oai_settings.windowai_model.includes('gpt-3.5-turbo-0301')) {
566- return turbo0301Tokenizer;
567- }
568565 else if (oai_settings.windowai_model.includes('gpt-3.5-turbo')) {
569566 return turboTokenizer;
570567 }
@@ -610,9 +607,6 @@ export function getTokenizerModel() {
610607 else if (oai_settings.openrouter_model.includes('gpt-4')) {
611608 return gpt4Tokenizer;
612609 }
613- else if (oai_settings.openrouter_model.includes('gpt-3.5-turbo-0301')) {
614- return turbo0301Tokenizer;
615- }
616610 else if (oai_settings.openrouter_model.includes('gpt-3.5-turbo')) {
617611 return turboTokenizer;
618612 }
@@ -1064,9 +1058,14 @@ function decodeTextTokensFromServer(endpoint, ids, resolve) {
10641058 * Encodes a string to tokens using the server API.
10651059 * @param {number} tokenizerType Tokenizer type.
10661060 * @param {string} str String to tokenize.
1061+ * @param {string} overrideModel Tokenizer for {tokenizers.MANUAL_SELECTION}.
10671062 * @returns {number[]} Array of token ids.
10681063 */
10691064export function getTextTokens(tokenizerType, str, overrideModel = undefined) {
1065+ if (overrideModel && tokenizerType !== tokenizers.MANUAL_SELECTION) {
1066+ console.warn('overrideModel must be undefined unless using tokenizers.MANUAL_SELECTION', tokenizerType);
1067+ return [];
1068+ }
10701069 switch (tokenizerType) {
10711070 case tokenizers.API_CURRENT:
10721071 return getTextTokens(currentRemoteTokenizerAPI(), str);
@@ -1087,6 +1086,9 @@ export function getTextTokens(tokenizerType, str) {
10871086 console.warn('This tokenizer type does not support encoding', tokenizerType);
10881087 return [];
10891088 }
1089+ if (tokenizerType === tokenizers.MANUAL_SELECTION) {
1090+ endpointUrl += `?model=${overrideModel}`;
1091+ }
10901092 if (tokenizerType === tokenizers.OPENAI) {
10911093 endpointUrl += `?model=${getTokenizerModel()}`;
10921094 }