本文最后更新于 2024-06-28,文章内容可能已经过时。

前言

大家好,这里是可爱的Cherry。
今天为大家带来一款不需要依托GPU也可以在本地运行离线AI项目——LoaclAI
该项目可以运行任何自定义的AI模型,最重要的是可以代替openAI的API用在本地的浏览界面上。
image.png

image.png

# 系统部署

🟡系统部署前,先新建一个文件夹,本文实例中为/volume1/docker/localai/models。

一、下载模型

🔻下载模型,把模型放到刚才新建的文件夹/volume1/docker/localai/models下。
这里推荐的模型下载站点,第一抱脸虫(huggingface)了,访问的话需要魔法。国内用户的可以访问抱脸虫镜像站hf-mirror.
image.png
image.png

二、docker-compose.yaml代码

🔻新建一个文件夹,可以用项目为名字。在文件夹下新建一个docker-compose.yaml文件,将下面代码复制进去。

version: "3.6"
services:
  api:
    image: quay.io/go-skynet/local-ai:master-ffmpeg-core
    ports:
      - 56787:8080
    environment:
      - MODELS_PATH=/models
      #- DEBUG=true
      - CORS=true  #允许跨越访问,使用api必须开启
      - CORS_ALLOW_ORIGINS=*   #允许跨域的白名单
      - THREADS=4  #这里是线程数,根据CPU情况调整
    volumes:
      - /volume1/docker/localai/models:/models:cached
networks: {}

三、SSH部署(推荐)

通过SSH工具,例如finalshell,登录NAS系统,输入如下指令。

#来到文件夹
cd /volume1/docker/localai/
#启动容器,这里需要NAS管理员密码
sudo docker-compose up -d

四、群晖部署compose(群晖7.2)

打开container manager,选择项目,点击新建,选择localai路径,点击下一步即可
image.png

五、威联通部署compose

打开container station,创建应用程序,复制代码验证后部署即可
image.png


系统使用

一、查询现有模型

🔻项目支持两种模式查询现有的模型,第一种是打开网页查看http(s)://ip:port/v1/models
image.png
第二种是通过curl指令查询,curl http(s)://localhosy:port/v1/models
image.png

二、API使用方案

curl http://localhost:56787/v1/completions -H "Content-Type: application/json" -d '{ 
	"model": "phi-2.Q8_0.gguf", 
	"prompt": "A long time ago in a galaxy far, far away", 
	"temperature": 0.7 
	}'

model是模型的名字,就是/volume1/docker/models文件夹下的具体模型名字
prompt是发送的内容
temperature是创造力水平,默认0.7

这是返回的结果,沿着我们输入的文本继续往下走了。
image.png

三、和chatgpt-next-web对接

🔻输入自定义接口地址,http://ip:port,不需要填/v1/competions的路径,模型还是选择phi-2.Q8_0.gguf
image.png
🔻开启新对话设置,选择刚才的模型,并定义随机性、新鲜度等参数值。
image.png