随着ChatGPT被大规模的使用,现在各种大语言模型陆续涌现,几个月前我尝试了一下,发现比较笨,和Openai提供的服务完全没法比,就失去了兴趣。最近有人在issue区里提到matrix_chatgpt_bot的作图功能在使用LocalAI后端时无法正常工作。为了解决这个问题,我就顺带又测试了一些新的聊天和作图模型,被它们的发展速度震惊到了。
下面将介绍LocalAI的搭建,以及安装大语言模型(mistral)和作图模型(sdxl-turbo)的方法。
安装LocalAI
这里为了方便,我们采用docker部署相关服务。
假设我们的工作路径是~/localai
,现在创建一个 compose.yaml 文件
services:
api:
image: quay.io/go-skynet/local-ai:latest
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
interval: 1m
timeout: 20m
retries: 5
ports:
- 127.0.0.1:12345:8080
environment:
- DEBUG=true
volumes:
- ./models:/build/models:cached
- ./images:/tmp/generated/images
然后启动容器
docker compose up -d
由于镜像非常的大,下载和解压需要时间,请耐心等待容器运行起来。
安装大语言模型
这里我选用的是mistral模型,这也是我测试下来发现性能最接近gpt-3.5-turbo的模型。得益于LocalAI模块化的设计,开发者设计了一套模型仓库,里面提供了很多开箱即用的配置文件。因此我们只需要一条命令就能安装mistral模型。
curl http://localhost:12345/models/apply -H "Content-Type: application/json" -d '{ "id": "model-gallery@mistral" }'
你可以查看容器的日志判断模型是否下载完毕
docker compose logs
下载好后,你会在models目录下看到模型以及相关的配置文件。
这里我用 mistral-ft-optimized-1218.Q5_K_S.gguf 替换了默认的 mistral-7b-openorca.Q6_K.gguf 模型,你只需要编辑 models/mistral.yaml 文件,修改parameters->model 配置 (也可以不做更改,使用默认的即可)
最后使用curl
在终端里测试一下
curl http://localhost:12345/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "mistral",
"messages": [{"role": "user", "content": "你好呀?" }]
}'
安装sdxl-turbo作图模型
该模型的优点是出图快,质量也还好。只需要一个步长(step)就能得到结果,在我的Intel 4核 N100 CPU上,大概20多秒就能出一张图。
在 models 目录下创建 stablediffusion.yaml 文件
name: stablediffusion
parameters:
model: stabilityai/sdxl-turbo
backend: diffusers
step: 1
cuda: false
# Force CPU usage - set to true for GPU
f16: false
diffusers:
scheduler_type: euler_a
cfg_scale: 1
然后重启容器
docker compose restart
接着使用下面的命令生成第一张图片,程序会在模型不存在时自动帮你下载
curl http://127.0.0.1:12345/v1/images/generations -H "Content-Type: application/json" -d '{
"prompt": "face focus, cute, masterpiece, best quality, 1girl, green hair, sweater, looking at viewer, upper body, beanie, outdoors, night, turtleneck",
"size": "512x512"
}'
耐心等待模型下载完毕,就会开始作图了。
到这里作图模型算是安装完了。
结语
本来我是想直接编译使用的,但被编译问题给整麻了,最后图省事用了docker,当然代价就是用空间换便利了,70多G的镜像!!!
希望上面的教程能够给那些想要使用LocalAI部署相关服务的朋友提供一些帮助。
发表回复