forked from open-webui/open-webui
		
	feat: ollamahub modelfile import
This commit is contained in:
		
							parent
							
								
									6df1b197aa
								
							
						
					
					
						commit
						cbcce68c61
					
				
					 3 changed files with 56 additions and 18 deletions
				
			
		|  | @ -103,7 +103,7 @@ | |||
| 						<a | ||||
| 							class=" w-fit text-sm px-3 py-2 border dark:border-gray-600 rounded-xl" | ||||
| 							type="button" | ||||
| 							href={`/modelfiles/edit/${modelfile.tagName}`} | ||||
| 							href={`/modelfiles/edit?tag=${modelfile.tagName}`} | ||||
| 						> | ||||
| 							Edit</a | ||||
| 						> | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| 
 | ||||
| 	import Advanced from '$lib/components/chat/Settings/Advanced.svelte'; | ||||
| 	import { splitStream } from '$lib/utils'; | ||||
| 	import { onMount, tick } from 'svelte'; | ||||
| 
 | ||||
| 	let loading = false; | ||||
| 
 | ||||
|  | @ -209,6 +210,39 @@ SYSTEM """${system}"""`.replace(/^\s*\n/gm, ''); | |||
| 		loading = false; | ||||
| 		success = false; | ||||
| 	}; | ||||
| 
 | ||||
| 	onMount(() => { | ||||
| 		window.addEventListener('message', async (event) => { | ||||
| 			if ( | ||||
| 				!['https://ollamahub.com', 'https://www.ollamahub.com', 'http://localhost:5173'].includes( | ||||
| 					event.origin | ||||
| 				) | ||||
| 			) | ||||
| 				return; | ||||
| 			const modelfile = JSON.parse(event.data); | ||||
| 			console.log(modelfile); | ||||
| 
 | ||||
| 			imageUrl = modelfile.imageUrl; | ||||
| 			title = modelfile.title; | ||||
| 			await tick(); | ||||
| 			tagName = `${modelfile.user.username}/${modelfile.tagName}`; | ||||
| 			desc = modelfile.desc; | ||||
| 			content = modelfile.content; | ||||
| 			suggestions = | ||||
| 				modelfile.suggestionPrompts.length != 0 | ||||
| 					? modelfile.suggestionPrompts | ||||
| 					: [ | ||||
| 							{ | ||||
| 								content: '' | ||||
| 							} | ||||
| 					  ]; | ||||
| 
 | ||||
| 			for (const category of modelfile.categories) { | ||||
| 				categories[category.toLowerCase()] = true; | ||||
| 			} | ||||
| 		}); | ||||
| 		window.opener.postMessage('loaded', '*'); | ||||
| 	}); | ||||
| </script> | ||||
| 
 | ||||
| <div class="min-h-screen w-full flex justify-center dark:text-white"> | ||||
|  |  | |||
|  | @ -50,27 +50,31 @@ | |||
| 	}; | ||||
| 
 | ||||
| 	onMount(() => { | ||||
| 		tagName = $page.params.tag; | ||||
| 		tagName = $page.url.searchParams.get('tag'); | ||||
| 
 | ||||
| 		modelfile = $modelfiles.filter((modelfile) => modelfile.tagName === tagName)[0]; | ||||
| 		if (tagName) { | ||||
| 			modelfile = $modelfiles.filter((modelfile) => modelfile.tagName === tagName)[0]; | ||||
| 
 | ||||
| 		console.log(modelfile); | ||||
| 			console.log(modelfile); | ||||
| 
 | ||||
| 		imageUrl = modelfile.imageUrl; | ||||
| 		title = modelfile.title; | ||||
| 		desc = modelfile.desc; | ||||
| 		content = modelfile.content; | ||||
| 		suggestions = | ||||
| 			modelfile.suggestionPrompts.length != 0 | ||||
| 				? modelfile.suggestionPrompts | ||||
| 				: [ | ||||
| 						{ | ||||
| 							content: '' | ||||
| 						} | ||||
| 				  ]; | ||||
| 			imageUrl = modelfile.imageUrl; | ||||
| 			title = modelfile.title; | ||||
| 			desc = modelfile.desc; | ||||
| 			content = modelfile.content; | ||||
| 			suggestions = | ||||
| 				modelfile.suggestionPrompts.length != 0 | ||||
| 					? modelfile.suggestionPrompts | ||||
| 					: [ | ||||
| 							{ | ||||
| 								content: '' | ||||
| 							} | ||||
| 					  ]; | ||||
| 
 | ||||
| 		for (const category of modelfile.categories) { | ||||
| 			categories[category.toLowerCase()] = true; | ||||
| 			for (const category of modelfile.categories) { | ||||
| 				categories[category.toLowerCase()] = true; | ||||
| 			} | ||||
| 		} else { | ||||
| 			goto('/modelfiles'); | ||||
| 		} | ||||
| 	}); | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek