LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署

介绍

LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品,与本地推理的 OpenAI API 规范兼容。 它无需 GPU,还有多种用途集成,允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等,支持多个模型系列。

启动方式

1. Linux AMD64 docker 启动

bash 复制代码
helm repo add go-skynet https://go-skynet.github.io/helm-charts/
helm search repo go-skynet
helm pull go-skynet/local-ai
tar -xvf local-ai-3.1.0.tgz && cd local-ai
vim value.yaml
# 取消下面截图的注释
bash 复制代码
helm install --create-namespace local-ai . -n local-ai -f values.yaml

2. Mac M2 手动启动

bash 复制代码
# install build dependencies
brew install abseil cmake go grpc protobuf wget

# clone the repo
git clone https://github.com/go-skynet/LocalAI.git

cd LocalAI

# build the binary
make build
# make BUILD_TYPE=metal build
## Set `gpu_layers: 1` to your YAML model config file and `f16: true`
## Note: only models quantized with q4_0 are supported!

# 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/

# Run LocalAI
./local-ai --models-path=./models/ --debug=true
使用
bash 复制代码
# Now API is accessible at localhost:8080
curl http://localhost:8080/v1/models
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
   }'

官方编译启动文档

FQA

Q1: 编译报错日志 sources/go-llama/llama.go:372:13: undefined: min
bash 复制代码
binding.cpp:333:67: warning: format specifies type 'size_t' (aka 'unsigned long') but the argument has type 'int' [-Wformat]
binding.cpp:809:5: warning: deleting pointer to incomplete type 'llama_model' may cause undefined behavior [-Wdelete-incomplete]
sources/go-llama/llama.cpp/llama.h:60:12: note: forward declaration of 'llama_model'
# github.com/go-skynet/go-llama.cpp
sources/go-llama/llama.go:372:13: undefined: min
note: module requires Go 1.21
make: *** [backend-assets/grpc/llama] Error 1

需要使用 go 1.21 版本

bash 复制代码
brew install mercurial
# 安装 gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# gvm直接生效
source ~/.gvm/scripts/gvm
# 查看版本
gvm install go1.21.7
gvm use go1.21.7
复制代码
CMake Error at /opt/homebrew/lib/cmake/protobuf/protobuf-targets.cmake:71 (set_target_properties):
  The link interface of target "protobuf::libprotobuf" contains:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /opt/homebrew/lib/cmake/protobuf/protobuf-config.cmake:16 (include)
  examples/grpc-server/CMakeLists.txt:34 (find_package)

需要更新一下 protobuf 和 abseil 版本

bash 复制代码
brew uninstall protobuf abseil
sudo port install re2 grpc abseil
相关推荐
书弋江山7 小时前
iOS一直讲的单元格优化
macos·ios·cocoa
算家计算11 小时前
AI大神100美元手搓ChatGPT!nanochat教程爆火,4小时炼成聊天机器人
人工智能·chatgpt·资讯
腾讯云云开发12 小时前
极限AI Coding,腾讯云“黑客松”大赛回顾(内有作品开源)
openai·ai编程·小程序·云开发
Mr.Lee jack12 小时前
体验GPT-OSS-120B:在PH8平台上探索超大规模语言模型的强大能力
人工智能·gpt·语言模型·openai·deepseek
阿四12 小时前
mac升级系统到macOS26后触控板滑动异常,原因竟然是这个!
macos
新智元12 小时前
OpenAI 官宣自研首颗芯片,AI 界「M1 时刻」九个月杀到!联手博通三年 10GW
人工智能·openai
新智元12 小时前
Karpathy「疯狂之作」:100 美元、4 小时,就能训练你自己的「小型 GPT」
人工智能·openai
mortimer13 小时前
从 Python+venv+pip 迁移到 uv 全过程 及 处理 torch + cuda 的跨平台指南
pytorch·python·macos
机器之心13 小时前
OpenAI官宣自研造芯,联手博通开发10吉瓦规模的AI加速器
人工智能·openai
机器之心14 小时前
100美元、8000行代码手搓ChatGPT,Karpathy最新开源项目爆火,一夜近5k star
人工智能·openai