如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型
手动安装 Ollama
根据Linux的版本下载对应版本的 Ollama,
- 查看Linux CPU型号,使用下面的命令
#查看Linux版本号
cat /proc/version
#查看cpu架构
lscpu
- x86_64 CPU选择下载ollama-linux-amd64;aarch64|arm64 CPU选择下载ollama-linux-arm64
安装和运行
- 在有网络的环境下载好tgz安装包,并上传到离线 Linux 服务器
- 安装,使用下面的命令:
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
- 启动 Ollama,使用下面的命令:
ollama serve
- 另外启动一个终端验证是否运行成功,使用下面的命令:
#查看所有下载的模型
ollama list
这样 Ollama 就算安装完成了。之所以下载 Ollama,是因为 Ollama 提供了大模型运行的所有环境,使用它能方便的在本地运行各种 LLM。
在 Ollama 上部署 Qwen2.5
下载 Qwen2.5
- 在国内 AI 社区 ModelScope 下载 Qwen2.5 模型,国外的 AI 社区 Hugging Face 也可以下载,不过要想下载国外的大模型,例如 Llama,需要填写联系信息进行申请,不过申请了也不一定会给过的。
- 推荐使用 Git 下载,使用下面的命令:
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-1.5B-Instruct.git
从 Safetensors 导入模型
- Git 克隆下来的仓库会包含一个 model.safetensors 文件,需要将其格式转换为二进制 .bin 形式,才能由 Ollama 着手导入进行管理。
- 大模型格式转换主要用到一个工具 llama.cpp,使用下面的命令同步 llm/llama.cpp 子模块:
#首先克隆 Ollama 仓库
git clone [git@github.com](mailto:git@github.com):ollama/ollama.git ollama
cd ollama
#然后同步子模块
git submodule init
git submodule update llm/llama.cpp
#接着安装 python 依赖
python3 -m venv llm/llama.cpp/.venv
source llm/llama.cpp/.venv/bin/activate
pip install -r llm/llama.cpp/requirements.txt
- 转换模型Qwen2.5,使用下面的命令:
python llm/llama.cpp/convert_hf_to_gguf.py ./model --outtype f16 --outfile converted.bin
- 编写模型文件 Modelfile (没有后缀名),文件内容如下:
FROM converted.bin
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
SYSTEM """
你是一个乐于助人的助手,但你会用20世纪30年代黑手党暴徒的风格去回答问题
"""
- 将转换后的 .bin 文件和 Modelfile 文件上传到离线的 Linux 服务器的同一目录下,使用下面的命令导入到 Ollama:
ollama create Qwen2.5 -f Modelfile
- 查看和运行大模型,使用下面的命令:
#查看大模型信息
ollama show Qwen2.5
#查看 Ollama 管理的所有大模型
ollama list
#运行大模型
ollama run Qwen2.5
#查看正在运行的大模型
ollama ps
这样 Qwen2.5 就算导入成功了,实际上 llama 工具还可对大模型进行量化,量化后的大模型会更加精确,更加节省系统资源,有关量化的信息可自行研究。
如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型的更多相关文章
- 如何在Linux服务器上部署禅道
最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...
- linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- 如何在Linux服务器上部署Mysql
一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...
- linux服务器上部署jdk+tomcat+rocketmq+redis-cluster
通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...
- 零基础在Linux服务器上部署javaweb项目
本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...
- So Easy - 在Linux服务器上部署 .NET Core App
.NET Core 是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...
- 在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)
一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...
- .Net Core WebApi(三)在Linux服务器上部署
鸽了好久,终于有个时间继续写了,继上一篇之后,又写(水)了一篇,有什么不足之处请大家指出,多谢各位了. 下面有两个需要用到的软件,putty和pscp,我已经上传到博客园了,下载请点击这里. 一.准备 ...
- linux服务器上部署springboot项目,并让他持续运行到后台
我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...
随机推荐
- 2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始。初始时,nums 中所有下标均未标记。 从第1秒到第m秒,每秒可以选择以下四种操
2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始.初始时,nums 中所有下标均未标记. 从第1秒到第m秒,每秒可以选择以下四种操 ...
- SMU Summer 2023 Contest Round 14
SMU Summer 2023 Contest Round 14 A. Potion-making 就是解一个\(\frac{i}{i + j} = \frac{k}{100}\)方程,然后循环暴力找 ...
- mybatis打印sql
转
我们在使用mybatis开发过程中,经常需要打印sql以及输入输出,下面说一下mybatis结合log4j打印sql的. 1.添加mybatis配置 mybatis的日志打印方式比较多,SLF4J | ...
- JavaScript设计模式样例九 —— 桥接模式
桥接模式(Bridge Pattern) 定义:是用于把抽象化与实现化解耦,使得二者可以独立变化. 目的:将抽象部分与实现部分分离,使它们都可以独立的变化. 场景:实现系统可能有多个角度分类,每一种角 ...
- cnetos7.3离线安装vscode
1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) #下载vscode包 访问Visual Studio Code官网 https://code.visualstudio.c ...
- 删除链表倒数第N个节点(19)
双指针法 双指针法主要是最开始有两个指针fast,slow都指向链表的虚拟头节点dummy,然后快指针先移动,这里需要先向后移动n+1位(因为你最终是要找到目标节点的前一个节点),然后slow和fas ...
- 宝塔安装onlyoffice
1. 拉取镜像 docker pull onlyoffice/documentserver 2. 构建容器 进入宝塔管理面板->docker->镜像,可以看到镜像已被安装成功 配置容器参数 ...
- ASP.NET Core – Web API JSON Patch
前言 依据 Restful 的方式, 修改 resource 要用 PUT, 然后把完整的 resource 发出去, resource 的所有信息都将被更新. 但很多时候我们希望只做局部更新, 而且 ...
- MySQL服务无法启动 服务没有报告任何错误
安装MYSQL后 启动服务 出现错误 在启动MySQL服务时 出现该报错 解决方法: 将原本在MySQL根目录下的my.ini文件移动到bin目录下(my.ini文件参考:这里) 删除根目录下的 ...
- 【赵渝强老师】大数据分析引擎:Presto
一.什么是Presto? 背景知识:Hive的缺点和Presto的背景 Hive使用MapReduce作为底层计算框架,是专为批处理设计的.但随着数据越来越多,使用Hive进行一个简单的数据查询可能要 ...