mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-25 15:21:04 +00:00
180 lines
13 KiB
Markdown
180 lines
13 KiB
Markdown
|
+++
|
||
|
archetype = "home"
|
||
|
title = "LocalAI"
|
||
|
+++
|
||
|
|
||
|
<p align="center">
|
||
|
<a href="https://github.com/go-skynet/LocalAI/fork" target="blank">
|
||
|
<img src="https://img.shields.io/github/forks/go-skynet/LocalAI?style=for-the-badge" alt="LocalAI forks"/>
|
||
|
</a>
|
||
|
<a href="https://github.com/go-skynet/LocalAI/stargazers" target="blank">
|
||
|
<img src="https://img.shields.io/github/stars/go-skynet/LocalAI?style=for-the-badge" alt="LocalAI stars"/>
|
||
|
</a>
|
||
|
<a href="https://github.com/go-skynet/LocalAI/pulls" target="blank">
|
||
|
<img src="https://img.shields.io/github/issues-pr/go-skynet/LocalAI?style=for-the-badge" alt="LocalAI pull-requests"/>
|
||
|
</a>
|
||
|
<a href='https://github.com/go-skynet/LocalAI/releases'>
|
||
|
<img src='https://img.shields.io/github/release/go-skynet/LocalAI?&label=Latest&style=for-the-badge'>
|
||
|
</a>
|
||
|
</p>
|
||
|
|
||
|
> 💡 Get help - [❓FAQ](https://localai.io/faq/) [❓How tos](https://localai.io/howtos/) [💭Discussions](https://github.com/go-skynet/LocalAI/discussions) [💭Discord](https://discord.gg/uJAeKSAGDy)
|
||
|
>
|
||
|
> [💻 Quickstart](https://localai.io/basics/getting_started/) [📣 News](https://localai.io/basics/news/) [ 🛫 Examples ](https://github.com/go-skynet/LocalAI/tree/master/examples/) [ 🖼️ Models ](https://localai.io/models/)
|
||
|
|
||
|
**LocalAI** is the free, Open Source OpenAI alternative. LocalAI act as a drop-in replacement REST API that's compatible with OpenAI API specifications for local inferencing. It allows you to run LLMs, generate images, audio (and not only) locally or on-prem with consumer grade hardware, supporting multiple model families that are compatible with the ggml format. Does not require GPU. It is maintained by [mudler](https://github.com/mudler).
|
||
|
|
||
|
<p align="center"><b>Follow LocalAI </b></p>
|
||
|
|
||
|
<p align="center">
|
||
|
<a href="https://twitter.com/LocalAI_API" target="blank">
|
||
|
<img src="https://img.shields.io/twitter/follow/LocalAI_API?label=Follow: LocalAI_API&style=social" alt="Follow LocalAI_API"/>
|
||
|
</a>
|
||
|
<a href="https://discord.gg/uJAeKSAGDy" target="blank">
|
||
|
<img src="https://dcbadge.vercel.app/api/server/uJAeKSAGDy?style=flat-square&theme=default-inverted" alt="Join LocalAI Discord Community"/>
|
||
|
</a>
|
||
|
|
||
|
<p align="center"><b>Connect with the Creator </b></p>
|
||
|
|
||
|
<p align="center">
|
||
|
<a href="https://twitter.com/mudler_it" target="blank">
|
||
|
<img src="https://img.shields.io/twitter/follow/mudler_it?label=Follow: mudler_it&style=social" alt="Follow mudler_it"/>
|
||
|
</a>
|
||
|
<a href='https://github.com/mudler'>
|
||
|
<img alt="Follow on Github" src="https://img.shields.io/badge/Follow-mudler-black?logo=github&link=https%3A%2F%2Fgithub.com%2Fmudler">
|
||
|
</a>
|
||
|
</p>
|
||
|
|
||
|
<p align="center"><b>Share LocalAI Repository</b></p>
|
||
|
|
||
|
<p align="center">
|
||
|
|
||
|
<a href="https://twitter.com/intent/tweet?text=Check%20this%20GitHub%20repository%20out.%20LocalAI%20-%20Let%27s%20you%20easily%20run%20LLM%20locally.&url=https://github.com/go-skynet/LocalAI&hashtags=LocalAI,AI" target="blank">
|
||
|
<img src="https://img.shields.io/twitter/follow/_LocalAI?label=Share Repo on Twitter&style=social" alt="Follow _LocalAI"/></a>
|
||
|
<a href="https://t.me/share/url?text=Check%20this%20GitHub%20repository%20out.%20LocalAI%20-%20Let%27s%20you%20easily%20run%20LLM%20locally.&url=https://github.com/go-skynet/LocalAI" target="_blank"><img src="https://img.shields.io/twitter/url?label=Telegram&logo=Telegram&style=social&url=https://github.com/go-skynet/LocalAI" alt="Share on Telegram"/></a>
|
||
|
<a href="https://api.whatsapp.com/send?text=Check%20this%20GitHub%20repository%20out.%20LocalAI%20-%20Let%27s%20you%20easily%20run%20LLM%20locally.%20https://github.com/go-skynet/LocalAI"><img src="https://img.shields.io/twitter/url?label=whatsapp&logo=whatsapp&style=social&url=https://github.com/go-skynet/LocalAI" /></a> <a href="https://www.reddit.com/submit?url=https://github.com/go-skynet/LocalAI&title=Check%20this%20GitHub%20repository%20out.%20LocalAI%20-%20Let%27s%20you%20easily%20run%20LLM%20locally.
|
||
|
" target="blank">
|
||
|
<img src="https://img.shields.io/twitter/url?label=Reddit&logo=Reddit&style=social&url=https://github.com/go-skynet/LocalAI" alt="Share on Reddit"/>
|
||
|
</a> <a href="mailto:?subject=Check%20this%20GitHub%20repository%20out.%20LocalAI%20-%20Let%27s%20you%20easily%20run%20LLM%20locally.%3A%0Ahttps://github.com/go-skynet/LocalAI" target="_blank"><img src="https://img.shields.io/twitter/url?label=Gmail&logo=Gmail&style=social&url=https://github.com/go-skynet/LocalAI"/></a> <a href="https://www.buymeacoffee.com/mudler" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:1px"></a>
|
||
|
|
||
|
</p>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
In a nutshell:
|
||
|
|
||
|
- Local, OpenAI drop-in alternative REST API. You own your data.
|
||
|
- NO GPU required. NO Internet access is required either
|
||
|
- Optional, GPU Acceleration is available in `llama.cpp`-compatible LLMs. See also the [build section](https://localai.io/basics/build/index.html).
|
||
|
- Supports multiple models
|
||
|
- 🏃 Once loaded the first time, it keep models loaded in memory for faster inference
|
||
|
- ⚡ Doesn't shell-out, but uses C++ bindings for a faster inference and better performance.
|
||
|
|
||
|
LocalAI was created by [Ettore Di Giacinto](https://github.com/mudler/) and is a community-driven project, focused on making the AI accessible to anyone. Any contribution, feedback and PR is welcome!
|
||
|
|
||
|
Note that this started just as a [fun weekend project](https://localai.io/#backstory) in order to try to create the necessary pieces for a full AI assistant like `ChatGPT`: the community is growing fast and we are working hard to make it better and more stable. If you want to help, please consider contributing (see below)!
|
||
|
|
||
|
## 🚀 Features
|
||
|
|
||
|
- 📖 [Text generation with GPTs](https://localai.io/features/text-generation/) (`llama.cpp`, `gpt4all.cpp`, ... [:book: and more](https://localai.io/model-compatibility/index.html#model-compatibility-table))
|
||
|
- 🗣 [Text to Audio](https://localai.io/features/text-to-audio/)
|
||
|
- 🔈 [Audio to Text](https://localai.io/features/audio-to-text/) (Audio transcription with `whisper.cpp`)
|
||
|
- 🎨 [Image generation with stable diffusion](https://localai.io/features/image-generation)
|
||
|
- 🔥 [OpenAI functions](https://localai.io/features/openai-functions/) 🆕
|
||
|
- 🧠 [Embeddings generation for vector databases](https://localai.io/features/embeddings/)
|
||
|
- ✍️ [Constrained grammars](https://localai.io/features/constrained_grammars/)
|
||
|
- 🖼️ [Download Models directly from Huggingface ](https://localai.io/models/)
|
||
|
|
||
|
## 🔥🔥 Hot topics / Roadmap
|
||
|
|
||
|
- Backend rework for LocalAI v2 https://github.com/go-skynet/LocalAI/issues/1126
|
||
|
- Roadmap: https://github.com/go-skynet/LocalAI/issues?q=is%3Aissue+is%3Aopen+label%3Aroadmap
|
||
|
|
||
|
Some items:
|
||
|
|
||
|
- [ ] Enable gallery management directly from the webui. https://github.com/go-skynet/LocalAI/issues/918
|
||
|
- [x] llama.cpp lora adapters: https://github.com/go-skynet/LocalAI/issues/919
|
||
|
- [ ] image variants and edits: https://github.com/go-skynet/LocalAI/issues/921
|
||
|
- [ ] esrgan for diffusers: https://github.com/go-skynet/LocalAI/issues/917
|
||
|
- [ ] ggml-stablediffusion: https://github.com/go-skynet/LocalAI/issues/916
|
||
|
- [ ] SAM: https://github.com/go-skynet/LocalAI/issues/915
|
||
|
- [x] diffusers lora adapters: https://github.com/go-skynet/LocalAI/issues/914
|
||
|
- [ ] resource management and control: https://github.com/go-skynet/LocalAI/issues/912
|
||
|
- [ ] ChatGLM: https://github.com/go-skynet/LocalAI/issues/754
|
||
|
- [ ] text-to-video : https://github.com/go-skynet/LocalAI/issues/933
|
||
|
- [ ] rustformers: https://github.com/go-skynet/LocalAI/issues/939
|
||
|
- [x] Vall-e: https://github.com/go-skynet/LocalAI/issues/985
|
||
|
- [ ] Speculative sampling: https://github.com/go-skynet/LocalAI/issues/1013
|
||
|
- [ ] Falcon/GPTNeoX on llama.cpp: https://github.com/go-skynet/LocalAI/issues/1009
|
||
|
- [ ] transformers/vllm: https://github.com/go-skynet/LocalAI/issues/1015
|
||
|
- [ ] TortoiseTTS: https://github.com/go-skynet/LocalAI/issues/1016
|
||
|
- [ ] Exllama2: https://github.com/go-skynet/LocalAI/issues/1053
|
||
|
- [ ] ctransformers: https://github.com/go-skynet/LocalAI/issues/1056
|
||
|
- [ ] GPTQ for LLama: https://github.com/go-skynet/LocalAI/issues/1055
|
||
|
- [ ] LLaVA and miniGPT-4: https://github.com/go-skynet/LocalAI/issues/1054
|
||
|
- [ ] Test generation inference: https://github.com/go-skynet/LocalAI/issues/1042
|
||
|
- [ ] docs - extending LocalAI with external backends: https://github.com/go-skynet/LocalAI/issues/1057
|
||
|
|
||
|
|
||
|
## How does it work?
|
||
|
|
||
|
LocalAI is an API written in Go that serves as an OpenAI shim, enabling software already developed with OpenAI SDKs to seamlessly integrate with LocalAI. It can be effortlessly implemented as a substitute, even on consumer-grade hardware. This capability is achieved by employing various C++ backends, including [ggml](https://github.com/ggerganov/ggml), to perform inference on LLMs using both CPU and, if desired, GPU. Internally LocalAI backends are just gRPC server, indeed you can specify and build your own gRPC server and extend LocalAI in runtime as well. It is possible to specify external gRPC server and/or binaries that LocalAI will manage internally.
|
||
|
|
||
|
LocalAI uses a mixture of backends written in various languages (C++, Golang, Python, ...). You can check [the model compatibility table]({{%relref "model-compatibility" %}}) to learn about all the components of LocalAI.
|
||
|
|
||
|
![localai](https://github.com/go-skynet/localai-website/assets/2420543/6492e685-8282-4217-9daa-e229a31548bc)
|
||
|
|
||
|
## Contribute and help
|
||
|
|
||
|
To help the project you can:
|
||
|
|
||
|
- If you have technological skills and want to contribute to development, have a look at the open issues. If you are new you can have a look at the [good-first-issue](https://github.com/go-skynet/LocalAI/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and [help-wanted](https://github.com/go-skynet/LocalAI/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels.
|
||
|
|
||
|
- If you don't have technological skills you can still help improving documentation or [add examples](https://github.com/go-skynet/LocalAI/tree/master/examples) or share your user-stories with our community, any help and contribution is welcome!
|
||
|
|
||
|
## 🌟 Star history
|
||
|
|
||
|
[![LocalAI Star history Chart](https://api.star-history.com/svg?repos=go-skynet/LocalAI&type=Date)](https://star-history.com/#go-skynet/LocalAI&Date)
|
||
|
|
||
|
## 📖 License
|
||
|
|
||
|
LocalAI is a community-driven project created by [Ettore Di Giacinto](https://github.com/mudler/).
|
||
|
|
||
|
MIT - Author Ettore Di Giacinto
|
||
|
|
||
|
## 🙇 Acknowledgements
|
||
|
|
||
|
LocalAI couldn't have been built without the help of great software already available from the community. Thank you!
|
||
|
|
||
|
- [llama.cpp](https://github.com/ggerganov/llama.cpp)
|
||
|
- https://github.com/tatsu-lab/stanford_alpaca
|
||
|
- https://github.com/cornelk/llama-go for the initial ideas
|
||
|
- https://github.com/antimatter15/alpaca.cpp
|
||
|
- https://github.com/EdVince/Stable-Diffusion-NCNN
|
||
|
- https://github.com/ggerganov/whisper.cpp
|
||
|
- https://github.com/saharNooby/rwkv.cpp
|
||
|
- https://github.com/rhasspy/piper
|
||
|
- https://github.com/cmp-nct/ggllm.cpp
|
||
|
|
||
|
## Backstory
|
||
|
|
||
|
As much as typical open source projects starts, I, [mudler](https://github.com/mudler/), was fiddling around with [llama.cpp](https://github.com/ggerganov/llama.cpp) over my long nights and wanted to have a way to call it from `go`, as I am a Golang developer and use it extensively. So I've created `LocalAI` (or what was initially known as `llama-cli`) and added an API to it.
|
||
|
|
||
|
But guess what? The more I dived into this rabbit hole, the more I realized that I had stumbled upon something big. With all the fantastic C++ projects floating around the community, it dawned on me that I could piece them together to create a full-fledged OpenAI replacement. So, ta-da! LocalAI was born, and it quickly overshadowed its humble origins.
|
||
|
|
||
|
Now, why did I choose to go with C++ bindings, you ask? Well, I wanted to keep LocalAI snappy and lightweight, allowing it to run like a champ on any system and avoid any Golang penalties of the GC, and, most importantly built on shoulders of giants like `llama.cpp`. Go is good at backends and API and is easy to maintain. And hey, don't forget that I'm all about sharing the love. That's why I made LocalAI MIT licensed, so everyone can hop on board and benefit from it.
|
||
|
|
||
|
As if that wasn't exciting enough, as the project gained traction, [mkellerman](https://github.com/mkellerman) and [Aisuko](https://github.com/Aisuko) jumped in to lend a hand. mkellerman helped set up some killer examples, while Aisuko is becoming our community maestro. The community now is growing even more with new contributors and users, and I couldn't be happier about it!
|
||
|
|
||
|
Oh, and let's not forget the real MVP here—[llama.cpp](https://github.com/ggerganov/llama.cpp). Without this extraordinary piece of software, LocalAI wouldn't even exist. So, a big shoutout to the community for making this magic happen!
|
||
|
|
||
|
## 🤗 Contributors
|
||
|
|
||
|
This is a community project, a special thanks to our contributors! 🤗
|
||
|
<a href="https://github.com/go-skynet/LocalAI/graphs/contributors">
|
||
|
<img src="https://contrib.rocks/image?repo=go-skynet/LocalAI" />
|
||
|
</a>
|
||
|
<a href="https://github.com/go-skynet/LocalAI-website/graphs/contributors">
|
||
|
<img src="https://contrib.rocks/image?repo=go-skynet/LocalAI-website" />
|
||
|
</a>
|