forked from open-webui/open-webui
		
	feat: hybrid search and reranking support
This commit is contained in:
		
							parent
							
								
									db801aee79
								
							
						
					
					
						commit
						c0259aad67
					
				
					 10 changed files with 262 additions and 131 deletions
				
			
		|  | @ -123,6 +123,7 @@ export const getQuerySettings = async (token: string) => { | |||
| 
 | ||||
| type QuerySettings = { | ||||
| 	k: number | null; | ||||
| 	r: number | null; | ||||
| 	template: string | null; | ||||
| }; | ||||
| 
 | ||||
|  | @ -473,4 +474,4 @@ export const updateRerankingConfig = async (token: string, payload: RerankingMod | |||
| 	} | ||||
| 
 | ||||
| 	return res; | ||||
| }; | ||||
| }; | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| 	import fileSaver from 'file-saver'; | ||||
| 	const { saveAs } = fileSaver; | ||||
| 
 | ||||
| 	import { chats, user } from '$lib/stores'; | ||||
| 	import { config, chats, user } from '$lib/stores'; | ||||
| 
 | ||||
| 	import { | ||||
| 		createNewChat, | ||||
|  |  | |||
|  | @ -42,6 +42,7 @@ | |||
| 
 | ||||
| 	let querySettings = { | ||||
| 		template: '', | ||||
| 		r: 0.0, | ||||
| 		k: 4 | ||||
| 	}; | ||||
| 
 | ||||
|  | @ -124,7 +125,7 @@ | |||
| 
 | ||||
| 		updateRerankingModelLoading = true; | ||||
| 		const res = await updateRerankingConfig(localStorage.token, { | ||||
| 			reranking_model: rerankingModel, | ||||
| 			reranking_model: rerankingModel | ||||
| 		}).catch(async (error) => { | ||||
| 			toast.error(error); | ||||
| 			await setRerankingConfig(); | ||||
|  | @ -450,6 +451,12 @@ | |||
| 					</div> | ||||
| 				</div> | ||||
| 
 | ||||
| 				<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500"> | ||||
| 					{$i18n.t( | ||||
| 						'Note: If you choose a reranking model, it will use that to score and rerank instead of the embedding model.' | ||||
| 					)} | ||||
| 				</div> | ||||
| 
 | ||||
| 				<hr class=" dark:border-gray-700 my-3" /> | ||||
| 
 | ||||
| 				<div class="  flex w-full justify-between"> | ||||
|  | @ -576,6 +583,26 @@ | |||
| 						</div> | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div class=" flex"> | ||||
| 						<div class="  flex w-full justify-between"> | ||||
| 							<div class="self-center text-xs font-medium flex-1"> | ||||
| 								{$i18n.t('Relevance Threshold')} | ||||
| 							</div> | ||||
| 
 | ||||
| 							<div class="self-center p-3"> | ||||
| 								<input | ||||
| 									class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 									type="number" | ||||
| 									step="0.01" | ||||
| 									placeholder={$i18n.t('Enter Relevance Threshold')} | ||||
| 									bind:value={querySettings.r} | ||||
| 									autocomplete="off" | ||||
| 									min="0.0" | ||||
| 								/> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div> | ||||
| 						<div class=" mb-2.5 text-sm font-medium">{$i18n.t('RAG Template')}</div> | ||||
| 						<textarea | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Steven Kreitzer
						Steven Kreitzer