MistralAI: Add new models to the list
| @@ -482,3 +482,7 @@ label[for="trim_spaces"]:has(input:checked) i.warning { | |||
| 482 | gap: 5px; | 482 | gap: 5px; |
| 483 | margin: 10px 0; | 483 | margin: 10px 0; |
| 484 | } | 484 | } |
| 485 | |||
| 486 | #mistralai_other_models:empty { | ||
| 487 | display: none; | ||
| 488 | } | ||
| @@ -3012,17 +3012,23 @@ | |||
| 3012 | <option value="open-mixtral-8x7b">open-mixtral-8x7b</option> | 3012 | <option value="open-mixtral-8x7b">open-mixtral-8x7b</option> |
| 3013 | <option value="open-mixtral-8x22b">open-mixtral-8x22b</option> | 3013 | <option value="open-mixtral-8x22b">open-mixtral-8x22b</option> |
| 3014 | <option value="open-codestral-mamba">open-codestral-mamba</option> | 3014 | <option value="open-codestral-mamba">open-codestral-mamba</option> |
| 3015 | <option value="ministral-3b-latest">ministral-3b-latest</option> | ||
| 3016 | <option value="ministral-8b-latest">ministral-8b-latest</option> | ||
| 3017 | <option value="mistral-tiny-latest">mistral-tiny-latest</option> | ||
| 3015 | <option value="mistral-small-latest">mistral-small-latest</option> | 3018 | <option value="mistral-small-latest">mistral-small-latest</option> |
| 3016 | <option value="mistral-medium-latest">mistral-medium-latest</option> | 3019 | <option value="mistral-medium-latest">mistral-medium-latest</option> |
| 3017 | <option value="mistral-large-latest">mistral-large-latest</option> | 3020 | <option value="mistral-large-latest">mistral-large-latest</option> |
| 3018 | <option value="codestral-latest">codestral-latest</option> | 3021 | <option value="codestral-latest">codestral-latest</option> |
| 3019 | <option value="codestral-mamba-latest">codestral-mamba-latest</option> | 3022 | <option value="codestral-mamba-latest">codestral-mamba-latest</option> |
| 3020 | <option value="pixtral-latest">pixtral-latest</option> | 3023 | <option value="pixtral-12b-latest">pixtral-12b-latest</option> |
| 3021 | </optgroup> | 3024 | </optgroup> |
| 3022 | <optgroup label="Sub-versions"> | 3025 | <optgroup label="Sub-versions"> |
| 3023 | <option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option> | 3026 | <option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option> |
| 3024 | <option value="open-mixtral-8x22b-2404">open-mixtral-8x22b-2404</option> | 3027 | <option value="open-mixtral-8x22b-2404">open-mixtral-8x22b-2404</option> |
| 3028 | <option value="ministral-3b-2410">ministral-3b-2410</option> | ||
| 3029 | <option value="ministral-8b-2410">ministral-8b-2410</option> | ||
| 3025 | <option value="mistral-tiny-2312">mistral-tiny-2312</option> | 3030 | <option value="mistral-tiny-2312">mistral-tiny-2312</option> |
| 3031 | <option value="mistral-tiny-2407">mistral-tiny-2407</option> | ||
| 3026 | <option value="mistral-small-2312">mistral-small-2312</option> | 3032 | <option value="mistral-small-2312">mistral-small-2312</option> |
| 3027 | <option value="mistral-small-2402">mistral-small-2402</option> | 3033 | <option value="mistral-small-2402">mistral-small-2402</option> |
| 3028 | <option value="mistral-small-2409">mistral-small-2409</option> | 3034 | <option value="mistral-small-2409">mistral-small-2409</option> |
| @@ -3030,9 +3036,11 @@ | |||
| 3030 | <option value="mistral-large-2402">mistral-large-2402</option> | 3036 | <option value="mistral-large-2402">mistral-large-2402</option> |
| 3031 | <option value="mistral-large-2407">mistral-large-2407</option> | 3037 | <option value="mistral-large-2407">mistral-large-2407</option> |
| 3032 | <option value="codestral-2405">codestral-2405</option> | 3038 | <option value="codestral-2405">codestral-2405</option> |
| 3039 | <option value="codestral-2405-blue">codestral-2405-blue</option> | ||
| 3033 | <option value="codestral-mamba-2407">codestral-mamba-2407</option> | 3040 | <option value="codestral-mamba-2407">codestral-mamba-2407</option> |
| 3034 | <option value="pixtral-12b-2409">pixtral-12b-2409</option> | 3041 | <option value="pixtral-12b-2409">pixtral-12b-2409</option> |
| 3035 | </optgroup> | 3042 | </optgroup> |
| 3043 | <optgroup id="mistralai_other_models" label="Other"></optgroup> | ||
| 3036 | </select> | 3044 | </select> |
| 3037 | </div> | 3045 | </div> |
| 3038 | </form> | 3046 | </form> |
| @@ -35,7 +35,7 @@ | |||
| 35 | <div class="flex1 flex-container flexFlowColumn flexNoGap"> | 35 | <div class="flex1 flex-container flexFlowColumn flexNoGap"> |
| 36 | <label for="caption_multimodal_model" data-i18n="Model">Model</label> | 36 | <label for="caption_multimodal_model" data-i18n="Model">Model</label> |
| 37 | <select id="caption_multimodal_model" class="flex1 text_pole"> | 37 | <select id="caption_multimodal_model" class="flex1 text_pole"> |
| 38 | <option data-type="mistral" value="pixtral-latest">pixtral-latest</option> | 38 | <option data-type="mistral" value="pixtral-12b-latest">pixtral-12b-latest</option> |
| 39 | <option data-type="mistral" value="pixtral-12b-2409">pixtral-12b-2409</option> | 39 | <option data-type="mistral" value="pixtral-12b-2409">pixtral-12b-2409</option> |
| 40 | <option data-type="zerooneai" value="yi-vision">yi-vision</option> | 40 | <option data-type="zerooneai" value="yi-vision">yi-vision</option> |
| 41 | <option data-type="openai" value="gpt-4-vision-preview">gpt-4-vision-preview</option> | 41 | <option data-type="openai" value="gpt-4-vision-preview">gpt-4-vision-preview</option> |
| @@ -1609,6 +1609,33 @@ function saveModelList(data) { | |||
| 1609 | 1609 | ||
| 1610 | $('#model_blockentropy_select').val(oai_settings.blockentropy_model).trigger('change'); | 1610 | $('#model_blockentropy_select').val(oai_settings.blockentropy_model).trigger('change'); |
| 1611 | } | 1611 | } |
| 1612 | |||
| 1613 | if (oai_settings.chat_completion_source == chat_completion_sources.MISTRALAI) { | ||
| 1614 | /** @type {HTMLSelectElement} */ | ||
| 1615 | const mistralModelSelect = document.querySelector('#model_mistralai_select'); | ||
| 1616 | if (mistralModelSelect) { | ||
| 1617 | const options = Array.from(mistralModelSelect.options); | ||
| 1618 | options.forEach((option) => { | ||
| 1619 | const existingModel = model_list.find(model => model.id === option.value); | ||
| 1620 | if (!existingModel) { | ||
| 1621 | option.remove(); | ||
| 1622 | } | ||
| 1623 | }); | ||
| 1624 | |||
| 1625 | const otherOptionsGroup = mistralModelSelect.querySelector('#mistralai_other_models'); | ||
| 1626 | for (const model of model_list.filter(model => model?.capabilities?.completion_chat)) { | ||
| 1627 | if (!options.some(option => option.value === model.id) && otherOptionsGroup) { | ||
| 1628 | otherOptionsGroup.append(new Option(model.id, model.id)); | ||
| 1629 | } | ||
| 1630 | } | ||
| 1631 | |||
| 1632 | const selectedModel = model_list.find(model => model.id === oai_settings.mistralai_model); | ||
| 1633 | if (!selectedModel) { | ||
| 1634 | oai_settings.mistralai_model = model_list.find(model => model?.capabilities?.completion_chat)?.id; | ||
| 1635 | $('#model_mistralai_select').val(oai_settings.mistralai_model).trigger('change'); | ||
| 1636 | } | ||
| 1637 | } | ||
| 1638 | } | ||
| 1612 | } | 1639 | } |
| 1613 | 1640 | ||
| 1614 | function appendOpenRouterOptions(model_list, groupModels = false, sort = false) { | 1641 | function appendOpenRouterOptions(model_list, groupModels = false, sort = false) { |
| @@ -4659,6 +4686,8 @@ export function isImageInliningSupported() { | |||
| 4659 | 'chatgpt-4o-latest', | 4686 | 'chatgpt-4o-latest', |
| 4660 | 'yi-vision', | 4687 | 'yi-vision', |
| 4661 | 'pixtral-latest', | 4688 | 'pixtral-latest', |
| 4689 | 'pixtral-12b-latest', | ||
| 4690 | 'pixtral-12b', | ||
| 4662 | 'pixtral-12b-2409', | 4691 | 'pixtral-12b-2409', |
| 4663 | ]; | 4692 | ]; |
| 4664 | 4693 | ||