@@ -1292,8 +1292,7 @@ def generate(genparams, stream_flag=False):
12921292 xtc_probability = tryparsefloat (genparams .get ('xtc_probability' , 0 ),0 )
12931293 sampler_order = genparams .get ('sampler_order' , [6 , 0 , 1 , 3 , 4 , 2 , 5 ])
12941294 seed = tryparseint (genparams .get ('sampler_seed' , - 1 ),- 1 )
1295- stop_sequence = (genparams .get ('stop_sequence' , []) if genparams .get ('stop_sequence' , []) is not None else [])
1296- stop_sequence = stop_sequence [:stop_token_max ]
1295+ stop_sequence = genparams .get ('stop_sequence' , [])
12971296 ban_eos_token = genparams .get ('ban_eos_token' , False )
12981297 stream_sse = stream_flag
12991298 grammar = genparams .get ('grammar' , '' )
@@ -1317,25 +1316,6 @@ def generate(genparams, stream_flag=False):
13171316 banned_tokens = genparams .get ('banned_tokens' , banned_strings )
13181317 bypass_eos_token = genparams .get ('bypass_eos' , False )
13191318 custom_token_bans = genparams .get ('custom_token_bans' , '' )
1320- replace_instruct_placeholders = genparams .get ('replace_instruct_placeholders' , False )
1321- if replace_instruct_placeholders :
1322- adapter_obj = {} if chatcompl_adapter is None else chatcompl_adapter
1323- system_message_start = adapter_obj .get ("system_start" , "\n ### Instruction:\n " )
1324- user_message_start = adapter_obj .get ("user_start" , "\n ### Instruction:\n " )
1325- user_message_end = adapter_obj .get ("user_end" , "" )
1326- assistant_message_start = adapter_obj .get ("assistant_start" , "\n ### Response:\n " )
1327- assistant_message_end = adapter_obj .get ("assistant_end" , "" )
1328- prompt = prompt .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
1329- prompt = prompt .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
1330- prompt = prompt .replace ("{{[SYSTEM]}}" , system_message_start )
1331- memory = memory .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
1332- memory = memory .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
1333- memory = memory .replace ("{{[SYSTEM]}}" , system_message_start )
1334- for i in range (len (stop_sequence )):
1335- if stop_sequence [i ] == "{{[INPUT]}}" :
1336- stop_sequence [i ] = user_message_start
1337- elif stop_sequence [i ] == "{{[OUTPUT]}}" :
1338- stop_sequence [i ] = assistant_message_start
13391319
13401320 for tok in custom_token_bans .split (',' ):
13411321 tok = tok .strip () # Remove leading/trailing whitespace
@@ -2505,6 +2485,34 @@ def transform_genparams(genparams, api_format):
25052485 genparams ["ollamasysprompt" ] = ollamasysprompt
25062486 genparams ["ollamabodyprompt" ] = ollamabodyprompt
25072487 genparams ["prompt" ] = ollamasysprompt + ollamabodyprompt
2488+
2489+ #final transformations (universal template replace)
2490+ replace_instruct_placeholders = genparams .get ('replace_instruct_placeholders' , False )
2491+ stop_sequence = (genparams .get ('stop_sequence' , []) if genparams .get ('stop_sequence' , []) is not None else [])
2492+ stop_sequence = stop_sequence [:stop_token_max ]
2493+ if replace_instruct_placeholders :
2494+ prompt = genparams .get ('prompt' , "" )
2495+ memory = genparams .get ('memory' , "" )
2496+ adapter_obj = {} if chatcompl_adapter is None else chatcompl_adapter
2497+ system_message_start = adapter_obj .get ("system_start" , "\n ### Instruction:\n " )
2498+ user_message_start = adapter_obj .get ("user_start" , "\n ### Instruction:\n " )
2499+ user_message_end = adapter_obj .get ("user_end" , "" )
2500+ assistant_message_start = adapter_obj .get ("assistant_start" , "\n ### Response:\n " )
2501+ assistant_message_end = adapter_obj .get ("assistant_end" , "" )
2502+ prompt = prompt .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
2503+ prompt = prompt .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
2504+ prompt = prompt .replace ("{{[SYSTEM]}}" , system_message_start )
2505+ memory = memory .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
2506+ memory = memory .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
2507+ memory = memory .replace ("{{[SYSTEM]}}" , system_message_start )
2508+ for i in range (len (stop_sequence )):
2509+ if stop_sequence [i ] == "{{[INPUT]}}" :
2510+ stop_sequence [i ] = user_message_start
2511+ elif stop_sequence [i ] == "{{[OUTPUT]}}" :
2512+ stop_sequence [i ] = assistant_message_start
2513+ genparams ["prompt" ] = prompt
2514+ genparams ["memory" ] = memory
2515+ genparams ["stop_sequence" ] = stop_sequence
25082516 return genparams
25092517
25102518def LaunchWebbrowser (target_url , failedmsg ):
@@ -4881,18 +4889,28 @@ def fetch_search_quants(a,b,c):
48814889
48824890 def fetch_search_models ():
48834891 from tkinter import messagebox
4884- nonlocal searchbox1 , modelsearch1_var , modelsearch2_var
4892+ nonlocal searchbox1 , searchbox2 , modelsearch1_var , modelsearch2_var
48854893 try :
48864894 modelsearch1_var .set ("" )
48874895 modelsearch2_var .set ("" )
4896+ searchbox1 .configure (values = [])
4897+ searchbox2 .configure (values = [])
48884898 searchedmodels = []
4889- search = "GGUF " + model_search .get ()
4890- urlcode = urlparse .urlencode ({"search" :search ,"limit" :10 }, doseq = True )
4899+ searchbase = model_search .get ()
4900+ if searchbase .strip ()== "" :
4901+ return
4902+ urlcode = urlparse .urlencode ({"search" :( "GGUF " + searchbase ),"limit" :10 }, doseq = True )
4903+ urlcode2 = urlparse .urlencode ({"search" :searchbase ,"limit" :6 }, doseq = True )
48914904 resp = make_url_request (f"https://huggingface.co/api/models?{ urlcode } " ,None ,'GET' ,{},10 )
4892- if len (resp )== 0 :
4893- messagebox .showinfo ("No Results Found" , "Search found no results" )
48944905 for m in resp :
48954906 searchedmodels .append (m ["id" ])
4907+ if len (resp )<= 3 : #too few results, repeat search without GGUF in the string
4908+ resp2 = make_url_request (f"https://huggingface.co/api/models?{ urlcode2 } " ,None ,'GET' ,{},10 )
4909+ for m in resp2 :
4910+ searchedmodels .append (m ["id" ])
4911+
4912+ if len (searchedmodels )== 0 :
4913+ messagebox .showinfo ("No Results Found" , "Search found no results" )
48964914 searchbox1 .configure (values = searchedmodels )
48974915 if len (searchedmodels )> 0 :
48984916 modelsearch1_var .set (searchedmodels [0 ])
0 commit comments