mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	llama : add grammar-based sampling (#1773)
* llama, main : constrain sampling to grammar * allow loading grammar from file * fix whitespace errors * handle & print parser errors * add comments to grammar syntax and allow newlines where unambiguous * add missing include * support alternates in root rule * fix bugs with empty token and EOS * adjust JSON grammar * remove swp file * rewrite ternary expressions Co-authored-by: Henri Vasserman <henv@hot.ee> * use struct for grammar elements and add Unicode support * add unicode escapes * add inverse char ranges * only sample full tokens (no peeking or truncation) * llama : minor style changes blindly applied in online editor - hopefully I didn't break something * update help text * add warning message if EOS is disabled --------- Co-authored-by: Henri Vasserman <henv@hot.ee> Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
This commit is contained in:
		| @@ -63,6 +63,7 @@ struct gpt_params { | ||||
|     std::string path_prompt_cache = "";  // path to file for saving/loading prompt eval state | ||||
|     std::string input_prefix      = "";  // string to prefix user inputs with | ||||
|     std::string input_suffix      = "";  // string to suffix user inputs with | ||||
|     std::string grammar           = "";  // optional BNF-like grammar to constrain sampling | ||||
|     std::vector<std::string> antiprompt; // string upon seeing which more user input is prompted | ||||
|  | ||||
|     std::string lora_adapter = "";  // lora adapter path | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Evan Jones
					Evan Jones