mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	fix instruct mode (#445)
changes to EOS behavior in interactive and reverse prompt handling broke instruct mode by erroneously injecting instruct mode's reverse prompt and an extra newline.
This commit is contained in:
		
							
								
								
									
										6
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								main.cpp
									
									
									
									
									
								
							| @@ -387,7 +387,7 @@ int main(int argc, char ** argv) { | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             // replace end of text token with newline token when in interactive mode |             // replace end of text token with newline token when in interactive mode | ||||||
|             if (id == llama_token_eos() && params.interactive) { |             if (id == llama_token_eos() && params.interactive && !params.instruct) { | ||||||
|                 id = llama_token_newline.front(); |                 id = llama_token_newline.front(); | ||||||
|                 if (params.antiprompt.size() != 0) { |                 if (params.antiprompt.size() != 0) { | ||||||
|                     // tokenize and inject first reverse prompt |                     // tokenize and inject first reverse prompt | ||||||
| @@ -488,9 +488,13 @@ int main(int argc, char ** argv) { | |||||||
|  |  | ||||||
|         // end of text token |         // end of text token | ||||||
|         if (embd.back() == llama_token_eos()) { |         if (embd.back() == llama_token_eos()) { | ||||||
|  |             if (params.instruct) { | ||||||
|  |                 is_interacting = true; | ||||||
|  |             } else { | ||||||
|                 fprintf(stderr, " [end of text]\n"); |                 fprintf(stderr, " [end of text]\n"); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // In interactive mode, respect the maximum number of tokens and drop back to user input when reached. |         // In interactive mode, respect the maximum number of tokens and drop back to user input when reached. | ||||||
|         if (params.interactive && remaining_tokens <= 0) { |         if (params.interactive && remaining_tokens <= 0) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 rabidcopy
					rabidcopy