1. 安装Anaconda
OS: Ubuntu 22.04
安装前需要安装系统依赖。
apt-get update
apt update
apt upgrade
apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
下载安装脚本。把INSTALLER_VERSION
替换为想要下载的版本,可以查看这里。
curl -O https://repo.anaconda.com/archive/Anaconda3-<INSTALLER_VERSION>-Linux-x86_64.sh
执行安装脚本。
sh Anaconda3-<INSTALLER_VERSION>-Linux-x86_64.sh
2. 创建Python虚拟环境
conda create -n llm python=3.11
conda activate llm
pip install -U pip
3. 安装Ollama
非下载,直接执行安装脚本。
curl -fsSL https://ollama.com/install.sh | sh
具体安装教程可参考官方教程。
4. 运行Ollama
这里需要注意:用ollama run
命令运行启动的是可以直接对话的,如果想要以后端方式启动使用ollama serve
命令。
ollama run qwen:1.8b-chat # cmd 命令方式对话
export OLLAMA_HOST="0.0.0.0:6006" # 一定要记得修改监听地址为 0.0.0.0,否则默认只能 127.0.0.1访问,默认端口是 11434
ollama serve # 后端服务器方式
4.1 修改方式监听端口
方式一:
export OLLAMA_HOST="0.0.0.0:6006"
方式二:修改/etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0:6006"
更多其它模型可以到Ollama官方library。
5. 测试
curl --location --request POST '192.168.1.124:6006/api/chat' --header 'Content-Type: application/json' --data '{"model": "qwen:1.8b-chat", "messages": [{"role": "user", "content": "你是谁?"}]}'
更多接口,可以点击这里查看
6. 自定义模型
我们通过上面的方式是运行别人发布到ollama
仓库的模型,那如果我们想要自定义一个自己的模型,应该如何处理呢?
克隆项目到服务器:
git clone git@github.com:ollama/ollama.git ollama
cd ollama
获取子模块:
git submodule init
git submodule update llm/llama.cpp
安装Python
依赖:
python3 -m venv llm/llama.cpp/.venv
source llm/llama.cpp/.venv/bin/activate
pip install -r llm/llama.cpp/requirements.txt
构建量化工具:
前提安装了g++
和gcc
,如果没有安装,可以执行下面命令安装:
apt install g++
apt install gcc
```shell
make -C llm/llama.cpp quantize
模型转为GGUF
格式:注意:如果使用的是qwen
模型,则用convert-hf-to-gguf.py
替换convert.py
。
python llm/llama.cpp/convert.py ./model --outtype f16 --outfile converted.bin
模型量化:支持的参数值如下:从最高量化级别到最低量化级别。
q2_K
q3_K
q3_K_S
q3_K_M
q3_K_L
q4_0 (推荐)
q4_1
q4_K
q4_K_S
q4_K_M
q5_0
q5_1
q5_K
q5_K_S
q5_K_M
q6_K
q8_0
f16
```shell
llm/llama.cpp/quantize converted.bin quantized.bin q4_0
编写Modelfile
文件:
FROM quantized.bin
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
根据Modelfile
创建Ollama
模型:
ollama create <model_name> -f Modelfile
运行模型:
ollama run model_name "What is your favourite condiment?"
评论区