mirror of
				https://github.com/open-webui/open-webui
				synced 2025-06-26 18:26:48 +00:00 
			
		
		
		
	feat: set default models globally
This commit is contained in:
		
							parent
							
								
									5719bcad1f
								
							
						
					
					
						commit
						dfde45d365
					
				@ -4,7 +4,7 @@ export const setDefaultModels = async (token: string, models: string) => {
 | 
				
			|||||||
	let error = null;
 | 
						let error = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const res = await fetch(`${WEBUI_API_BASE_URL}/configs/default/models`, {
 | 
						const res = await fetch(`${WEBUI_API_BASE_URL}/configs/default/models`, {
 | 
				
			||||||
		method: 'GET',
 | 
							method: 'POST',
 | 
				
			||||||
		headers: {
 | 
							headers: {
 | 
				
			||||||
			'Content-Type': 'application/json',
 | 
								'Content-Type': 'application/json',
 | 
				
			||||||
			Authorization: `Bearer ${token}`
 | 
								Authorization: `Bearer ${token}`
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,13 @@
 | 
				
			|||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
	import { models, showSettings, settings } from '$lib/stores';
 | 
						import { setDefaultModels } from '$lib/apis/configs';
 | 
				
			||||||
 | 
						import { models, showSettings, settings, user } from '$lib/stores';
 | 
				
			||||||
	import { onMount, tick } from 'svelte';
 | 
						import { onMount, tick } from 'svelte';
 | 
				
			||||||
	import toast from 'svelte-french-toast';
 | 
						import toast from 'svelte-french-toast';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	export let selectedModels = [''];
 | 
						export let selectedModels = [''];
 | 
				
			||||||
	export let disabled = false;
 | 
						export let disabled = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const saveDefaultModel = () => {
 | 
						const saveDefaultModel = async () => {
 | 
				
			||||||
		const hasEmptyModel = selectedModels.filter((it) => it === '');
 | 
							const hasEmptyModel = selectedModels.filter((it) => it === '');
 | 
				
			||||||
		if (hasEmptyModel.length) {
 | 
							if (hasEmptyModel.length) {
 | 
				
			||||||
			toast.error('Choose a model before saving...');
 | 
								toast.error('Choose a model before saving...');
 | 
				
			||||||
@ -14,6 +15,11 @@
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		settings.set({ ...$settings, models: selectedModels });
 | 
							settings.set({ ...$settings, models: selectedModels });
 | 
				
			||||||
		localStorage.setItem('settings', JSON.stringify($settings));
 | 
							localStorage.setItem('settings', JSON.stringify($settings));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if ($user.role === 'admin') {
 | 
				
			||||||
 | 
								console.log('admin');
 | 
				
			||||||
 | 
								await setDefaultModels(localStorage.token, selectedModels.join(','));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		toast.success('Default model updated');
 | 
							toast.success('Default model updated');
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user