本方案采用 llamafile 的格式,只需单个文件即可跨平台运行模型,并提供 webui 界面和类 openai api 服务。极大的降低了使用门槛。关于 llamafile 可参考 llamafile使用指南 或者 项目地址 。
Windows 系统
Windows 系统不支持单个 exe 文件超过 4GB 的限制,所以需要分别下载 llamafile 和 gguf 模型运行;此外,也可以通过 Windows 的 WSL 子系统(Linux)运行,同样可以绕过 4GB 的限制
1. 下载 llamafile.exe 程序
下载后解压得到 llamafile-0.6.2.exe
文件。
2. 下载 Qwen1.5-7B-Chat-GGUF 模型
下载地址:
Qwen1.5-7B-Chat-GGUF: 70 亿参数的 q5_k_m 量化版本,5.15GB。
Qwen1.5-14B-Chat-GGUF: 140 亿参数的 q5_k_m 量化版本,9.81GB。
3. 打开 cmd
或者 terminal
命令行窗口,进入模型所在目录
1
.\llamafile-0.6.2.exe -m .\qwen1.5-7b-chat-q5_k_m.gguf -ngl 9999 --port 8080 --host 0.0.0.0
浏览器打开 http://127.0.0.1:8080
即可开始聊天
Linux、Mac 系统
1. 下载 Qwen-7B-Chat 模型
这个模型是 70 亿参数的 int4 量化版本,4.23GB。
2. 运行 Qwen-7B-Chat 模型
- 终端运行(注意 Mac 系统可能需要授权,在【设置】→ 【隐私与安全】点击【仍然打开】进行授权)
1
./Qwen-7B-Chat-q4_0.llamafile
- 浏览器打开
http://127.0.0.1:8080
即可开始聊天
效果截图
chatbox 等 gpt 客户端使用设置
选择 openai api,设置 url 为对应的 ip 和端口即可,如下图所示:
python 接口调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/env python3
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1", # "http://<Your api-server IP>:port"
api_key = "sk-no-key-required"
)
completion = client.chat.completions.create(
model="LLaMA_CPP",
messages=[
{"role": "system", "content": "您是一个人工智能助手。您的首要任务是帮助用户实现他们的请求,以实现用户的满足感。"},
{"role": "user", "content": "写一首龙为主题的诗"}
]
)
print(completion.choices[0].message)
可选参数说明
-ngl 999
表示模型的多少层放到 GPU 运行,其他在 CPU 运行,如果没有 GPU 则可设置为-ngl 0
,默认是 999,也就是全部在 GPU 运行(需要装好驱动和 CUDA 运行环境)。--host 0.0.0.0
web 服务的hostname,如果只需要本地访问可设置为--host 127.0.0.1
,默认是0.0.0.0
,即网络内可通过 ip 访问。--port 8080
web服务端口,默认8080
,可通过该参数修改。-t 16
线程数,当 cpu 运行的时候,可根据 cpu 核数设定多少个内核并发运行。- 其他参数可以通过
--help
查看。