侧边栏壁纸
博主头像
lukeewin的博客博主等级

行动起来,活在当下

  • 累计撰写 10 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Ubuntu部署ollama

Administrator
2024-09-13 / 0 评论 / 0 点赞 / 6 阅读 / 3606 字 / 正在检测是否收录...

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?"
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区