MistralAI: Add new models to the list
| @@ -482,3 +482,7 @@ label[for="trim_spaces"]:has(input:checked) i.warning { | ||
| 482 | 482 | gap: 5px; |
| 483 | 483 | margin: 10px 0; |
| 484 | 484 | } |
| 485 | + | |
| 486 | +#mistralai_other_models:empty { | |
| 487 | + display: none; | |
| 488 | +} | |
| @@ -3012,17 +3012,23 @@ | ||
| 3012 | 3012 | <option value="open-mixtral-8x7b">open-mixtral-8x7b</option> |
| 3013 | 3013 | <option value="open-mixtral-8x22b">open-mixtral-8x22b</option> |
| 3014 | 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 | 3018 | <option value="mistral-small-latest">mistral-small-latest</option> |
| 3016 | 3019 | <option value="mistral-medium-latest">mistral-medium-latest</option> |
| 3017 | 3020 | <option value="mistral-large-latest">mistral-large-latest</option> |
| 3018 | 3021 | <option value="codestral-latest">codestral-latest</option> |
| 3019 | 3022 | <option value="codestral-mamba-latest">codestral-mamba-latest</option> |
| 3020 | 3023 | <option value="pixtral-12b-latest">pixtral-12b-latest</option> |
| 3021 | 3024 | </optgroup> |
| 3022 | 3025 | <optgroup label="Sub-versions"> |
| 3023 | 3026 | <option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option> |
| 3024 | 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 | 3030 | <option value="mistral-tiny-2312">mistral-tiny-2312</option> |
| 3031 | + <option value="mistral-tiny-2407">mistral-tiny-2407</option> | |
| 3026 | 3032 | <option value="mistral-small-2312">mistral-small-2312</option> |
| 3027 | 3033 | <option value="mistral-small-2402">mistral-small-2402</option> |
| 3028 | 3034 | <option value="mistral-small-2409">mistral-small-2409</option> |
| @@ -3030,9 +3036,11 @@ | ||
| 3030 | 3036 | <option value="mistral-large-2402">mistral-large-2402</option> |
| 3031 | 3037 | <option value="mistral-large-2407">mistral-large-2407</option> |
| 3032 | 3038 | <option value="codestral-2405">codestral-2405</option> |
| 3039 | + <option value="codestral-2405-blue">codestral-2405-blue</option> | |
| 3033 | 3040 | <option value="codestral-mamba-2407">codestral-mamba-2407</option> |
| 3034 | 3041 | <option value="pixtral-12b-2409">pixtral-12b-2409</option> |
| 3035 | 3042 | </optgroup> |
| 3043 | + <optgroup id="mistralai_other_models" label="Other"></optgroup> | |
| 3036 | 3044 | </select> |
| 3037 | 3045 | </div> |
| 3038 | 3046 | </form> |
| @@ -35,7 +35,7 @@ | ||
| 35 | 35 | <div class="flex1 flex-container flexFlowColumn flexNoGap"> |
| 36 | 36 | <label for="caption_multimodal_model" data-i18n="Model">Model</label> |
| 37 | 37 | <select id="caption_multimodal_model" class="flex1 text_pole"> |
| 38 | 38 | <option data-type="mistral" value="pixtral-12b-latest">pixtral-12b-latest</option> |
| 39 | 39 | <option data-type="mistral" value="pixtral-12b-2409">pixtral-12b-2409</option> |
| 40 | 40 | <option data-type="zerooneai" value="yi-vision">yi-vision</option> |
| 41 | 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 | 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 | 1641 | function appendOpenRouterOptions(model_list, groupModels = false, sort = false) { |
| @@ -4659,6 +4686,8 @@ export function isImageInliningSupported() { | ||
| 4659 | 4686 | 'chatgpt-4o-latest', |
| 4660 | 4687 | 'yi-vision', |
| 4661 | 4688 | 'pixtral-latest', |
| 4689 | + 'pixtral-12b-latest', | |
| 4690 | + 'pixtral-12b', | |
| 4662 | 4691 | 'pixtral-12b-2409', |
| 4663 | 4692 | ]; |
| 4664 | 4693 | |