All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Migrate inference from deprecated
llama_evalAPI tollama_batchandllama_decodeby @abetlen in #795
- Update llama.cpp to 51b2fc11f7f605fff49725a4540e9a6ef7b51b70
- Fix name 'open' is not defined exception when deleting model by @abetlen in 011b95d7f34cbfc528af75a892757bd9a20838ab
- Fix tokenization of special characters by @antoine-lizee in #850
- Update llama.cpp to ggerganov/llama.cpp@50337961a678fce4081554b24e56e86b67660163
- Fix missing
n_seq_idinllama_batchby @NickAlgra in #842 - Fix for shared libraries on Windows that start with
libprefix by @sujeendran in #848 - Fix exception raised in
__del__when freeing models by @cebtenzzre in #846 - Performance improvement for logit bias by @zolastro in #851
- Fix suffix check arbitrary code execution bug by @mtasic85 in #854
- Fix typo in
function_callparameter inllama_types.pyby @akatora28 in #849 - Fix streaming not returning
finish_reasonby @gmcgoldr in #798 - Fix
n_gpu_layerscheck to allow values less than 1 for server by @hxy9243 in #826 - Supppress stdout and stderr when freeing model by @paschembri in #803
- Fix
llama2chat format by @delock in #808 - Add validation for tensor_split size by @eric1932 #820
- Print stack trace on server error by @abetlen in d6a130a052db3a50975a719088a9226abfebb266
- Update docs for gguf by @johnccshen in #783
- Add
chatmlchat format by @abetlen in 305482bd4156c70802fc054044119054806f4126
- Fix bug in
llama_model_paramsobject has no attributelogits_allby @abetlen in d696251fbe40015e8616ea7a7d7ad5257fd1b896
- Fix bug 'llama_model_params' object has no attribute 'embedding' by @abetlen in 42bb721d64d744242f9f980f2b89d5a6e335b5e4
- Fix critical bug in pip installation of v0.2.8 due to
.gitdirectory in ac853e01e1a217a578080a4e1b851d2d08450adf
- Update llama.cpp to ggerganov/llama.cpp@40e07a60f9ce06e79f3ccd4c903eba300fb31b5e
- Add configurable chat formats by @abetlen in #711
- Fix rope scaling bug by @Josh-XT in #767
- Fix missing numa parameter in server by @abetlen in d9bce17794d0dd6f7962d10aad768fedecf3ab89
- Update llama.cpp to ggerganov/llama.cpp@a98b1633d5a94d0aa84c7c16e1f8df5ac21fc850
- Install required runtime dlls to package directory on windows by @abetlen in 8d75016549e2ff62a511b1119d966ffc0df5c77b
- Add openai-processing-ms to server response header by @Tradunsky in #748
- Bump minimum version of scikit-build-core to 0.5.1 to fix msvc cmake issue by @abetlen in 1ed0f3ebe16993a0f961155aa4b2c85f1c68f668
- Update
llama_types.pyto better match the openai api, old names are aliased to new ones by @abetlen in dbca136feaaf7f8b1182c4c3c90c32918b1d0bb3
- Update llama.cpp to 80291a1d02a07f7f66666fb576c5b1e75aa48b46
- Fix docker images missing starlette-context dependency by @abetlen in 22917989003c5e67623d54ab45affa1e0e475410
- Fix loading dll in Windows Isolation Containers by @abetlen in 847466562573191efa655753d9252f308c4fbdb0
- Fix build issue on m1 macs by @abetlen in dbd3a6d1ed8416a8fd800127251e730153afa305
- Update docs to gguf and add hw acceleration docs for server by @jasonacox in #688
- Add NUMA support. NOTE low level api users must call llama_backend_init at the start of their programs by abetlen in f4090a0bb2a2a25acfe28d31c82cc1aa273bedee
- Fix tensor_split server cli argument by @abetlen in c4c440ba2dc86d9de728a751311fdd1c8e3756fa
- Made all
Llamainit parameters into keyword-only parameters by @abetlen in c8f9b8a734b5b040379bbd93995ba177affab1fe - Added server params for
low_vram,main_gpu,lora_base, andlora_pathby @abetlen in 2920c4bf7ee1412d6bba7846e0e1b7ef6d34043b - Removed server params for
rms_norm_epsandn_gqaby @abetlen in 2920c4bf7ee1412d6bba7846e0e1b7ef6d34043b - Fix boolean cli options by @abetlen in c999325e8e4507f6c6249dd2fb8de7f8bf57f71e and 0449d29b9f940e437231a07b9d56550226558bac
- Silence Pydantic Settings warnings about
model_aliassetting by @earonesty in #705
- Update llama.cpp to ggerganov/llama.cpp@71ca2fad7d6c0ef95ef9944fb3a1a843e481f314
- Add X-Request-ID request header for mirroring custom IDs by @devrimcavusoglu in #703
- Add pyproject extra for scikit-build-core to ensure compatible pathspec version by @abetlen in 6cfc54284b99ef1bff8193e2d5e483dbd89ada02
- Fix issue with Literal and Optional cli arguments not working by @abetlen in #702
- Fix bug in pip install of v0.2.1 due to scikit-build-core removing all
.metalfiles in the source distribution (see #701)
- Fix bug in pip install of v0.2.0 due to .git folder being included in the source distribution (see #701)
- Migrated to scikit-build-core build system by @abetlen in #499
- Use
numpyviews forLogitsProcessorandStoppingCriteriainstead of python lists by @abetlen in #499 - Drop support for end-of-life Python3.7 by @abetlen in #499
- Convert low level
llama.cppconstants to use basic python types instead ofctypestypes by @abetlen in #499
- Add
llama_cpp.__version__attribute by @janvdp in #684 - Fix low level api examples by @jbochi in #680
- Update llama.cpp
- Update llama.cpp
- Update llama.cpp
- Update llama.cpp
- Update llama.cpp
- GGUF Support (breaking change requiring new model format)
- Grammar based sampling via LlamaGrammar which can be passed to completions
- Make n_gpu_layers == -1 offload all layers
- (llama.cpp) Update llama.cpp add support for LLaMa 2 70B
- (server) Add temporary n_gqa and rms_norm_eps parameters required for LLaMa 2 70B
- (llama.cpp) Update llama.cpp add support for LLaMa 2 70B
- Update llama.cpp
- (server) OpenAI style error responses
- (server) Add rope parameters to server settings
- (llama.cpp) Update llama.cpp added custom_rope for extended context lengths
-
(llama.cpp) Update llama.cpp
-
(server) Fix several pydantic v2 migration bugs
- (Llama.create_completion) Revert change so that
max_tokensis not truncated tocontext_sizeincreate_completion - (server) Fixed changed settings field names from pydantic v2 migration
- (server) Streaming requests can are now interrupted pre-maturely when a concurrent request is made. Can be controlled with the
interrupt_requestssetting. - (server) Moved to fastapi v0.100.0 and pydantic v2
- (docker) Added a new "simple" image that builds llama.cpp from source when started.
- (server) performance improvements by avoiding unnecessary memory allocations during sampling
- (llama.cpp) Update llama.cpp
- Fix performance bug in Llama model by pre-allocating memory tokens and logits.
- Fix bug in Llama model where the model was not free'd after use.
-
(llama.cpp) New model API
-
Performance issue during eval caused by looped np.concatenate call
-
State pickling issue when saving cache to disk
- (llama.cpp) Fix struct misalignment bug
- (llama.cpp) Update llama.cpp
- Fix docs for seed. Set -1 for random.
- (llama.cpp) Add full gpu utilisation in CUDA
- (llama.cpp) Add get_vocab
- (llama.cpp) Add low_vram parameter
- (server) Add logit_bias parameter
- Metal support working
- Cache re-enabled
- Fix broken pip installation
NOTE: This release was deleted due to a bug with the packaging system that caused pip installations to fail.
- Truncate max_tokens in create_completion so requested tokens doesn't exceed context size.
- Temporarily disable cache for completion requests
- (llama.cpp) k-quants support
- (server) mirostat sampling parameters to server
- Support both
.soand.dylibforlibllamaon MacOS
- (llama.cpp) Metal Silicon support
- (llama.cpp) OpenLlama 3B support
- (misc) Added first version of the changelog
- (server) Use async routes
- (python-api) Use numpy for internal buffers to reduce memory usage and improve performance.
- (python-api) Performance bug in stop sequence check slowing down streaming.