LocalAI 是一個用于本地推理的 與OpenAI API 規範相容的REST API, 它允許使用消費級硬體在本地或本地運作模型,支援llama.cpp、alpaca.cpp、gpt4all.cpp、rwkv.cpp、whisper.cpp、vicuna、koala、gpt4all-j、cerebras 等大模型。
推薦:用 NSDT設計器 快速搭建可程式設計3D場景。
- OpenAI 替代性REST API
- 支援多種模型
- 第一次加載後,它會将模型加載到記憶體中以進行更快的推理
- 支援提示模闆
- 使用 C++ 綁定來實作更快的推理和更好的性能。
LocalAI 是一個社群驅動的項目,專注于讓任何人都能通路 AI。 它最初是由 SpectroCloud OSS 辦公室的 mudler 建立的。
LocalAI 使用 C++ 綁定來優化速度。 它基于用于音頻轉錄的 llama.cpp、gpt4all、rwkv.cpp、ggml、whisper.cpp 和用于嵌入的 bert.cpp。
1、LocalAI工作原理
2、LocalAI模型相容性
LocalAI與 llama.cpp 支援的模型相容,還支援 GPT4ALL-J 和帶有 ggml 的 cerebras-GPT。LocalAI還應該與 StableLM 和 GPTNeoX ggml 模型相容,但我們尚未測試過。
模型相容性清單如下:
3、LocalAI使用方法
LocalAI 預設作為容器鏡像出現。 可以在此處檢視帶有相應标簽的所有可用鏡像。
運作 LocalAI 的最簡單方法是使用 docker-compose:
git clone https://github.com/go-skynet/LocalAI
cd LocalAI
# (optional) Checkout a specific LocalAI tag
# git checkout -b build <TAG>
# copy your models to models/
cp your-model.bin models/
# (optional) Edit the .env file to set things like context size and threads
# vim .env
# start with docker-compose
docker-compose up -d --build
# Now API is accessible at localhost:8080
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"your-model.bin","object":"model"}]}
curl http://localhost:8080/v1/completions -H "Content-Type: application/json" -d '{
"model": "your-model.bin",
"prompt": "A long time ago in a galaxy far, far away",
"temperature": 0.7
}'
下面是使用 GPT4ALL-J 模型的示例:
# Clone LocalAI
git clone https://github.com/go-skynet/LocalAI
cd LocalAI
# (optional) Checkout a specific LocalAI tag
# git checkout -b build <TAG>
# Download gpt4all-j to models/
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
# Use a template from the examples
cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/
# (optional) Edit the .env file to set things like context size and threads
# vim .env
# start with docker-compose
docker-compose up -d --build
# Now API is accessible at localhost:8080
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"ggml-gpt4all-j","object":"model"}]}
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "ggml-gpt4all-j",
"messages": [{"role": "user", "content": "How are you?"}],
"temperature": 0.9
}'
# {"model":"ggml-gpt4all-j","choices":[{"message":{"role":"assistant","content":"I'm doing well, thanks. How about you?"}}]}
原文連結:http://www.bimant.com/blog/localai/