在探索大模型的道路上,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 install 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='520218803@139.com';
九、总结
Ollama不仅简化了大型语言模型的部署流程,而且通过其灵活的配置选项、API接口支持和友好的WebUI界面,让不同层次的技术人员都能够轻松管理和利用这些先进的AI工具。同时,借助GPU资源监控工具的支持,您可以构建出更为复杂的应用场景,实现从模型训练到生产环境部署的全流程自动化。
注:所有代码示例均基于Linux环境,其他操作系统可能会有所不同。
1、本站大部分资源均为网络采集所得,仅供用来学习研究,请于下载后的24h内自行删除,正式商用请购买正版。
2、所有汉化类文件和个别标注了“原创”的产品均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
3、如若本站内容侵犯了原著者的合法权益,请携带相关版权文件联系我们[微信/QQ:9820910]进行下架或删除。
4、虚拟下载类资源具有可复制性,一经下载后本站有权拒绝退款或更换其他商品!
原文链接:https://xdyl.club/?p=1047,转载请注明出处~~~
评论0