forked from open-webui/open-webui
		
	feat: hide litellm by default
This commit is contained in:
		
							parent
							
								
									d99114518c
								
							
						
					
					
						commit
						d40edc09e1
					
				
					 1 changed files with 170 additions and 156 deletions
				
			
		|  | @ -725,177 +725,191 @@ | |||
| 		<div class=" space-y-3"> | ||||
| 			<div class="mt-2 space-y-3 pr-1.5"> | ||||
| 				<div> | ||||
| 					<div class=" mb-2 text-sm font-medium">Manage LiteLLM Models</div> | ||||
| 
 | ||||
| 					<div> | ||||
| 					<div class="mb-2"> | ||||
| 						<div class="flex justify-between items-center text-xs"> | ||||
| 							<div class=" text-sm font-medium">Add a model</div> | ||||
| 							<div class=" text-sm font-medium">Manage LiteLLM Models</div> | ||||
| 							<button | ||||
| 								class=" text-xs font-medium text-gray-500" | ||||
| 								type="button" | ||||
| 								on:click={() => { | ||||
| 									showLiteLLMParams = !showLiteLLMParams; | ||||
| 								}}>{showLiteLLMParams ? 'Hide Additional Params' : 'Show Additional Params'}</button | ||||
| 									showLiteLLM = !showLiteLLM; | ||||
| 								}}>{showLiteLLM ? 'Hide' : 'Show'}</button | ||||
| 							> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div class="my-2 space-y-2"> | ||||
| 						<div class="flex w-full mb-1.5"> | ||||
| 							<div class="flex-1 mr-2"> | ||||
| 								<input | ||||
| 									class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 									placeholder="Enter LiteLLM Model (litellm_params.model)" | ||||
| 									bind:value={liteLLMModel} | ||||
| 									autocomplete="off" | ||||
| 								/> | ||||
| 							</div> | ||||
| 
 | ||||
| 							<button | ||||
| 								class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition" | ||||
| 								on:click={() => { | ||||
| 									addLiteLLMModelHandler(); | ||||
| 								}} | ||||
| 							> | ||||
| 								<svg | ||||
| 									xmlns="http://www.w3.org/2000/svg" | ||||
| 									viewBox="0 0 16 16" | ||||
| 									fill="currentColor" | ||||
| 									class="w-4 h-4" | ||||
| 					{#if showLiteLLM} | ||||
| 						<div> | ||||
| 							<div class="flex justify-between items-center text-xs"> | ||||
| 								<div class=" text-sm font-medium">Add a model</div> | ||||
| 								<button | ||||
| 									class=" text-xs font-medium text-gray-500" | ||||
| 									type="button" | ||||
| 									on:click={() => { | ||||
| 										showLiteLLMParams = !showLiteLLMParams; | ||||
| 									}} | ||||
| 									>{showLiteLLMParams ? 'Hide Additional Params' : 'Show Additional Params'}</button | ||||
| 								> | ||||
| 									<path | ||||
| 										d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" | ||||
| 							</div> | ||||
| 						</div> | ||||
| 
 | ||||
| 						<div class="my-2 space-y-2"> | ||||
| 							<div class="flex w-full mb-1.5"> | ||||
| 								<div class="flex-1 mr-2"> | ||||
| 									<input | ||||
| 										class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 										placeholder="Enter LiteLLM Model (litellm_params.model)" | ||||
| 										bind:value={liteLLMModel} | ||||
| 										autocomplete="off" | ||||
| 									/> | ||||
| 								</svg> | ||||
| 							</button> | ||||
| 								</div> | ||||
| 
 | ||||
| 								<button | ||||
| 									class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition" | ||||
| 									on:click={() => { | ||||
| 										addLiteLLMModelHandler(); | ||||
| 									}} | ||||
| 								> | ||||
| 									<svg | ||||
| 										xmlns="http://www.w3.org/2000/svg" | ||||
| 										viewBox="0 0 16 16" | ||||
| 										fill="currentColor" | ||||
| 										class="w-4 h-4" | ||||
| 									> | ||||
| 										<path | ||||
| 											d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" | ||||
| 										/> | ||||
| 									</svg> | ||||
| 								</button> | ||||
| 							</div> | ||||
| 
 | ||||
| 							{#if showLiteLLMParams} | ||||
| 								<div> | ||||
| 									<div class=" mb-1.5 text-sm font-medium">Model Name</div> | ||||
| 									<div class="flex w-full"> | ||||
| 										<div class="flex-1"> | ||||
| 											<input | ||||
| 												class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 												placeholder="Enter Model Name (model_name)" | ||||
| 												bind:value={liteLLMModelName} | ||||
| 												autocomplete="off" | ||||
| 											/> | ||||
| 										</div> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 
 | ||||
| 								<div> | ||||
| 									<div class=" mb-1.5 text-sm font-medium">API Base URL</div> | ||||
| 									<div class="flex w-full"> | ||||
| 										<div class="flex-1"> | ||||
| 											<input | ||||
| 												class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 												placeholder="Enter LiteLLM API Base URL (litellm_params.api_base)" | ||||
| 												bind:value={liteLLMAPIBase} | ||||
| 												autocomplete="off" | ||||
| 											/> | ||||
| 										</div> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 
 | ||||
| 								<div> | ||||
| 									<div class=" mb-1.5 text-sm font-medium">API Key</div> | ||||
| 									<div class="flex w-full"> | ||||
| 										<div class="flex-1"> | ||||
| 											<input | ||||
| 												class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 												placeholder="Enter LiteLLM API Key (litellm_params.api_key)" | ||||
| 												bind:value={liteLLMAPIKey} | ||||
| 												autocomplete="off" | ||||
| 											/> | ||||
| 										</div> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 
 | ||||
| 								<div> | ||||
| 									<div class="mb-1.5 text-sm font-medium">API RPM</div> | ||||
| 									<div class="flex w-full"> | ||||
| 										<div class="flex-1"> | ||||
| 											<input | ||||
| 												class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 												placeholder="Enter LiteLLM API RPM (litellm_params.rpm)" | ||||
| 												bind:value={liteLLMRPM} | ||||
| 												autocomplete="off" | ||||
| 											/> | ||||
| 										</div> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 
 | ||||
| 								<div> | ||||
| 									<div class="mb-1.5 text-sm font-medium">Max Tokens</div> | ||||
| 									<div class="flex w-full"> | ||||
| 										<div class="flex-1"> | ||||
| 											<input | ||||
| 												class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 												placeholder="Enter Max Tokens (litellm_params.max_tokens)" | ||||
| 												bind:value={liteLLMMaxTokens} | ||||
| 												type="number" | ||||
| 												min="1" | ||||
| 												autocomplete="off" | ||||
| 											/> | ||||
| 										</div> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							{/if} | ||||
| 						</div> | ||||
| 
 | ||||
| 						{#if showLiteLLMParams} | ||||
| 							<div> | ||||
| 								<div class=" mb-1.5 text-sm font-medium">Model Name</div> | ||||
| 								<div class="flex w-full"> | ||||
| 									<div class="flex-1"> | ||||
| 										<input | ||||
| 											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 											placeholder="Enter Model Name (model_name)" | ||||
| 											bind:value={liteLLMModelName} | ||||
| 											autocomplete="off" | ||||
| 										/> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 
 | ||||
| 							<div> | ||||
| 								<div class=" mb-1.5 text-sm font-medium">API Base URL</div> | ||||
| 								<div class="flex w-full"> | ||||
| 									<div class="flex-1"> | ||||
| 										<input | ||||
| 											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 											placeholder="Enter LiteLLM API Base URL (litellm_params.api_base)" | ||||
| 											bind:value={liteLLMAPIBase} | ||||
| 											autocomplete="off" | ||||
| 										/> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 
 | ||||
| 							<div> | ||||
| 								<div class=" mb-1.5 text-sm font-medium">API Key</div> | ||||
| 								<div class="flex w-full"> | ||||
| 									<div class="flex-1"> | ||||
| 										<input | ||||
| 											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 											placeholder="Enter LiteLLM API Key (litellm_params.api_key)" | ||||
| 											bind:value={liteLLMAPIKey} | ||||
| 											autocomplete="off" | ||||
| 										/> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 
 | ||||
| 							<div> | ||||
| 								<div class="mb-1.5 text-sm font-medium">API RPM</div> | ||||
| 								<div class="flex w-full"> | ||||
| 									<div class="flex-1"> | ||||
| 										<input | ||||
| 											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 											placeholder="Enter LiteLLM API RPM (litellm_params.rpm)" | ||||
| 											bind:value={liteLLMRPM} | ||||
| 											autocomplete="off" | ||||
| 										/> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 
 | ||||
| 							<div> | ||||
| 								<div class="mb-1.5 text-sm font-medium">Max Tokens</div> | ||||
| 								<div class="flex w-full"> | ||||
| 									<div class="flex-1"> | ||||
| 										<input | ||||
| 											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 											placeholder="Enter Max Tokens (litellm_params.max_tokens)" | ||||
| 											bind:value={liteLLMMaxTokens} | ||||
| 											type="number" | ||||
| 											min="1" | ||||
| 											autocomplete="off" | ||||
| 										/> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 						{/if} | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div class="mb-2 text-xs text-gray-400 dark:text-gray-500"> | ||||
| 						Not sure what to add? | ||||
| 						<a | ||||
| 							class=" text-gray-300 font-medium underline" | ||||
| 							href="https://litellm.vercel.app/docs/proxy/configs#quick-start" | ||||
| 							target="_blank" | ||||
| 						> | ||||
| 							Click here for help. | ||||
| 						</a> | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div> | ||||
| 						<div class=" mb-2.5 text-sm font-medium">Delete a model</div> | ||||
| 						<div class="flex w-full"> | ||||
| 							<div class="flex-1 mr-2"> | ||||
| 								<select | ||||
| 									class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 									bind:value={deleteLiteLLMModelId} | ||||
| 									placeholder="Select a model" | ||||
| 								> | ||||
| 									{#if !deleteLiteLLMModelId} | ||||
| 										<option value="" disabled selected>Select a model</option> | ||||
| 									{/if} | ||||
| 									{#each liteLLMModelInfo as model} | ||||
| 										<option value={model.model_info.id} class="bg-gray-100 dark:bg-gray-700" | ||||
| 											>{model.model_name}</option | ||||
| 										> | ||||
| 									{/each} | ||||
| 								</select> | ||||
| 							</div> | ||||
| 							<button | ||||
| 								class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition" | ||||
| 								on:click={() => { | ||||
| 									deleteLiteLLMModelHandler(); | ||||
| 								}} | ||||
| 						<div class="mb-2 text-xs text-gray-400 dark:text-gray-500"> | ||||
| 							Not sure what to add? | ||||
| 							<a | ||||
| 								class=" text-gray-300 font-medium underline" | ||||
| 								href="https://litellm.vercel.app/docs/proxy/configs#quick-start" | ||||
| 								target="_blank" | ||||
| 							> | ||||
| 								<svg | ||||
| 									xmlns="http://www.w3.org/2000/svg" | ||||
| 									viewBox="0 0 16 16" | ||||
| 									fill="currentColor" | ||||
| 									class="w-4 h-4" | ||||
| 								> | ||||
| 									<path | ||||
| 										fill-rule="evenodd" | ||||
| 										d="M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z" | ||||
| 										clip-rule="evenodd" | ||||
| 									/> | ||||
| 								</svg> | ||||
| 							</button> | ||||
| 								Click here for help. | ||||
| 							</a> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 
 | ||||
| 						<div> | ||||
| 							<div class=" mb-2.5 text-sm font-medium">Delete a model</div> | ||||
| 							<div class="flex w-full"> | ||||
| 								<div class="flex-1 mr-2"> | ||||
| 									<select | ||||
| 										class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none" | ||||
| 										bind:value={deleteLiteLLMModelId} | ||||
| 										placeholder="Select a model" | ||||
| 									> | ||||
| 										{#if !deleteLiteLLMModelId} | ||||
| 											<option value="" disabled selected>Select a model</option> | ||||
| 										{/if} | ||||
| 										{#each liteLLMModelInfo as model} | ||||
| 											<option value={model.model_info.id} class="bg-gray-100 dark:bg-gray-700" | ||||
| 												>{model.model_name}</option | ||||
| 											> | ||||
| 										{/each} | ||||
| 									</select> | ||||
| 								</div> | ||||
| 								<button | ||||
| 									class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition" | ||||
| 									on:click={() => { | ||||
| 										deleteLiteLLMModelHandler(); | ||||
| 									}} | ||||
| 								> | ||||
| 									<svg | ||||
| 										xmlns="http://www.w3.org/2000/svg" | ||||
| 										viewBox="0 0 16 16" | ||||
| 										fill="currentColor" | ||||
| 										class="w-4 h-4" | ||||
| 									> | ||||
| 										<path | ||||
| 											fill-rule="evenodd" | ||||
| 											d="M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z" | ||||
| 											clip-rule="evenodd" | ||||
| 										/> | ||||
| 									</svg> | ||||
| 								</button> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 					{/if} | ||||
| 				</div> | ||||
| 			</div> | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek