mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	 84e09a7d8b
			
		
	
	84e09a7d8b
	
	
	
		
			
			* 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>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # dependencies
 | |
| 
 | |
| find_package(Threads REQUIRED)
 | |
| 
 | |
| # third-party
 | |
| 
 | |
| # ...
 | |
| 
 | |
| # common
 | |
| 
 | |
| set(TARGET common)
 | |
| 
 | |
| add_library(${TARGET} OBJECT
 | |
|     common.h
 | |
|     common.cpp
 | |
|     grammar-parser.h
 | |
|     grammar-parser.cpp
 | |
|     )
 | |
| 
 | |
| if (BUILD_SHARED_LIBS)
 | |
|     set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON)
 | |
| endif()
 | |
| 
 | |
| target_include_directories(${TARGET} PUBLIC .)
 | |
| target_compile_features(${TARGET} PUBLIC cxx_std_11)
 | |
| target_link_libraries(${TARGET} PRIVATE llama)
 | |
| 
 | |
| # examples
 | |
| 
 | |
| include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 | |
| 
 | |
| if (EMSCRIPTEN)
 | |
| else()
 | |
|     add_subdirectory(main)
 | |
|     add_subdirectory(quantize)
 | |
|     add_subdirectory(quantize-stats)
 | |
|     add_subdirectory(perplexity)
 | |
|     add_subdirectory(embedding)
 | |
|     add_subdirectory(save-load-state)
 | |
|     add_subdirectory(benchmark)
 | |
|     add_subdirectory(baby-llama)
 | |
|     add_subdirectory(train-text-from-scratch)
 | |
|     add_subdirectory(simple)
 | |
|     add_subdirectory(embd-input)
 | |
|     if (LLAMA_METAL)
 | |
|         add_subdirectory(metal)
 | |
|     endif()
 | |
|     if (LLAMA_BUILD_SERVER)
 | |
|         add_subdirectory(server)
 | |
|     endif()
 | |
| endif()
 |