News
Release notes have been now moved completely over Github releases.
You can see the release notes here.
Older release notes
04-12-2023: v2.0.0
This release brings a major overhaul in some backends.
Breaking/important changes:
- Backend rename:
llama-stable
renamed tollama-ggml
1287 - Prompt template changes: 1254 (extra space in roles)
- Apple metal bugfixes: 1365
New:
- Added support for LLaVa and OpenAI Vision API support ( 1254 )
- Python based backends are now using conda to track env dependencies ( 1144 )
- Support for parallel requests ( 1290 )
- Support for transformers-embeddings ( 1308 )
- Watchdog for backends ( 1341 ). As https://github.com/ggerganov/llama.cpp/issues/3969 is hitting LocalAI’s llama-cpp implementation, we have now a watchdog that can be used to make sure backends are not stalling. This is a generic mechanism that can be enabled for all the backends now.
- Whisper.cpp updates ( 1302 )
- Petals backend ( 1350 )
- Full LLM fine-tuning example to use with LocalAI: https://localai.io/advanced/fine-tuning/
Due to the python dependencies size of images grew in size.
If you still want to use smaller images without python dependencies, you can use the corresponding images tags ending with -core
.
Full changelog: https://github.com/mudler/LocalAI/releases/tag/v2.0.0
30-10-2023: v1.40.0
This release is a preparation before v2 - the efforts now will be to refactor, polish and add new backends. Follow up on: https://github.com/mudler/LocalAI/issues/1126
Hot topics
This release now brings the llama-cpp
backend which is a c++ backend tied to llama.cpp. It follows more closely and tracks recent versions of llama.cpp. It is not feature compatible with the current llama
backend but plans are to sunset the current llama
backend in favor of this one. This one will be probably be the latest release containing the older llama
backend written in go and c++. The major improvement with this change is that there are less layers that could be expose to potential bugs - and as well it ease out maintenance as well.
Support for ROCm/HIPBLAS
This release bring support for AMD thanks to @65a . See more details in 1100
More CLI commands
Thanks to @jespino now the local-ai binary has more subcommands allowing to manage the gallery or try out directly inferencing, check it out!
25-09-2023: v1.30.0
This is an exciting LocalAI release! Besides bug-fixes and enhancements this release brings the new backend to a whole new level by extending support to vllm and vall-e-x for audio generation!
Check out the documentation for vllm here and Vall-E-X here
26-08-2023: v1.25.0
Hey everyone, Ettore here, I’m so happy to share this release out - while this summer is hot apparently doesn’t stop LocalAI development :)
This release brings a lot of new features, bugfixes and updates! Also a big shout out to the community, this was a great release!
Attention 🚨
From this release the llama
backend supports only gguf
files (see
943
). LocalAI however still supports ggml
files. We ship a version of llama.cpp before that change in a separate backend, named llama-stable
to allow still loading ggml
files. If you were specifying the llama
backend manually to load ggml
files from this release you should use llama-stable
instead, or do not specify a backend at all (LocalAI will automatically handle this).
Image generation enhancements
The Diffusers backend got now various enhancements, including support to generate images from images, longer prompts, and support for more kernels schedulers. See the Diffusers documentation for more information.
Lora adapters
Now it’s possible to load lora adapters for llama.cpp. See 955 for more information.
Device management
It is now possible for single-devices with one GPU to specify --single-active-backend
to allow only one backend active at the time
925
.
Community spotlight
Resources management
Thanks to the continous community efforts (another cool contribution from dave-gray101 ) now it’s possible to shutdown a backend programmatically via the API. There is an ongoing effort in the community to better handling of resources. See also the 🔥Roadmap.
New how-to section
Thanks to the community efforts now we have a new how-to website with various examples on how to use LocalAI. This is a great starting point for new users! We are currently working on improving it, a huge shout out to lunamidori5 from the community for the impressive efforts on this!
💡 More examples!
- Open source autopilot? See the new addition by gruberdev in our examples on how to use Continue with LocalAI!
- Want to try LocalAI with Insomnia? Check out the new Insomnia example by dave-gray101 !
LocalAGI in discord!
Did you know that we have now few cool bots in our Discord? come check them out! We also have an instance of LocalAGI ready to help you out!
Changelog summary
Breaking Changes 🛠
Exciting New Features 🎉
- feat(Makefile): allow to restrict backend builds by mudler in 890
- feat(diffusers): various enhancements by mudler in 895
- feat: make initializer accept gRPC delay times by mudler in 900
- feat(diffusers): add DPMSolverMultistepScheduler++, DPMSolverMultistepSchedulerSDE++, guidance_scale by mudler in 903
- feat(diffusers): overcome prompt limit by mudler in 904
- feat(diffusers): add img2img and clip_skip, support more kernels schedulers by mudler in 906
- Usage Features by dave-gray101 in 863
- feat(diffusers): be consistent with pipelines, support also depthimg2img by mudler in 926
- feat: add –single-active-backend to allow only one backend active at the time by mudler in 925
- feat: add llama-stable backend by mudler in 932
- feat: allow to customize rwkv tokenizer by dave-gray101 in 937
- feat: backend monitor shutdown endpoint, process based by dave-gray101 in 938
- feat: Allow to load lora adapters for llama.cpp by mudler in 955
Join our Discord community! our vibrant community is growing fast, and we are always happy to help! https://discord.gg/uJAeKSAGDy
The full changelog is available here.
🔥🔥🔥🔥 12-08-2023: v1.24.0 🔥🔥🔥🔥
This is release brings four(!) new additional backends to LocalAI: 🐶 Bark, 🦙 AutoGPTQ, 🧨 Diffusers, 🦙 exllama and a lot of improvements!
Major improvements:
- feat: add bark and AutoGPTQ by mudler in 871
- feat: Add Diffusers by mudler in 874
- feat: add API_KEY list support by neboman11 and bnusunny in 877
- feat: Add exllama by mudler in 881
- feat: pre-configure LocalAI galleries by mudler in 886
🐶 Bark
Bark is a text-prompted generative audio model - it combines GPT techniques to generate Audio from text. It is a great addition to LocalAI, and it’s available in the container images by default.
It can also generate music, see the example: lion.webm
🦙 AutoGPTQ
AutoGPTQ is an easy-to-use LLMs quantization package with user-friendly apis, based on GPTQ algorithm.
It is targeted mainly for GPU usage only. Check out the documentation for usage.
🦙 Exllama
Exllama is a “A more memory-efficient rewrite of the HF transformers implementation of Llama for use with quantized weights”. It is a faster alternative to run LLaMA models on GPU.Check out the Exllama documentation for usage.
🧨 Diffusers
Diffusers is the go-to library for state-of-the-art pretrained diffusion models for generating images, audio, and even 3D structures of molecules. Currently it is experimental, and supports generation only of images so you might encounter some issues on models which weren’t tested yet. Check out the Diffusers documentation for usage.
🔑 API Keys
Thanks to the community contributions now it’s possible to specify a list of API keys that can be used to gate API requests.
API Keys can be specified with the API_KEY
environment variable as a comma-separated list of keys.
🖼️ Galleries
Now by default the model-gallery repositories are configured in the container images
💡 New project
LocalAGI is a simple agent that uses LocalAI functions to have a full locally runnable assistant (with no API keys needed).
See it here in action planning a trip for San Francisco!
The full changelog is available here.
🔥🔥 29-07-2023: v1.23.0 🚀
This release focuses mostly on bugfixing and updates, with just a couple of new features:
- feat: add rope settings and negative prompt, drop grammar backend by mudler in 797
- Added CPU information to entrypoint.sh by @finger42 in 794
- feat: cancel stream generation if client disappears by @tmm1 in 792
Most notably, this release brings important fixes for CUDA (and not only):
- fix: add rope settings during model load, fix CUDA by mudler in 821
- fix: select function calls if ’name’ is set in the request by mudler in 827
- fix: symlink libphonemize in the container by mudler in 831
From this release OpenAI functions are available in the llama
backend. The llama-grammar
has been deprecated. See also OpenAI functions.
The full changelog is available here
🔥🔥🔥 23-07-2023: v1.22.0 🚀
- feat: add llama-master backend by mudler in 752
- [build] pass build type to cmake on libtransformers.a build by @TonDar0n in 741
- feat: resolve JSONSchema refs (planners) by mudler in 774
- feat: backends improvements by mudler in 778
- feat(llama2): add template for chat messages by dave-gray101 in 782
From this release to use the OpenAI functions you need to use the llama-grammar
backend. It has been added a llama
backend for tracking llama.cpp
master and llama-grammar
for the grammar functionalities that have not been merged yet upstream. See also OpenAI functions. Until the feature is merged we will have two llama backends.
Huggingface embeddings
In this release is now possible to specify to LocalAI external gRPC
backends that can be used for inferencing
778
. It is now possible to write internal backends in any language, and a huggingface-embeddings
backend is now available in the container image to be used with https://github.com/UKPLab/sentence-transformers. See also Embeddings.
LLaMa 2 has been released!
Thanks to the community effort now LocalAI supports templating for LLaMa2! more at: 782 until we update the model gallery with LLaMa2 models!
Official langchain integration
Progress has been made to support LocalAI with langchain
. See: https://github.com/langchain-ai/langchain/pull/8134
🔥🔥🔥 17-07-2023: v1.21.0 🚀
- [whisper] Partial support for verbose_json format in transcribe endpoint by
@ldotlopez
in 721 - LocalAI functions by
@mudler
in 726 gRPC
-based backends by@mudler
in 743- falcon support (7b and 40b) with
ggllm.cpp
by@mudler
in 743
LocalAI functions
This allows to run OpenAI functions as described in the OpenAI blog post and documentation: https://openai.com/blog/function-calling-and-other-api-updates.
This is a video of running the same example, locally with LocalAI
:
And here when it actually picks to reply to the user instead of using functions!
Note: functions are supported only with llama.cpp
-compatible models.
A full example is available here: https://github.com/go-skynet/LocalAI/tree/master/examples/functions
gRPC backends
This is an internal refactor which is not user-facing, however, it allows to ease out maintenance and addition of new backends to LocalAI!
falcon
support
Now Falcon 7b and 40b models compatible with https://github.com/cmp-nct/ggllm.cpp are supported as well.
The former, ggml-based backend has been renamed to falcon-ggml
.
Default pre-compiled binaries
From this release the default behavior of images has changed. Compilation is not triggered on start automatically, to recompile local-ai
from scratch on start and switch back to the old behavior, you can set REBUILD=true
in the environment variables. Rebuilding can be necessary if your CPU and/or architecture is old and the pre-compiled binaries are not compatible with your platform. See the build section for more information.
🔥🔥🔥 28-06-2023: v1.20.0 🚀
Exciting New Features 🎉
- Add Text-to-Audio generation with
go-piper
by mudler in 649 See API endpoints in our documentation. - Add gallery repository by mudler in 663 . See models for documentation.
Container images
- Standard (GPT +
stablediffusion
):quay.io/go-skynet/local-ai:v1.20.0
- FFmpeg:
quay.io/go-skynet/local-ai:v1.20.0-ffmpeg
- CUDA 11+FFmpeg:
quay.io/go-skynet/local-ai:v1.20.0-cublas-cuda11-ffmpeg
- CUDA 12+FFmpeg:
quay.io/go-skynet/local-ai:v1.20.0-cublas-cuda12-ffmpeg
Updates
Updates to llama.cpp
, go-transformers
, gpt4all.cpp
and rwkv.cpp
.
The NUMA option was enabled by
mudler
in
684
, along with many new parameters (mmap
,mmlock
, ..). See advanced for the full list of parameters.
Gallery repositories
In this release there is support for gallery repositories. These are repositories that contain models, and can be used to install models. The default gallery which contains only freely licensed models is in Github: https://github.com/go-skynet/model-gallery, but you can use your own gallery by setting the GALLERIES
environment variable. An automatic index of huggingface models is available as well.
For example, now you can start LocalAI
with the following environment variable to use both galleries:
GALLERIES=[{"name":"model-gallery", "url":"github:go-skynet/model-gallery/index.yaml"}, {"url": "github:ci-robbot/localai-huggingface-zoo/index.yaml","name":"huggingface"}]
And in runtime you can install a model from huggingface now with:
curl http://localhost:8000/models/apply -H "Content-Type: application/json" -d '{ "id": "huggingface@thebloke__open-llama-7b-open-instruct-ggml__open-llama-7b-open-instruct.ggmlv3.q4_0.bin" }'
or a tts
voice with:
curl http://localhost:8080/models/apply -H "Content-Type: application/json" -d '{ "id": "model-gallery@voice-en-us-kathleen-low" }'
See also models for a complete documentation.
Text to Audio
Now LocalAI
uses piper and go-piper to generate audio from text. This is an experimental feature, and it requires GO_TAGS=tts
to be set during build. It is enabled by default in the pre-built container images.
To setup audio models, you can use the new galleries, or setup the models manually as described in the API section of the documentation.
You can check the full changelog in Github
🔥🔥🔥 19-06-2023: v1.19.0 🚀
- Full CUDA GPU offload support ( PR by mudler. Thanks to chnyda for handing over the GPU access, and lu-zero to help in debugging )
- Full GPU Metal Support is now fully functional. Thanks to Soleblaze to iron out the Metal Apple silicon support!
Container images:
- Standard (GPT +
stablediffusion
):quay.io/go-skynet/local-ai:v1.19.2
- FFmpeg:
quay.io/go-skynet/local-ai:v1.19.2-ffmpeg
- CUDA 11+FFmpeg:
quay.io/go-skynet/local-ai:v1.19.2-cublas-cuda11-ffmpeg
- CUDA 12+FFmpeg:
quay.io/go-skynet/local-ai:v1.19.2-cublas-cuda12-ffmpeg
🔥🔥🔥 06-06-2023: v1.18.0 🚀
This LocalAI release is plenty of new features, bugfixes and updates! Thanks to the community for the help, this was a great community release!
We now support a vast variety of models, while being backward compatible with prior quantization formats, this new release allows still to load older formats and new k-quants!
New features
- ✨ Added support for
falcon
-based model families (7b) ( mudler ) - ✨ Experimental support for Metal Apple Silicon GPU - ( mudler and thanks to Soleblaze for testing! ). See the build section.
- ✨ Support for token stream in the
/v1/completions
endpoint ( samm81 ) - ✨ Added huggingface backend ( Evilfreelancer )
- 📷 Stablediffusion now can output
2048x2048
images size withesrgan
! ( mudler )
Container images
- 🐋 CUDA container images (arm64, x86_64) ( sebastien-prudhomme )
- 🐋 FFmpeg container images (arm64, x86_64) ( mudler )
Dependencies updates
- 🆙 Bloomz has been updated to the latest ggml changes, including new quantization format ( mudler )
- 🆙 RWKV has been updated to the new quantization format( mudler )
- 🆙 k-quants format support for the
llama
models ( mudler ) - 🆙 gpt4all has been updated, incorporating upstream changes allowing to load older models, and with different CPU instruction set (AVX only, AVX2) from the same binary! ( mudler )
Generic
- 🐧 Fully Linux static binary releases ( mudler )
- 📷 Stablediffusion has been enabled on container images by default ( mudler )
Note: You can disable container image rebuilds with
REBUILD=false
Examples
Two new projects offer now direct integration with LocalAI!
29-05-2023: v1.17.0
Support for OpenCL has been added while building from sources.
You can now build LocalAI from source with BUILD_TYPE=clblas
to have an OpenCL build. See also the build section.
For instructions on how to install OpenCL/CLBlast see here.
rwkv.cpp has been updated to the new ggml format commit.
27-05-2023: v1.16.0
Now it’s possible to automatically download pre-configured models before starting the API.
Start local-ai with the PRELOAD_MODELS
containing a list of models from the gallery, for instance to install gpt4all-j
as gpt-3.5-turbo
:
PRELOAD_MODELS=[{"url": "github:go-skynet/model-gallery/gpt4all-j.yaml", "name": "gpt-3.5-turbo"}]
llama.cpp
models now can also automatically save the prompt cache state as well by specifying in the model YAML configuration file:
# Enable prompt caching
# This is a file that will be used to save/load the cache. relative to the models directory.
prompt_cache_path: "alpaca-cache"
# Always enable prompt cache
prompt_cache_all: true
See also the advanced section.
Media, Blogs, Social
- Create a slackbot for teams and OSS projects that answer to documentation
- LocalAI meets k8sgpt - CNCF Webinar showcasing LocalAI and k8sgpt.
- Question Answering on Documents locally with LangChain, LocalAI, Chroma, and GPT4All by Ettore Di Giacinto
- Tutorial to use k8sgpt with LocalAI - excellent usecase for localAI, using AI to analyse Kubernetes clusters. by Tyller Gillson
Previous
- 23-05-2023: v1.15.0 released.
go-gpt2.cpp
backend got renamed togo-ggml-transformers.cpp
updated including https://github.com/ggerganov/llama.cpp/pull/1508 which breaks compatibility with older models. This impacts RedPajama, GptNeoX, MPT(notgpt4all-mpt
), Dolly, GPT2 and Starcoder based models. Binary releases available, various fixes, including 341 . - 21-05-2023: v1.14.0 released. Minor updates to the
/models/apply
endpoint,llama.cpp
backend updated including https://github.com/ggerganov/llama.cpp/pull/1508 which breaks compatibility with older models.gpt4all
is still compatible with the old format. - 19-05-2023: v1.13.0 released! 🔥🔥 updates to the
gpt4all
andllama
backend, consolidated CUDA support ( 310 thanks to @bubthegreat and @Thireus ), preliminar support for installing models via API. - 17-05-2023: v1.12.0 released! 🔥🔥 Minor fixes, plus CUDA (
258
) support for
llama.cpp
-compatible models and image generation ( 272 ). - 16-05-2023: 🔥🔥🔥 Experimental support for CUDA (
258
) in the
llama.cpp
backend and Stable diffusion CPU image generation ( 272 ) inmaster
.
Now LocalAI can generate images too:
mode=0 | mode=1 (winograd/sgemm) |
---|---|
- 14-05-2023: v1.11.1 released!
rwkv
backend patch release - 13-05-2023: v1.11.0 released! 🔥 Updated
llama.cpp
bindings: This update includes a breaking change in the model files ( https://github.com/ggerganov/llama.cpp/pull/1405 ) - old models should still work with thegpt4all-llama
backend. - 12-05-2023: v1.10.0 released! 🔥🔥 Updated
gpt4all
bindings. Added support for GPTNeox (experimental), RedPajama (experimental), Starcoder (experimental), Replit (experimental), MosaicML MPT. Also nowembeddings
endpoint supports tokens arrays. See the langchain-chroma example! Note - this update does NOT include https://github.com/ggerganov/llama.cpp/pull/1405 which makes models incompatible. - 11-05-2023: v1.9.0 released! 🔥 Important whisper updates ( 233 229 ) and extended gpt4all model families support ( 232 ). Redpajama/dolly experimental ( 214 )
- 10-05-2023: v1.8.0 released! 🔥 Added support for fast and accurate embeddings with
bert.cpp
( 222 ) - 09-05-2023: Added experimental support for transcriptions endpoint ( 211 )
- 08-05-2023: Support for embeddings with models using the
llama.cpp
backend ( 207 ) - 02-05-2023: Support for
rwkv.cpp
models ( 158 ) and for/edits
endpoint - 01-05-2023: Support for SSE stream of tokens in
llama.cpp
backends ( 152 )
Last updated 18 Jan 2024, 19:41 +0100 .