MistralAI: Add new models to the list

This commit is contained in:
Cohee 2024-10-18 20:48:28 +03:00
parent 2cdf53a3dd
commit ff2c71c4ef
4 changed files with 43 additions and 2 deletions

View File

@ -482,3 +482,7 @@ label[for="trim_spaces"]:has(input:checked) i.warning {
gap: 5px;
margin: 10px 0;
}
#mistralai_other_models:empty {
display: none;
}

View File

@ -3012,17 +3012,23 @@
<option value="open-mixtral-8x7b">open-mixtral-8x7b</option>
<option value="open-mixtral-8x22b">open-mixtral-8x22b</option>
<option value="open-codestral-mamba">open-codestral-mamba</option>
<option value="ministral-3b-latest">ministral-3b-latest</option>
<option value="ministral-8b-latest">ministral-8b-latest</option>
<option value="mistral-tiny-latest">mistral-tiny-latest</option>
<option value="mistral-small-latest">mistral-small-latest</option>
<option value="mistral-medium-latest">mistral-medium-latest</option>
<option value="mistral-large-latest">mistral-large-latest</option>
<option value="codestral-latest">codestral-latest</option>
<option value="codestral-mamba-latest">codestral-mamba-latest</option>
<option value="pixtral-latest">pixtral-latest</option>
<option value="pixtral-12b-latest">pixtral-12b-latest</option>
</optgroup>
<optgroup label="Sub-versions">
<option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option>
<option value="open-mixtral-8x22b-2404">open-mixtral-8x22b-2404</option>
<option value="ministral-3b-2410">ministral-3b-2410</option>
<option value="ministral-8b-2410">ministral-8b-2410</option>
<option value="mistral-tiny-2312">mistral-tiny-2312</option>
<option value="mistral-tiny-2407">mistral-tiny-2407</option>
<option value="mistral-small-2312">mistral-small-2312</option>
<option value="mistral-small-2402">mistral-small-2402</option>
<option value="mistral-small-2409">mistral-small-2409</option>
@ -3030,9 +3036,11 @@
<option value="mistral-large-2402">mistral-large-2402</option>
<option value="mistral-large-2407">mistral-large-2407</option>
<option value="codestral-2405">codestral-2405</option>
<option value="codestral-2405-blue">codestral-2405-blue</option>
<option value="codestral-mamba-2407">codestral-mamba-2407</option>
<option value="pixtral-12b-2409">pixtral-12b-2409</option>
</optgroup>
<optgroup id="mistralai_other_models" label="Other"></optgroup>
</select>
</div>
</form>

View File

@ -35,7 +35,7 @@
<div class="flex1 flex-container flexFlowColumn flexNoGap">
<label for="caption_multimodal_model" data-i18n="Model">Model</label>
<select id="caption_multimodal_model" class="flex1 text_pole">
<option data-type="mistral" value="pixtral-latest">pixtral-latest</option>
<option data-type="mistral" value="pixtral-12b-latest">pixtral-12b-latest</option>
<option data-type="mistral" value="pixtral-12b-2409">pixtral-12b-2409</option>
<option data-type="zerooneai" value="yi-vision">yi-vision</option>
<option data-type="openai" value="gpt-4-vision-preview">gpt-4-vision-preview</option>

View File

@ -1609,6 +1609,33 @@ function saveModelList(data) {
$('#model_blockentropy_select').val(oai_settings.blockentropy_model).trigger('change');
}
if (oai_settings.chat_completion_source == chat_completion_sources.MISTRALAI) {
/** @type {HTMLSelectElement} */
const mistralModelSelect = document.querySelector('#model_mistralai_select');
if (mistralModelSelect) {
const options = Array.from(mistralModelSelect.options);
options.forEach((option) => {
const existingModel = model_list.find(model => model.id === option.value);
if (!existingModel) {
option.remove();
}
});
const otherOptionsGroup = mistralModelSelect.querySelector('#mistralai_other_models');
for (const model of model_list.filter(model => model?.capabilities?.completion_chat)) {
if (!options.some(option => option.value === model.id) && otherOptionsGroup) {
otherOptionsGroup.append(new Option(model.id, model.id));
}
}
const selectedModel = model_list.find(model => model.id === oai_settings.mistralai_model);
if (!selectedModel) {
oai_settings.mistralai_model = model_list.find(model => model?.capabilities?.completion_chat)?.id;
$('#model_mistralai_select').val(oai_settings.mistralai_model).trigger('change');
}
}
}
}
function appendOpenRouterOptions(model_list, groupModels = false, sort = false) {
@ -4659,6 +4686,8 @@ export function isImageInliningSupported() {
'chatgpt-4o-latest',
'yi-vision',
'pixtral-latest',
'pixtral-12b-latest',
'pixtral-12b',
'pixtral-12b-2409',
];