【内网Tesla T4_16G为例】超详细部署安装ollama、加载uugf格式大模型qwen2、chatglm3及大模型的使用

前言

1. 因为是内网环境,所以文章中的安装过程,不贴实际安装过程的图片。

2. 因为是内网环境,所以所有的安装包都是先外网下载好,拷贝到内网执行的。下面所有安装包都是如此,不再赘述

3. 该服务器除系统盘60G之外,还有一个扩展盘100G,我们可以理解为windows电脑的D盘,我的所有安装包都会装在该盘,如果你只有一个盘,可以新建一个文件夹安装,不建议安装在系统盘的其他文件夹中

安装ollama

刚开始的时候没有太注意安装的方式,直接把ollama安装到了系统盘,这样会导致系统盘会大量被占用,所以下面的安装之前会先卸载原来安装的ollama,然后再安装。

卸载ollama

(1)停止并禁用服务

sudo systemctl stop ollama
sudo systemctl disable ollama

(2)删除服务文件和Ollama二进制文件

sudo rm /etc/systemd/system/ollama.service 
sudo rm $(which ollama)

(3)清理Ollama用户和组

sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama

开始安装ollama

(1)先下载到本地
我当时下的版本是v0.2.0的ollama-linux-arm64 (这本身就是一个可执行文件,可以直接使用)
,下载地址在这里https://github.com/ollama/ollama/releases,根据自己的处理器下载。将其拷贝到内网的某个目录,拷贝到内网机器就不说了,就是U盘。
(2)创建非系统盘的安装目录和模型存储目录

  • 选择一个合适的非系统盘路径,例如 /data/software/ollama,并在该路径下创建所需目录.
# 用于存放ollama-linux-arm64文件
mkdir -p /data/software/ollama/bin
# 用于存放执行的模型
mkdir -p /data/software/ollama/models/ollama
# 用于存放用户
mkdir -p /data/software/ollama/ollama_u

(3) 复制 ollama-linux-amd64 文件到安装目录

  • 将下载的文件复制到 bin 目录,并赋予可执行权限
# 这里拷贝过去的同时把ollama-linux-amd64名称改为了ollama
cp /path/to/ollama-linux-amd64 /data/software/ollama/bin/ollama
# 赋予权限
chmod +x /data/software/ollama/bin/ollama

(4)创建ollama用户

sudo useradd -r -s /bin/false -m -d /data/software/ollama/ollama_u ollama
# 想查询该用户的信息,使用以下两个命令
id ollama
getent passwd ollama

(5)配置环境变量 (可选项)

  • 为了从任何命令行都能运行 ollama,可以将 ollama 的路径添加到环境变量 PATH 中。在你的 shell 配置文件中(例如 .bashrc 或 .zshrc),添加以下行:
# 打开这个文件
nano ~/.bashrc
# 把下面这句话放到文件中最下面一行,Ctrl+x,y,enter(这三步,退出,保存,确定)
export PATH=/data/software/ollama/bin:$PATH

(6)刷新环境变量(可选项)

  • 使新的环境变量生效
source ~/.bashrc 

(7)修改存储位置及Host地址

  • 如果选择自动安装,安装程序会自动创建用户,并创建相应的服务配置文件,并启动服务。如果是手动安装,则需要自己创建配置文件。
  • Ollama模型默认存储在:
macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users\<username>\.ollama\models
  • 我们使用手动配置,执行以下命令:
sudo vim /etc/systemd/system/ollama.service
  • 编辑文件内容命令为
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/data/software/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
#Environment="PATH=/home/ps/anaconda3/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" ,环境变量也可以在这配置
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/software/ollama/models/ollama"

[Install]
WantedBy=default.target

因为需要从其他服务器访问ollama服务,所以需要将host设置成0.0.0.0。
配置完之后,再加一步授权的动作

cd /data/software/ollama/models
# ollama:ollama: 表示用户 ollama 和组 ollama。这表示将目录的所有权赋予用户 ollama和组ollama。
# ollama/: 指的是刚刚创建的 ollama 目录。
sudo chown ollama:ollama ollama/ 

(8)创建一个符号链接

sudo ln -s /data/software/ollama/bin/ollama /usr/bin/ollama

这条命令是在Linux系统中创建一个符号链接(symbolic link),具体解释如下:

  • sudo: 以超级用户(root)权限执行命令。
  • ln: 用于创建链接的命令。
  • -s: 表示创建一个符号链接(symbolic link),而不是硬链接(hard link)。
  • /data/software/ollama/bin/ollama: 这是源文件的路径,即你想要链接到的实际文件。
  • /usr/bin/ollama: 这是符号链接的目标路径,即你想要创建链接的地方。

这条命令的作用是:

  • 在 /usr/bin/ 目录下创建一个名为 ollama 的符号链接,这个链接指向 /data/ollama/bin/ollama 文件。这样,当你在命令行中运行 ollama 命令时,系统会实际上执行 /data/ollama/bin/ollama 文件。
  • 它指向原始文件的位置,而不会占用额外的磁盘空间来存储文件内容。

(9)启动ollama

# 这条命令告诉systemd重新读取所有服务单元的配置文件。
sudo systemctl daemon-reload
# 这条命令会在systemd的启动目标中创建一个符号链接,指向ollama服务的配置文件(ollama.service),从而在系统启动时自动启动该服务。
sudo systemctl enable ollama
sudo systemctl start ollama
# 以下两种查看ollama是否安装成功
ollama
ollama --version

(10)查看日志

  • 若您需要查看Ollama的运行日志,特别是在遇到问题需要调试时,可以使用以下命令:
journalctl -u ollama

(11)下载模型
因为是内网环境,所以还是要把模型在外网下载好,然后拷贝到内网中,不能连接国外网站的,可以到Hugging Face的国内镜像地址去下载,地址:https://hf-mirror.com/Qwen/Qwen2-7B-Instruct-GGUF/tree/main。
我下载的是Qwen2-7B-Instruct-GGUF,精度是q8的,相当于int8。根据自己机器情况下载。在这里插入图片描述
(11)加载模型
模型还是拷贝到内网去的,目录随便,不过不建议放在系统盘。
建议一个模型新建一个文件夹,比如通义千问的你就建一个qwen2的文件夹,智谱清言的你就建一个chatglm3的文件夹。把模型拷贝进去。
以下以qwen大模型为例,其他模型都一样,要保证Modelfile和模型源文件在一个文件夹里。
其他关于Modelfile的配置可参考:https://github.com/ollama/ollama/blob/main/docs/modelfile.md

# 进入模型所在目录
cd /data/models/qwen2
# 新建一个名字为Modelfile的文件
touch Modelfile
# 编辑文件
vim Modelfile
# 加入下面这段代码,这个是加载模型的命令,因为他们在同一个文件夹,可以这样写
FROM ./qwen2-7b-instruct-q8_0.gguf
# 保存退出之后,执行以下命令,加载模型,create后面是你自定义的模型名称
ollama create qwen2-7b-q8 -f Modelfile
# 执行之后,该模型会被加载到我们之前配置的模型地址中(/data/software/ollama/models/ollama)

(12)本地运行模型

  • 执行下面的命令就可以聊天了
ollama run qwen2-7b-q8
  • 退出 Ctrl+d
    (13)API使用
    举个例子,地址应该替换成,你当前部署ollama的机器
from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1/',
    # required but ignored
    api_key='qwen2-7b-q8',
)

chat_completion = client.chat.completions.create(
 
    messages=[#{'role': 'system', 'content': '你是一名牙科医生'},
               {'role': 'user', 'content': '我最近牙比较疼,应该怎么办'}],
    model='qwen2-7b-q8',
)
content = chat_completion.choices[0].message.content

具体使用可参考:
https://github.com/ollama/ollama/blob/main/docs/api.md

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值