【LLM】Ollama:本地大模型使用

本指南将详细介绍如何在Linux系统上使用Ollama进行本地大模型的快速部署与管理。通过Docker容器化技术,您可以轻松部署Ollama及其WebUI,实现通过浏览器访问和管理大型语言模型。

快速部署,Web访问

安装Docker

根据操作系统下载并安装 Docker Desktop(Windows/macOS)或使用包管理工具(如 apt)安装 Docker(Linux)。

使用Ollama和Open WebUI独立部署

部署Ollama容器

首先,启动Ollama服务容器,可以使用 GPU 运行 Ollama,修改你的 Docker 命令,添加 --gpus all 参数来使用 GPU:

docker run -d --name ollama \
  -p 11434:11434 \
  -v ollama_data:/ollama/data \
  --restart always \
  ollama/ollama:latest

命令解析:

  • -d:后台运行容器。
  • --name ollama:指定容器名称为ollama
  • -p 11434:11434:将主机的11434端口映射到容器的11434端口,用于API访问。
  • -v ollama_data:/ollama/data:挂载卷,确保数据持久化。
  • --restart always:设置容器自动重启策略。
  • ollama/ollama:latest:指定使用最新版本的Ollama镜像。
部署Open WebUI容器

接下来,启动Open WebUI服务容器,并连接到本地运行的Ollama服务。

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

命令解析:

  • -d:后台运行容器。
  • -p 3000:8080:将主机的3000端口映射到容器的8080端口,用于WebUI访问。
  • --add-host=host.docker.internal:host-gateway:在容器内添加主机的内部地址,使WebUI能够访问本地Ollama服务。
  • -v open-webui:/app/backend/data:挂载卷,确保WebUI数据持久化。
  • --name open-webui:指定容器名称为open-webui
  • --restart always:设置容器自动重启策略。
  • ghcr.io/open-webui/open-webui:main:指定使用Open WebUI的主分支镜像。
访问Open WebUI

部署完成后,通过浏览器访问http://localhost:3000即可打开Open WebUI界面。在此界面中,您可以:

  • 输入提示(prompt)与大模型进行交互。
  • 管理和切换不同的模型。
  • 调整生成参数,如温度(temperature)和最大生成长度(max_tokens)。

使用Bundled Ollama进行一体化部署

Bundled Ollama提供了一个包含Open WebUIOllama的单一Docker镜像,简化了部署过程,适合希望快速上手且不需要单独管理服务的用户。

使用CPU进行部署

如果您的系统不具备NVIDIA GPU,或者不需要GPU加速,可以使用以下命令启动Bundled Ollama:

docker run -d -p 3000:8080 \
  -v ollama:/root/.ollama \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:ollama

命令解析:

  • -d:后台运行容器。
  • -p 3000:8080:将主机的3000端口映射到容器的8080端口,用于WebUI访问。
  • -v ollama:/root/.ollama:挂载卷,确保Ollama数据持久化。
  • -v open-webui:/app/backend/data:挂载卷,确保WebUI数据持久化。
  • --name open-webui:指定容器名称为open-webui
  • --restart always:设置容器自动重启策略。
  • ghcr.io/open-webui/open-webui:ollama:指定使用Bundled Ollama的镜像。
使用Nvidia GPU支持进行部署

如果您的系统配备NVIDIA GPU,并希望利用GPU加速模型推理,请确保已安装NVIDIA Container Toolkit以支持GPU资源分配。然后,使用以下命令启动Bundled Ollama:

docker run -d -p 3000:8080 \
  --gpus all \
  -v ollama:/root/.ollama \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:ollama

命令解析:

  • --gpus all:将所有可用的GPU资源分配给容器,以加速模型推理。
  • 其他参数与CPU部署方法相同。
访问Open WebUI

同样,通过浏览器访问http://localhost:3000即可打开Open WebUI界面。由于Bundled Ollama已经包含了Ollama服务,您无需进行额外的配置即可开始使用。

停止和管理容器

无论您选择哪种部署方法,都可以使用以下Docker命令来管理Open WebUIOllama容器。

查看正在运行的容器
docker ps
停止容器
docker stop open-webui
docker stop ollama
启动已停止的容器
docker start open-webui
docker start ollama
重启容器
docker restart open-webui
docker restart ollama
查看容器日志
docker logs open-webui
docker logs ollama
删除容器
docker rm open-webui
docker rm ollama

注意: 删除容器不会删除挂载的卷中的数据。如果需要删除数据,请手动移除相应的Docker卷:

docker volume rm open-webui
docker volume rm ollama_data

管理数据卷

在 Docker 中,数据卷用于持久化容器中的数据。您在部署命令中使用了以下数据卷:

  • -v ollama_data:/ollama/data
  • -v open-webui:/app/backend/data
列出和查看数据卷

要查看系统中的所有 Docker 数据卷,使用以下命令:

docker volume ls

要获取特定数据卷的信息,如 ollama_data,使用:

docker volume inspect ollama_data
备份数据卷

可以使用 tar 命令将数据卷备份:

docker run --rm -v ollama_data:/volume -v $(pwd):/backup alpine tar czf /backup/ollama_data_backup.tar.gz -C /volume .
恢复数据卷

从备份恢复数据卷:

docker run --rm -v ollama_data:/volume -v $(pwd):/backup alpine sh -c "tar xzf /backup/ollama_data_backup.tar.gz -C /volume"
删除数据卷

删除数据卷(例如 ollama_data):

docker volume rm ollama_data
主机目录作为数据卷

可以将主机目录挂载为数据卷以直接访问和管理数据:

docker run -d --name ollama -v /home/user/ollama_data:/ollama/data --restart always ollama/ollama:latest

管理Ollama

除了部署和运行,您还需要了解如何管理Ollama,包括进入容器、执行常用指令等。

进出容器

有时您需要进入运行中的Docker容器,执行一些管理任务或查看配置。

进入容器
docker exec -it ollama /bin/bash

命令解析:

  • exec:在运行的容器中执行命令。
  • -it:交互式终端。
  • open-webui:容器名称。
  • /bin/bash:启动bash shell。
退出容器

在容器内执行exit命令即可退出交互式会话。

exit

Ollama常用指令

在管理Ollama时,以下是一些常用的命令和指令:

查看可用模型列表
ollama list
下载模型
ollama pull <model-name>
运行模型
ollama run <model-name>
删除模型
ollama rm <model-name>
查看已下载的模型
ollama models
获取Ollama版本信息
ollama version
查看Ollama帮助信息
ollama help
导入模型
ollama import <path-to-modelfile>
导出模型
ollama export <model-name> <output-path>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值