首页 > 极客资料 博客日记
如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型
2024-11-04 17:30:02极客资料围观17次
极客之家推荐如何在离线的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 工具还可对大模型进行量化,量化后的大模型会更加精确,更加节省系统资源,有关量化的信息可自行研究。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”