Merge pull request #3221 from Succubyss/manual_selection tokenizers.js: Add MANUAL_SELECTION (& removes turbo-0301 lines)
Signed| @@ -32,6 +32,7 @@ export const tokenizers = { | |||
| 32 | COMMAND_R: 16, | 32 | COMMAND_R: 16, |
| 33 | NEMO: 17, | 33 | NEMO: 17, |
| 34 | BEST_MATCH: 99, | 34 | BEST_MATCH: 99, |
| 35 | MANUAL_SELECTION: 411, | ||
| 35 | }; | 36 | }; |
| 36 | 37 | ||
| 37 | // A list of local tokenizers that support encoding and decoding token ids. | 38 | // A list of local tokenizers that support encoding and decoding token ids. |
| @@ -536,7 +537,6 @@ export function getTokenizerModel() { | |||
| 536 | return oai_settings.openai_model; | 537 | return oai_settings.openai_model; |
| 537 | } | 538 | } |
| 538 | 539 | ||
| 539 | const turbo0301Tokenizer = 'gpt-3.5-turbo-0301'; | ||
| 540 | const turboTokenizer = 'gpt-3.5-turbo'; | 540 | const turboTokenizer = 'gpt-3.5-turbo'; |
| 541 | const gpt4Tokenizer = 'gpt-4'; | 541 | const gpt4Tokenizer = 'gpt-4'; |
| 542 | const gpt4oTokenizer = 'gpt-4o'; | 542 | const gpt4oTokenizer = 'gpt-4o'; |
| @@ -562,9 +562,6 @@ export function getTokenizerModel() { | |||
| 562 | if (oai_settings.windowai_model.includes('gpt-4')) { | 562 | if (oai_settings.windowai_model.includes('gpt-4')) { |
| 563 | return gpt4Tokenizer; | 563 | return gpt4Tokenizer; |
| 564 | } | 564 | } |
| 565 | else if (oai_settings.windowai_model.includes('gpt-3.5-turbo-0301')) { | ||
| 566 | return turbo0301Tokenizer; | ||
| 567 | } | ||
| 568 | else if (oai_settings.windowai_model.includes('gpt-3.5-turbo')) { | 565 | else if (oai_settings.windowai_model.includes('gpt-3.5-turbo')) { |
| 569 | return turboTokenizer; | 566 | return turboTokenizer; |
| 570 | } | 567 | } |
| @@ -610,9 +607,6 @@ export function getTokenizerModel() { | |||
| 610 | else if (oai_settings.openrouter_model.includes('gpt-4')) { | 607 | else if (oai_settings.openrouter_model.includes('gpt-4')) { |
| 611 | return gpt4Tokenizer; | 608 | return gpt4Tokenizer; |
| 612 | } | 609 | } |
| 613 | else if (oai_settings.openrouter_model.includes('gpt-3.5-turbo-0301')) { | ||
| 614 | return turbo0301Tokenizer; | ||
| 615 | } | ||
| 616 | else if (oai_settings.openrouter_model.includes('gpt-3.5-turbo')) { | 610 | else if (oai_settings.openrouter_model.includes('gpt-3.5-turbo')) { |
| 617 | return turboTokenizer; | 611 | return turboTokenizer; |
| 618 | } | 612 | } |
| @@ -1064,9 +1058,14 @@ function decodeTextTokensFromServer(endpoint, ids, resolve) { | |||
| 1064 | * Encodes a string to tokens using the server API. | 1058 | * Encodes a string to tokens using the server API. |
| 1065 | * @param {number} tokenizerType Tokenizer type. | 1059 | * @param {number} tokenizerType Tokenizer type. |
| 1066 | * @param {string} str String to tokenize. | 1060 | * @param {string} str String to tokenize. |
| 1061 | * @param {string} overrideModel Tokenizer for {tokenizers.MANUAL_SELECTION}. | ||
| 1067 | * @returns {number[]} Array of token ids. | 1062 | * @returns {number[]} Array of token ids. |
| 1068 | */ | 1063 | */ |
| 1069 | export function getTextTokens(tokenizerType, str) { | 1064 | export 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 | } | ||
| 1070 | switch (tokenizerType) { | 1069 | switch (tokenizerType) { |
| 1071 | case tokenizers.API_CURRENT: | 1070 | case tokenizers.API_CURRENT: |
| 1072 | return getTextTokens(currentRemoteTokenizerAPI(), str); | 1071 | return getTextTokens(currentRemoteTokenizerAPI(), str); |
| @@ -1087,6 +1086,9 @@ export function getTextTokens(tokenizerType, str) { | |||
| 1087 | console.warn('This tokenizer type does not support encoding', tokenizerType); | 1086 | console.warn('This tokenizer type does not support encoding', tokenizerType); |
| 1088 | return []; | 1087 | return []; |
| 1089 | } | 1088 | } |
| 1089 | if (tokenizerType === tokenizers.MANUAL_SELECTION) { | ||
| 1090 | endpointUrl += `?model=${overrideModel}`; | ||
| 1091 | } | ||
| 1090 | if (tokenizerType === tokenizers.OPENAI) { | 1092 | if (tokenizerType === tokenizers.OPENAI) { |
| 1091 | endpointUrl += `?model=${getTokenizerModel()}`; | 1093 | endpointUrl += `?model=${getTokenizerModel()}`; |
| 1092 | } | 1094 | } |