mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	 33eff40240
			
		
	
	33eff40240
	
	
	
		
			
			* server : (experimental) vision support via libmtmd * mtmd : add more api around mtmd_image_tokens * mtmd : add more api around mtmd_image_tokens * mtmd : ability to calc image hash * shared_ptr for mtmd_image_tokens * move hash to user-define ID (fixed) * abstract out the batch management * small fix * refactor logic adding tokens to batch * implement hashing image * use FNV hash, now hash bitmap instead of file data * allow decoding image embedding to be split into batches * rm whitespace * disable some features when mtmd is on * fix --no-mmproj-offload * mtmd_context_params no timings * refactor server_inp to server_tokens * fix the failing test case * init * wip * working version * add mtmd::bitmaps * add test target * rm redundant define * test: mtmd_input_chunks_free * rm outdated comment * fix merging issue * explicitly create mtmd::input_chunks * mtmd_input_chunk_copy * add clone() * improve server_input struct * clip : fix confused naming ffn_up and ffn_down * rm ffn_i/o/g naming * rename n_embd, n_ff * small fix * no check n_ff * fix detokenize * add const to various places * add warning about breaking changes * add c api * helper: use mtmd_image_tokens_get_n_pos * fix ctx_shift * fix name shadowing * more strict condition * support remote image_url * remote image_url log * add CI test * do not log base64 * add "has_multimodal" to /props * remove dangling image * speculative: use slot.cache_tokens.insert * Apply suggestions from code review Co-authored-by: Georgi Gerganov <ggerganov@gmail.com> * rm can_be_detokenized * on prmpt processing done, assert cache_tokens.size * handle_completions_impl returns void * adapt the new web ui * update docs and hot topics * rm assert * small fix (2) --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(TARGET llama-server)
 | |
| 
 | |
| option(LLAMA_SERVER_SSL "Build SSL support for the server" OFF)
 | |
| 
 | |
| include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
 | |
| 
 | |
| if (MINGW)
 | |
|     # fix: https://github.com/ggml-org/llama.cpp/actions/runs/9651004652/job/26617901362?pr=8006
 | |
|     add_compile_definitions(_WIN32_WINNT=${GGML_WIN_VER})
 | |
| endif()
 | |
| 
 | |
| set(TARGET_SRCS
 | |
|     server.cpp
 | |
|     utils.hpp
 | |
|     httplib.h
 | |
| )
 | |
| set(PUBLIC_ASSETS
 | |
|     index.html.gz
 | |
|     loading.html
 | |
| )
 | |
| 
 | |
| foreach(asset ${PUBLIC_ASSETS})
 | |
|     set(input "${CMAKE_CURRENT_SOURCE_DIR}/public/${asset}")
 | |
|     set(output "${CMAKE_CURRENT_BINARY_DIR}/${asset}.hpp")
 | |
|     list(APPEND TARGET_SRCS ${output})
 | |
|     add_custom_command(
 | |
|         DEPENDS "${input}"
 | |
|         OUTPUT "${output}"
 | |
|         COMMAND "${CMAKE_COMMAND}" "-DINPUT=${input}" "-DOUTPUT=${output}" -P "${PROJECT_SOURCE_DIR}/scripts/xxd.cmake"
 | |
|     )
 | |
|     set_source_files_properties(${output} PROPERTIES GENERATED TRUE)
 | |
| endforeach()
 | |
| 
 | |
| add_executable(${TARGET} ${TARGET_SRCS})
 | |
| install(TARGETS ${TARGET} RUNTIME)
 | |
| 
 | |
| target_include_directories(${TARGET} PRIVATE ../llava)
 | |
| target_include_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR})
 | |
| target_link_libraries(${TARGET} PRIVATE common mtmd ${CMAKE_THREAD_LIBS_INIT})
 | |
| 
 | |
| if (LLAMA_SERVER_SSL)
 | |
|     find_package(OpenSSL REQUIRED)
 | |
|     target_link_libraries(${TARGET} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
 | |
|     target_compile_definitions(${TARGET} PRIVATE CPPHTTPLIB_OPENSSL_SUPPORT)
 | |
| endif()
 | |
| 
 | |
| if (WIN32)
 | |
|     TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ws2_32)
 | |
| endif()
 | |
| 
 | |
| target_compile_features(${TARGET} PRIVATE cxx_std_17)
 |