mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
refac: model selection
This commit is contained in:
parent
18d6311951
commit
05b79ce221
@ -685,10 +685,16 @@
|
||||
//////////////////////////
|
||||
|
||||
const initNewChat = async () => {
|
||||
if ($page.url.searchParams.get('models')) {
|
||||
selectedModels = $page.url.searchParams.get('models')?.split(',');
|
||||
} else if ($page.url.searchParams.get('model')) {
|
||||
const urlModels = $page.url.searchParams.get('model')?.split(',');
|
||||
const availableModels = $models
|
||||
.filter((m) => !(m?.info?.meta?.hidden ?? false))
|
||||
.map((m) => m.id);
|
||||
|
||||
if ($page.url.searchParams.get('models') || $page.url.searchParams.get('model')) {
|
||||
const urlModels = (
|
||||
$page.url.searchParams.get('models') ||
|
||||
$page.url.searchParams.get('model') ||
|
||||
''
|
||||
)?.split(',');
|
||||
|
||||
if (urlModels.length === 1) {
|
||||
const m = $models.find((m) => m.id === urlModels[0]);
|
||||
@ -711,6 +717,10 @@
|
||||
} else {
|
||||
selectedModels = urlModels;
|
||||
}
|
||||
|
||||
selectedModels = selectedModels.filter((modelId) =>
|
||||
$models.map((m) => m.id).includes(modelId)
|
||||
);
|
||||
} else {
|
||||
if (sessionStorage.selectedModels) {
|
||||
selectedModels = JSON.parse(sessionStorage.selectedModels);
|
||||
@ -723,12 +733,12 @@
|
||||
selectedModels = $config?.default_models.split(',');
|
||||
}
|
||||
}
|
||||
selectedModels = selectedModels.filter((modelId) => availableModels.includes(modelId));
|
||||
}
|
||||
|
||||
selectedModels = selectedModels.filter((modelId) => $models.map((m) => m.id).includes(modelId));
|
||||
if (selectedModels.length === 0 || (selectedModels.length === 1 && selectedModels[0] === '')) {
|
||||
if ($models.length > 0) {
|
||||
selectedModels = [$models[0].id];
|
||||
if (availableModels.length > 0) {
|
||||
selectedModels = [availableModels?.at(0) ?? ''];
|
||||
} else {
|
||||
selectedModels = [''];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user