Ollama 部署大模型

1,079 阅读4分钟

由于每次调用 OpenAI 等大模型都会产生费用,这个成本问题可以在开发环节可以通过私有化部署 LLM 的方式来避免。

Ollama 简介

Ollama 是一个开源的大型语言模型服务工具,专注于在本地运行大型语言模型。用户可以通过简单的安装指令在本地运行开源大型语言模型,如 Llama 3.1。Ollama 支持 MacOS、Windows 和 Linux,提供了简洁明了的安装和运行指令,让用户无需深入了解复杂的配置即可启动和运行。

官方网站:ollama.com

GitHub 地址:github.com/ollama/olla…

安装 Ubuntu

1、开启 Hyper -V 和 适用于 Linux 的 Windows 子系统。

image-20240729224530226.png

2、Microsoft Store 下载并安装 Ubuntu。

image.png

3、初始化 Ubuntu,输入账号和密码。

image-20240729224354964.png

4、默认安装到C盘,可以迁移到其它盘,操作如下:

  1. 进入应用 --> 安装的应用,选中 Ubuntu,右键弹出高级选项,选中重置那栏,点击重置。

  2. 退出高级选择,返回上一层,右键弹出的移动,选择目标盘,点击确认即可。

安装 Docker

1、删除任何以前的 Docker 安装

sudo apt-get remove docker docker-engine docker.io

image.png

2、安装依赖包以通过 HTTPS 访问 Docker 库

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

image.png

3、添加 Docker 和阿里云的 GPG key

添加 Docker 官方 GPG key (可能国内现在访问会存在问题)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

image.png

添加阿里云的 gpg KEY

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

image.png

4、添加 Docker 和阿里云的 apt 源并更新源

添加 Docker 官方的 apt 源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

添加阿里云的 apt 源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新源

sudo apt update
sudo apt-get update

5、安装 Docker

安装最新版本的 Docker

sudo apt install docker-ce docker-ce-cli containerd.io

查看 Docker 版本

sudo docker version

image.png

查看 Docker 运行状态

sudo systemctl status docker

image.png

6、允许非 Root用户执行 docker 命令

当我们安装好了 Docker 之后,有两种方式来执行 docker 命令:

  • 在 docker 命令前加上 sudo, 比如:sudo docker ps
  • sudo -i 切换至 root,再执行 docker 命令

以下操作可以让当前用户在不切 root,或者不加 sudo 的情况下正常使用 docker 命令。

添加 docker 用户组

sudo groupadd docker

将当前用户添加到用户组

sudo usermod -aG docker asyyr

使权限生效

newgrp docker

检查是否生效,查看所有容器:

docker ps -a

让权限持久化生效

sed -i '$a\groupadd -f docker' ~/.bashrc

7、配置阿里云加速镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://阿里云专属加速地址.mirror.aliyuncs.com",
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

检查加速是否生效: 查看 docker 系统信息 docker info,如果从输出结果中看到了 registry mirror 刚配置的内容地址,说明配置成功。

安装 Ollama

CPU 模式

docker run -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

查看安装情况:

image.png

GPU 模式

GPU 模式需要有 NVIDIA 显卡支持,安装 NVIDIA 容器工具包

# 1.配置apt源
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 2.更新源
sudo apt-get update --fix-missing
# 3.安装工具包
sudo apt-get install -y nvidia-container-toolkit

使用 GPU 运行 ollama

docker run --gpus all -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

加速 Ollama 下载

修改hosts文件

sudo vim /etc/hosts

github.com 做个 ip 指向:

# github 注意下面的IP地址和域名之间有一个空格
140.82.114.3 github.com
199.232.69.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com

安装大模型

sudo docker exec -it ollama ollama run glm4:latest

image.png

ollama模型仓库:ollama.com/library, 可以选择自己想用的模型安装。

Ollama 命令

ollama serve		# 启动ollama
ollama create		# 从模型文件创建模型
ollama show		# 显示模型信息
ollama run		# 运行模型
ollama pull		# 从注册仓库中拉取模型
ollama push		# 将模型推送到注册仓库
ollama list		# 列出已下载模型
ollama cp			# 复制模型
ollama rm			# 删除模型
ollama help		# 获取有关任何命令的帮助信息

image.png

文档参考