文档 计算
Ollama 安装与使用指南笔记-腾讯云开发者社区-腾讯云

Ollama 安装与使用指南笔记-腾讯云开发者社区-腾讯云

Ollama 安装与使用指南笔记在探索大模型的道路上,Ollama 作为一款开源项目为我们提供了很大的便利。下面将详细介绍它的安装与使用,并补充一些常见问题及解决方法。一、Ollama简介Ollama是一个专为简化大型语言模型部署和服务而设计的平台,它支持多种流行的大规模预训练模型。其特点包括一键安

Ollama 安装与使用指南笔记

在探索大模型的道路上,Ollama 作为一款开源项目为我们提供了很大的便利。下面将详细介绍它的安装与使用,并补充一些常见问题及解决方法。

一、Ollama简介

Ollama是一个专为简化大型语言模型部署和服务而设计的平台,它支持多种流行的大规模预训练模型。其特点包括一键安装、丰富的命令行工具以及用户友好的WebUI界面。

二、部署环境描述

硬件要求

  • CPU:建议使用多核心处理器,特别是对于需要处理大量文本生成任务的情况。
  • 内存:至少16GB RAM;根据模型大小和预期负载,可能需要更多内存(如32GB或更高)。
  • GPU(可选但推荐):NVIDIA GPU 配备至少8GB显存,用于加速模型推理过程。推荐使用具有16GB或以上显存的专业级GPU。
  • 存储:SSD硬盘以加快数据读取速度;考虑到模型文件较大,建议准备充足的存储空间。

软件环境

  • 操作系统:Linux 发行版(如Ubuntu 20.04 LTS 或更高版本),Windows 和 macOS 用户可以通过 WSL2 或虚拟机来运行 Linux 环境。
  • Python:建议 Python 3.8 或更高版本,确保兼容最新的库和工具包

三、安装步骤

快速安装

对于大多数用户来说,最简便的方法是通过一个简单的命令完成安装:

curl -fsSL https://ollama.com/install.sh | sh

手动安装

如果您需要更精细地控制安装过程,可以选择手动下载并解压包:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

验证安装

启动服务后,可以通过ollama -v验证安装是否成功。

添加ollama 启动项

给ollama创建账户和组

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

创建服务配置文件

/etc/systemd/system/ollama.service

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
# llama服务默认配置启动,只允许127.0.0.1:11434访问,其他跨IP都拒绝
#  默认ollama绑定在127.0.0.1的11434端口,修改/etc/systemd/system/ollama.service,在[Service]下添加如下内容,使ollama绑定到0.0.0.0的11434端口

Environment="OLLAMA_HOST=0.0.0.0"

[Install]
WantedBy=default.target

保存更改后,重启服务以应用新的设置。

sudo systemctl daemon-reload
sudo systemctl stop ollama
sudo systemctl start ollama
sudo systemctl enable ollama

四、使用Ollama

1. 模型操作命令

  • ollama serve:启动 Ollama 服务,是后续操作的基础。
  • ollama create:从模型文件创建模型,适用于自定义模型或本地已有模型文件的情况。
  • ollama show:显示模型信息,可查看模型架构、参数等详细信息,辅助模型分析。
  • ollama run:运行模型,如ollama run qwen2,若本地无该模型会自动下载并运行,可用于快速测试模型。
  • ollama pull:从注册表中拉取模型,如ollama pull llama3,方便获取官方或其他来源的模型。
  • ollama push:将模型推送到注册表,便于共享模型。
  • ollama list:列出本地已有的模型,方便管理和选择。
  • ollama cp:复制模型,可用于备份或创建模型副本。
  • ollama rm:删除模型,释放存储空间。
  • ollama help:获取任何命令的帮助信息,方便用户快速查询命令用法。

五、API接口配置

Ollama提供了RESTful API,使开发者能够轻松集成Ollama功能到自己的应用程序中。要开始使用API,请确保Ollama服务正在运行,并且已经正确设置了OLLAMA_HOST环境变量以便外部访问。

下面是一些常见的API请求示例:

curl http://<your_ollama_host>:11434/models
curl -X POST http://<your_ollama_host>:11434/models/<model_name>/load
curl http://<your_ollama_host>:11434/models/<model_name>/status
curl -X POST http://<your_ollama_host>:11434/models/<model_name>/generate \
     -H "Content-Type: application/json" \
     -d '{"prompt": "Hello, world!", "max_tokens": 50}'

请注意将<your_ollama_host>替换为实际的主机地址或IP,并根据需要调整参数。

六、GPU资源监控

nvitop来进行实时监控。nvitop能够提供有关GPU利用率、温度、内存使用情况等重要信息。

(一)安装 nvitop

安装很简便,在终端执行:

pip 会从 Python Package Index 官方源下载并安装 nvitop 及其依赖,安装后可在当前 Python 环境使用。

(二)查看监控

安装完输入 nvitop,会展示 GPU 核心指标,如利用率、内存使用、温度、进程信息等。执行 nvitop -m full 可查看更多进阶指标,据此编写资源调度脚本,智能管控 GPU 资源。

七、整合到WebUI

(一)前置保障:服务就绪

进入 Ollama WebUI 前,用 sudo systemctl status ollama.service 确认服务稳定运行,检查网络配置确保能连通服务端口。

(二)访问WebUI

在浏览器输入 http://<your_ollama_host>:11434 (其中<your_ollama_host>应替换为实际的主机地址或IP。),就能进入 WebUI 界面,开启智能交互。

(三)浏览模型库

登录后可见模型列表,展示模型关键信息,可挑选、加载心仪模型。

(四)管理模型

在 WebUI 能轻松加载、卸载模型,调整模型配置参数,还能直接发起文本生成请求。

(五)监控与日志

WebUI 有日志查看功能,便于跟踪模型运行状况及问题排查。

(六)WebUI 可视化对话界面部署

Docker 部署可视化对话界面:

docker pull ghcr.io/open-webui/open-webui:main

docker run -d  --network=host -v /usr/local/app/ollama/open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
解释
  • -d 表示以后台模式运行容器。
  • -v /usr/local/app/ollama/open-webui:/app/backend/data 表示将容器内的 /app/backend/data 目录挂载到宿主机的 open-webui 目录。

Mountpoint 字段,它指向卷在宿主机上的实际存储路径 docker volume inspect open-webui { “CreatedAt”: “2023-10-01T12:34:56Z”, “Driver”: “local”, “Labels”: {}, “Mountpoint”: “/var/lib/docker/volumes/open-webui/_data”, # open-webui在宿主机上实际地址 “Name”: “open-webui”, “Options”: {}, “Scope”: “local” }

  • --name open-webui 表示给容器命名为 open-webui
  • ghcr.io/open-webui/open-webui:main 是要运行的 Docker 镜像。

该命令让容器共享主机网络、挂载数据卷、指定 Ollama 服务 URL,运行后得到可视化对话平台,提升用户交互体验,适用于构建聊天机器人等应用。

八、常见问题

忘记open-webui密码

使用bcrypt hash生成新密码

htpasswd -bnBC 10 "" your-new-password | tr -d ':\n'

更新密码

cd /var/lib/docker/volumes/open-webui/_data
sqlite3 webui.db
UPDATE auth SET password='第一步生成的密码' WHERE email='ceagleme@qq.com';

九、总结

Ollama不仅简化了大型语言模型的部署流程,而且通过其灵活的配置选项、API接口支持和友好的WebUI界面,让不同层次的技术人员都能够轻松管理和利用这些先进的AI工具。同时,借助GPU资源监控工具的支持,您可以构建出更为复杂的应用场景,实现从模型训练到生产环境部署的全流程自动化。

注:所有代码示例均基于Linux环境,其他操作系统可能会有所不同。

参考文献