diff --git a/backend/open_webui/routers/models.py b/backend/open_webui/routers/models.py index e93d8a729d..c417453486 100644 --- a/backend/open_webui/routers/models.py +++ b/backend/open_webui/routers/models.py @@ -512,6 +512,7 @@ async def update_model_by_id( class ModelAccessGrantsForm(BaseModel): id: str + name: Optional[str] = None access_grants: list[dict] @@ -535,7 +536,7 @@ async def update_model_access_by_id( model = Models.insert_new_model( ModelForm( id=form_data.id, - name=form_data.id, + name=form_data.name or form_data.id, meta=ModelMeta(), params=ModelParams(), ), diff --git a/src/lib/apis/models/index.ts b/src/lib/apis/models/index.ts index 42e77c0afa..b6362a5986 100644 --- a/src/lib/apis/models/index.ts +++ b/src/lib/apis/models/index.ts @@ -281,7 +281,7 @@ export const updateModelById = async (token: string, id: string, model: object) return res; }; -export const updateModelAccessGrants = async (token: string, id: string, accessGrants: any[]) => { +export const updateModelAccessGrants = async (token: string, id: string, name: string, accessGrants: any[]) => { let error = null; const res = await fetch(`${WEBUI_API_BASE_URL}/models/model/access/update`, { @@ -291,7 +291,7 @@ export const updateModelAccessGrants = async (token: string, id: string, accessG 'Content-Type': 'application/json', authorization: `Bearer ${token}` }, - body: JSON.stringify({ id, access_grants: accessGrants }) + body: JSON.stringify({ id, name, access_grants: accessGrants }) }) .then(async (res) => { if (!res.ok) throw await res.json(); diff --git a/src/lib/components/workspace/Models/ModelEditor.svelte b/src/lib/components/workspace/Models/ModelEditor.svelte index 904d8d2ce9..760d128db5 100644 --- a/src/lib/components/workspace/Models/ModelEditor.svelte +++ b/src/lib/components/workspace/Models/ModelEditor.svelte @@ -346,7 +346,7 @@ onChange={async () => { if (edit && model?.id) { try { - await updateModelAccessGrants(localStorage.token, model.id, accessGrants); + await updateModelAccessGrants(localStorage.token, model.id, model.name ?? name, accessGrants); toast.success($i18n.t('Saved')); } catch (error) { toast.error(error?.detail ?? `${error}`);