mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	* 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()
 |