forked from open-webui/open-webui
		
	feat: convo tag filtering
This commit is contained in:
		
							parent
							
								
									1eec176313
								
							
						
					
					
						commit
						220530c450
					
				
					 10 changed files with 214 additions and 27 deletions
				
			
		|  | @ -20,7 +20,8 @@ | |||
| 		models, | ||||
| 		modelfiles, | ||||
| 		prompts, | ||||
| 		documents | ||||
| 		documents, | ||||
| 		tags | ||||
| 	} from '$lib/stores'; | ||||
| 	import { REQUIRED_OLLAMA_VERSION, WEBUI_API_BASE_URL } from '$lib/constants'; | ||||
| 
 | ||||
|  | @ -29,6 +30,7 @@ | |||
| 	import { checkVersion } from '$lib/utils'; | ||||
| 	import ShortcutsModal from '$lib/components/chat/ShortcutsModal.svelte'; | ||||
| 	import { getDocs } from '$lib/apis/documents'; | ||||
| 	import { getAllChatTags } from '$lib/apis/chats'; | ||||
| 
 | ||||
| 	let ollamaVersion = ''; | ||||
| 	let loaded = false; | ||||
|  | @ -106,6 +108,7 @@ | |||
| 			await modelfiles.set(await getModelfiles(localStorage.token)); | ||||
| 			await prompts.set(await getPrompts(localStorage.token)); | ||||
| 			await documents.set(await getDocs(localStorage.token)); | ||||
| 			await tags.set(await getAllChatTags(localStorage.token)); | ||||
| 
 | ||||
| 			modelfiles.subscribe(async () => { | ||||
| 				// should fetch models | ||||
|  |  | |||
|  | @ -6,7 +6,16 @@ | |||
| 	import { goto } from '$app/navigation'; | ||||
| 	import { page } from '$app/stores'; | ||||
| 
 | ||||
| 	import { models, modelfiles, user, settings, chats, chatId, config } from '$lib/stores'; | ||||
| 	import { | ||||
| 		models, | ||||
| 		modelfiles, | ||||
| 		user, | ||||
| 		settings, | ||||
| 		chats, | ||||
| 		chatId, | ||||
| 		config, | ||||
| 		tags as _tags | ||||
| 	} from '$lib/stores'; | ||||
| 	import { copyToClipboard, splitStream } from '$lib/utils'; | ||||
| 
 | ||||
| 	import { generateChatCompletion, cancelChatCompletion, generateTitle } from '$lib/apis/ollama'; | ||||
|  | @ -14,6 +23,7 @@ | |||
| 		addTagById, | ||||
| 		createNewChat, | ||||
| 		deleteTagById, | ||||
| 		getAllChatTags, | ||||
| 		getChatList, | ||||
| 		getTagsById, | ||||
| 		updateChatById | ||||
|  | @ -695,6 +705,8 @@ | |||
| 		chat = await updateChatById(localStorage.token, $chatId, { | ||||
| 			tags: tags | ||||
| 		}); | ||||
| 
 | ||||
| 		_tags.set(await getAllChatTags(localStorage.token)); | ||||
| 	}; | ||||
| 
 | ||||
| 	const deleteTag = async (tagName) => { | ||||
|  | @ -704,6 +716,8 @@ | |||
| 		chat = await updateChatById(localStorage.token, $chatId, { | ||||
| 			tags: tags | ||||
| 		}); | ||||
| 
 | ||||
| 		_tags.set(await getAllChatTags(localStorage.token)); | ||||
| 	}; | ||||
| 
 | ||||
| 	const setChatTitle = async (_chatId, _title) => { | ||||
|  |  | |||
|  | @ -6,7 +6,16 @@ | |||
| 	import { goto } from '$app/navigation'; | ||||
| 	import { page } from '$app/stores'; | ||||
| 
 | ||||
| 	import { models, modelfiles, user, settings, chats, chatId, config } from '$lib/stores'; | ||||
| 	import { | ||||
| 		models, | ||||
| 		modelfiles, | ||||
| 		user, | ||||
| 		settings, | ||||
| 		chats, | ||||
| 		chatId, | ||||
| 		config, | ||||
| 		tags as _tags | ||||
| 	} from '$lib/stores'; | ||||
| 	import { copyToClipboard, splitStream, convertMessagesToHistory } from '$lib/utils'; | ||||
| 
 | ||||
| 	import { generateChatCompletion, generateTitle } from '$lib/apis/ollama'; | ||||
|  | @ -14,6 +23,7 @@ | |||
| 		addTagById, | ||||
| 		createNewChat, | ||||
| 		deleteTagById, | ||||
| 		getAllChatTags, | ||||
| 		getChatById, | ||||
| 		getChatList, | ||||
| 		getTagsById, | ||||
|  | @ -709,8 +719,10 @@ | |||
| 		tags = await getTags(); | ||||
| 
 | ||||
| 		chat = await updateChatById(localStorage.token, $chatId, { | ||||
| 			tags: tags.map((tag) => tag.name) | ||||
| 			tags: tags | ||||
| 		}); | ||||
| 
 | ||||
| 		_tags.set(await getAllChatTags(localStorage.token)); | ||||
| 	}; | ||||
| 
 | ||||
| 	const deleteTag = async (tagName) => { | ||||
|  | @ -718,8 +730,10 @@ | |||
| 		tags = await getTags(); | ||||
| 
 | ||||
| 		chat = await updateChatById(localStorage.token, $chatId, { | ||||
| 			tags: tags.map((tag) => tag.name) | ||||
| 			tags: tags | ||||
| 		}); | ||||
| 
 | ||||
| 		_tags.set(await getAllChatTags(localStorage.token)); | ||||
| 	}; | ||||
| 
 | ||||
| 	onMount(async () => { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek