mirror of
				https://github.com/KoboldAI/KoboldAI-Client.git
				synced 2025-06-05 21:59:24 +02:00 
			
		
		
		
	Initial UI based model loading. Includes all parameters except breakmodel chunks, engine # for OAI, and url for ngrok url for google colab
This commit is contained in:
		
							
								
								
									
										1965
									
								
								aiserver.py
									
									
									
									
									
								
							
							
						
						
									
										1965
									
								
								aiserver.py
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -7,6 +7,7 @@ var socket; | ||||
|  | ||||
| // UI references for jQuery | ||||
| var connect_status; | ||||
| var button_loadmodel; | ||||
| var button_newgame; | ||||
| var button_rndgame; | ||||
| var button_save; | ||||
| @@ -55,6 +56,7 @@ var savepins; | ||||
| var topic; | ||||
| var saveas_accept; | ||||
| var saveas_close; | ||||
| var loadmodelpopup; | ||||
| var loadpopup; | ||||
| var	loadcontent; | ||||
| var	load_accept; | ||||
| @@ -890,6 +892,17 @@ function sendSaveAsRequest() { | ||||
| 	socket.send({'cmd': 'saveasrequest', 'data': {"name": saveasinput.val(), "pins": savepins.val()}}); | ||||
| } | ||||
|  | ||||
| function showLoadModelPopup() { | ||||
| 	loadmodelpopup.removeClass("hidden"); | ||||
| 	loadmodelpopup.addClass("flex"); | ||||
| } | ||||
|  | ||||
| function hideLoadModelPopup() { | ||||
| 	loadmodelpopup.removeClass("flex"); | ||||
| 	loadmodelpopup.addClass("hidden"); | ||||
| 	loadmodelcontent.html(""); | ||||
| } | ||||
|  | ||||
| function showLoadPopup() { | ||||
| 	loadpopup.removeClass("hidden"); | ||||
| 	loadpopup.addClass("flex"); | ||||
| @@ -923,6 +936,46 @@ function hideUSPopup() { | ||||
| 	spcontent.html(""); | ||||
| } | ||||
|  | ||||
|  | ||||
| function buildLoadModelList(ar) { | ||||
| 	disableButtons([load_model_accept]); | ||||
| 	loadmodelcontent.html(""); | ||||
| 	var i; | ||||
| 	for(i=0; i<ar.length; i++) { | ||||
| 		var html | ||||
| 		html = "<div class=\"flex\">\ | ||||
| 			<div class=\"loadlistpadding\"></div>" | ||||
| 		if(ar[i][3]) { | ||||
| 			html = html + "<span class=\"loadlisticon loadmodellisticon-folder oi oi-folder allowed\"  aria-hidden=\"true\"></span>" | ||||
| 		} else { | ||||
| 			html = html + "<div class=\"loadlistpadding\"></div>" | ||||
| 		} | ||||
| 		html = html + "<div class=\"loadlistpadding\"></div>\ | ||||
| 						<div class=\"loadlistitem\" id=\"loadmodel"+i+"\" name=\""+ar[i][1]+"\">\ | ||||
| 							<div>"+ar[i][0]+"</div>\ | ||||
| 							<div class=\"flex-push-right\">"+ar[i][2]+"</div>\ | ||||
| 						</div>\ | ||||
| 					</div>" | ||||
| 		loadmodelcontent.append(html); | ||||
| 		if(ar[i][3]) { | ||||
| 			$("#loadmodel"+i).off("click").on("click", (function () { | ||||
| 				return function () { | ||||
| 					socket.send({'cmd': 'list_model', 'data': $(this).attr("name")}); | ||||
| 					disableButtons([load_model_accept]); | ||||
| 				} | ||||
| 			})(i)); | ||||
| 		} else { | ||||
| 			$("#loadmodel"+i).off("click").on("click", (function () { | ||||
| 				return function () { | ||||
| 					socket.send({'cmd': 'selectmodel', 'data': $(this).attr("name")}); | ||||
| 					highlightLoadLine($(this)); | ||||
| 					enableButtons([load_model_accept]); | ||||
| 				} | ||||
| 			})(i)); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| function buildLoadList(ar) { | ||||
| 	disableButtons([load_accept]); | ||||
| 	loadcontent.html(""); | ||||
| @@ -1771,6 +1824,7 @@ $(document).ready(function(){ | ||||
| 	 | ||||
| 	// Bind UI references | ||||
| 	connect_status    = $('#connectstatus'); | ||||
| 	button_loadmodel  = $('#btn_loadmodel'); | ||||
| 	button_newgame    = $('#btn_newgame'); | ||||
| 	button_rndgame    = $('#btn_rndgame'); | ||||
| 	button_save       = $('#btn_save'); | ||||
| @@ -1823,9 +1877,13 @@ $(document).ready(function(){ | ||||
| 	saveas_accept     = $("#btn_saveasaccept"); | ||||
| 	saveas_close      = $("#btn_saveasclose"); | ||||
| 	loadpopup         = $("#loadcontainer"); | ||||
| 	loadmodelpopup    = $("#loadmodelcontainer"); | ||||
| 	loadcontent       = $("#loadlistcontent"); | ||||
| 	loadmodelcontent  = $("#loadmodellistcontent"); | ||||
| 	load_accept       = $("#btn_loadaccept"); | ||||
| 	load_close        = $("#btn_loadclose"); | ||||
| 	load_model_accept = $("#btn_loadmodelaccept"); | ||||
| 	load_model_close  = $("#btn_loadmodelclose"); | ||||
| 	sppopup           = $("#spcontainer"); | ||||
| 	spcontent         = $("#splistcontent"); | ||||
| 	sp_accept         = $("#btn_spaccept"); | ||||
| @@ -2313,6 +2371,18 @@ $(document).ready(function(){ | ||||
| 			} else { | ||||
| 				debug_area.addClass("hidden"); | ||||
| 			} | ||||
| 		} else if(msg.cmd == 'show_model_menu') { | ||||
| 			if(msg.menu == 'gpt2list') { | ||||
| 				$("#use_gpu_div").removeClass("hidden") | ||||
| 			} else { | ||||
| 				$("#use_gpu_div").addClass("hidden") | ||||
| 			} | ||||
| 			if(msg.menu == 'apilist') { | ||||
| 				$("#modelkey").removeClass("hidden") | ||||
| 			} else { | ||||
| 				$("#modelkey").addClass("hidden") | ||||
| 			} | ||||
| 			buildLoadModelList(msg.data); | ||||
| 		} | ||||
| 	}); | ||||
| 	 | ||||
| @@ -2511,6 +2581,10 @@ $(document).ready(function(){ | ||||
| 		hideLoadPopup(); | ||||
| 	}); | ||||
| 	 | ||||
| 	load_model_close.on("click", function(ev) { | ||||
| 		hideLoadModelPopup(); | ||||
| 	}); | ||||
| 	 | ||||
| 	load_accept.on("click", function(ev) { | ||||
| 		hideMessage(); | ||||
| 		newly_loaded = true; | ||||
| @@ -2518,6 +2592,13 @@ $(document).ready(function(){ | ||||
| 		hideLoadPopup(); | ||||
| 	}); | ||||
| 	 | ||||
| 	load_model_accept.on("click", function(ev) { | ||||
| 		hideMessage(); | ||||
| 		socket.send({'cmd': 'load_model', 'use_gpu': $('#use_gpu')[0].checked, 'key': $('#modelkey')[0].value}); | ||||
| 		loadmodelcontent.html(""); | ||||
| 		hideLoadModelPopup(); | ||||
| 	}); | ||||
|  | ||||
| 	sp_close.on("click", function(ev) { | ||||
| 		hideSPPopup(); | ||||
| 	}); | ||||
| @@ -2540,6 +2621,11 @@ $(document).ready(function(){ | ||||
| 		hideUSPopup(); | ||||
| 	}); | ||||
| 	 | ||||
| 	button_loadmodel.on("click", function(ev) { | ||||
| 		showLoadModelPopup(); | ||||
| 		socket.send({'cmd': 'list_model', 'data': 'mainmenu'}); | ||||
| 	}); | ||||
| 	 | ||||
| 	button_newgame.on("click", function(ev) { | ||||
| 		if(connected) { | ||||
| 			showNewStoryPopup(); | ||||
|   | ||||
| @@ -33,6 +33,12 @@ | ||||
| 						</button> | ||||
| 						<div class="collapse navbar-collapse" id="navbarNavDropdown"> | ||||
| 							<ul class="nav navbar-nav"> | ||||
| 								<li class="nav-item dropdown"> | ||||
| 									<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">AI</a> | ||||
| 									<div class="dropdown-menu"> | ||||
| 										<a class="dropdown-item" href="#" id="btn_loadmodel">Load Model</a> | ||||
| 									</div> | ||||
| 								</li> | ||||
| 								<li class="nav-item dropdown"> | ||||
| 									<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">New Game</a> | ||||
| 									<div class="dropdown-menu"> | ||||
| @@ -265,6 +271,29 @@ | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="popupcontainer hidden" id="loadmodelcontainer"> | ||||
| 		<div id="loadpopup"> | ||||
| 			<div class="popuptitlebar"> | ||||
| 				<div class="popuptitletext">Select A Model To Load</div> | ||||
| 			</div> | ||||
| 			<div class="loadmodellistheader"> | ||||
| 				<div>Model</div> | ||||
| 			</div> | ||||
| 			<div id="loadmodellistcontent"> | ||||
| 			</div> | ||||
| 			<div class="popupfooter"> | ||||
| 				<input class="form-control hidden" type="text" placeholder="key" id="modelkey"><br> | ||||
| 			</div> | ||||
| 			<div class="popupfooter"> | ||||
| 				<button type="button" class="btn btn-primary" id="btn_loadmodelaccept">Load</button> | ||||
| 				<button type="button" class="btn btn-primary" id="btn_loadmodelclose">Cancel</button> | ||||
| 				<div class="box flex-push-right hidden" id=use_gpu_div> | ||||
| 					<input type="checkbox" data-toggle="toggle" data-onstyle="success" id="use_gpu" checked> | ||||
| 					<div class="box-label">Use GPU</div> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="popupcontainer hidden" id="spcontainer"> | ||||
| 		<div id="sppopup"> | ||||
| 			<div class="popuptitlebar"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user