@@ -1282,8 +1282,7 @@ def generate(genparams, stream_flag=False):
12821282 xtc_probability = tryparsefloat (genparams .get ('xtc_probability' , 0 ),0 )
12831283 sampler_order = genparams .get ('sampler_order' , [6 , 0 , 1 , 3 , 4 , 2 , 5 ])
12841284 seed = tryparseint (genparams .get ('sampler_seed' , - 1 ),- 1 )
1285- stop_sequence = (genparams .get ('stop_sequence' , []) if genparams .get ('stop_sequence' , []) is not None else [])
1286- stop_sequence = stop_sequence [:stop_token_max ]
1285+ stop_sequence = genparams .get ('stop_sequence' , [])
12871286 ban_eos_token = genparams .get ('ban_eos_token' , False )
12881287 stream_sse = stream_flag
12891288 grammar = genparams .get ('grammar' , '' )
@@ -1307,25 +1306,6 @@ def generate(genparams, stream_flag=False):
13071306 banned_tokens = genparams .get ('banned_tokens' , banned_strings )
13081307 bypass_eos_token = genparams .get ('bypass_eos' , False )
13091308 custom_token_bans = genparams .get ('custom_token_bans' , '' )
1310- replace_instruct_placeholders = genparams .get ('replace_instruct_placeholders' , False )
1311- if replace_instruct_placeholders :
1312- adapter_obj = {} if chatcompl_adapter is None else chatcompl_adapter
1313- system_message_start = adapter_obj .get ("system_start" , "\n ### Instruction:\n " )
1314- user_message_start = adapter_obj .get ("user_start" , "\n ### Instruction:\n " )
1315- user_message_end = adapter_obj .get ("user_end" , "" )
1316- assistant_message_start = adapter_obj .get ("assistant_start" , "\n ### Response:\n " )
1317- assistant_message_end = adapter_obj .get ("assistant_end" , "" )
1318- prompt = prompt .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
1319- prompt = prompt .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
1320- prompt = prompt .replace ("{{[SYSTEM]}}" , system_message_start )
1321- memory = memory .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
1322- memory = memory .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
1323- memory = memory .replace ("{{[SYSTEM]}}" , system_message_start )
1324- for i in range (len (stop_sequence )):
1325- if stop_sequence [i ] == "{{[INPUT]}}" :
1326- stop_sequence [i ] = user_message_start
1327- elif stop_sequence [i ] == "{{[OUTPUT]}}" :
1328- stop_sequence [i ] = assistant_message_start
13291309
13301310 for tok in custom_token_bans .split (',' ):
13311311 tok = tok .strip () # Remove leading/trailing whitespace
@@ -2298,6 +2278,34 @@ def transform_genparams(genparams, api_format):
22982278 genparams ["ollamasysprompt" ] = ollamasysprompt
22992279 genparams ["ollamabodyprompt" ] = ollamabodyprompt
23002280 genparams ["prompt" ] = ollamasysprompt + ollamabodyprompt
2281+
2282+ #final transformations (universal template replace)
2283+ replace_instruct_placeholders = genparams .get ('replace_instruct_placeholders' , False )
2284+ stop_sequence = (genparams .get ('stop_sequence' , []) if genparams .get ('stop_sequence' , []) is not None else [])
2285+ stop_sequence = stop_sequence [:stop_token_max ]
2286+ if replace_instruct_placeholders :
2287+ prompt = genparams .get ('prompt' , "" )
2288+ memory = genparams .get ('memory' , "" )
2289+ adapter_obj = {} if chatcompl_adapter is None else chatcompl_adapter
2290+ system_message_start = adapter_obj .get ("system_start" , "\n ### Instruction:\n " )
2291+ user_message_start = adapter_obj .get ("user_start" , "\n ### Instruction:\n " )
2292+ user_message_end = adapter_obj .get ("user_end" , "" )
2293+ assistant_message_start = adapter_obj .get ("assistant_start" , "\n ### Response:\n " )
2294+ assistant_message_end = adapter_obj .get ("assistant_end" , "" )
2295+ prompt = prompt .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
2296+ prompt = prompt .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
2297+ prompt = prompt .replace ("{{[SYSTEM]}}" , system_message_start )
2298+ memory = memory .replace ("{{[INPUT]}}" , assistant_message_end + user_message_start )
2299+ memory = memory .replace ("{{[OUTPUT]}}" , user_message_end + assistant_message_start )
2300+ memory = memory .replace ("{{[SYSTEM]}}" , system_message_start )
2301+ for i in range (len (stop_sequence )):
2302+ if stop_sequence [i ] == "{{[INPUT]}}" :
2303+ stop_sequence [i ] = user_message_start
2304+ elif stop_sequence [i ] == "{{[OUTPUT]}}" :
2305+ stop_sequence [i ] = assistant_message_start
2306+ genparams ["prompt" ] = prompt
2307+ genparams ["memory" ] = memory
2308+ genparams ["stop_sequence" ] = stop_sequence
23012309 return genparams
23022310
23032311def LaunchWebbrowser (target_url , failedmsg ):
0 commit comments