当前位置: 首页 > article >正文

ubuntu离线安装Ollama并部署Llama3.1 70B INT4

文章目录

  • 1.下载Ollama
  • 2. 下载安装Ollama的安装命令文件install.sh
  • 3.安装并验证Ollama
  • 4.下载所需要的大模型文件
    • 4.1 加载`.GGUF`文件(推荐、更容易)
    • 4.2 加载`.Safetensors`文件(不建议使用)
  • 5.配置大模型文件

参考:
1、 如何在离线的Linux服务器上部署 Ollama,并运行 Qwen 大模型(附教程)
2、 【三步搭建 本地 编程助手 ollama + codegeex】


本文的目的是将Ollama和Llama3.1 70B INT4版本离线安装在一台有4张A5000显卡的Ubuntu20.04系统上

1.下载Ollama

版本:v0.5.11
下载地址:https://github.com/ollama/ollama/releases
文件:ollama-linux-amd64.tgz

下载好之后,解压该文件

sudo tar -C /usr -xzf ollama-linux-amd64.tgz

给这个文件添加权限:

sudo chmod +x /usr/bin/ollama # 这条命令没有用

根据下面的文章进行操作:Ollama系列—【如何离线安装ollama?】按这个操作完了不用下载和执行install.sh,直接跳到4.下载所需要的大模型文件

2. 下载安装Ollama的安装命令文件install.sh

下载地址:https://github.com/ollama/ollama/blob/main/scripts/install.sh
下载完应该需要对这个文件进行修改

把下面的内容删除:

if curl -I --silent --fail --location "https://ollama.com/download/ollama-linux-${ARCH}.tgz${VER_PARAM}" >/dev/null ; thenstatus "Downloading Linux ${ARCH} bundle"curl --fail --show-error --location --progress-bar \"https://ollama.com/download/ollama-linux-${ARCH}.tgz${VER_PARAM}" | \$SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"BUNDLE=1if [ "$OLLAMA_INSTALL_DIR/bin/ollama" != "$BINDIR/ollama" ] ; thenstatus "Making ollama accessible in the PATH in $BINDIR"$SUDO ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"fi
elsestatus "Downloading Linux ${ARCH} CLI"curl --fail --show-error --location --progress-bar -o "$TEMP_DIR/ollama"\"https://ollama.com/download/ollama-linux-${ARCH}${VER_PARAM}"$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $OLLAMA_INSTALL_DIR/ollamaBUNDLE=0if [ "$OLLAMA_INSTALL_DIR/ollama" != "$BINDIR/ollama" ] ; thenstatus "Making ollama accessible in the PATH in $BINDIR"$SUDO ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"fi
fi

2.将两个文件上传到linux服务器,放于同一文件夹下

执行install.sh文件

chmod +x install_ollama.sh    #给脚本赋予执行权限
./install_ollama.sh
# 如果报错误: bash: ./build_android.sh:/bin/sh^M:解释器错误: 没有那个文件或目录,执行下面命令后,再执行./install_ollama.sh命令
sed -i 's/\r$//' install_ollama.sh

3.安装并验证Ollama

vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/bin"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"[Install]
WantedBy=default.target
修改后重载服务文件,重启ollama
sudo systemctl daemon-reload
sudo systemctl restart ollama查看ollama运行状态
sudo systemctl status ollama.service4.防火墙配置开放11434端口
sudo firewall-cmd --permanent --zone=public --add-port=11434/tcp重新加载:sudo firewall-cmd --reload5.访问测试:使用其他计算机访问:http:/<服务器域名>11434
若返回Ollama is running,说明可成功访问

4.下载所需要的大模型文件

在下载模型前首先需要清楚Ollama是如何加载离线的大模型的
使用ollama导入模型话,有两种的大模型的文件格式可以使用,分别是GGUF和Safetensors文件(Safetensors文件需要使用llama.cpp先转换为GGUF文件才行)

分别对两种下载并导入到Ollama中的方式进行介绍:
1)下载对应的Llama-3.1-70B、INT4计算精度的GGUF文件:Meta-Llama-3.1-70B-Instruct-Q4_K_M.gguf
下载地址:https://www.modelscope.cn/models/lmstudio-community/Meta-Llama-3.1-70B-Instruct-GGUF/files
2)下载的Safetensors文件:Meta-Llama-3.1-70B-Instruct-GPTQ-INT4: 因为比较麻烦,所以就不想用了
下载地址:https://hf-mirror.com/hugging-quants/Meta-Llama-3.1-70B-Instruct-GPTQ-INT4/tree/main

4.1 加载.GGUF文件(推荐、更容易)

可以参考:Ollama自定义导入DeepSeek-R1-Distill-Qwen-1.5B模型(第二部分)
创建Modelfile文件,并写入以下内容:

FROM ./deepseek-r1-distill-qwen-1.5b-q2_k.gguf # 以deepseek模型文件为例

执行下面命令来验证

ollama create my_DeepSeek-R1-Distill-Qwen-1.5B -f Modelfile
ollama ls
ollama run my_DeepSeek-R1-Distill-Qwen-1.5B

在uugf文件同一个目录下创建Modelfile文件,

touch Modelfile

使用插入模式i,并写入以下内容:

FROM ./Meta-Llama-3.1-70B-Instruct-Q4_K_M.gguf # 

在uugf文件同一个目录下执行下面命令来验证

ollama create llama-70B-INT4 -f Modelfile
ollama ls
ollama run llama-70B-INT4

4.2 加载.Safetensors文件(不建议使用)

Ollama 仅支持 GGUF 格式的模型,因此需使用llama.cpp库.safetensors 转换为 .gguf 格式:
因为好像需要llama.cpp对该文件进行处理,比较麻烦就不介绍了
可以参考:Ollama自定义导入DeepSeek-R1-Distill-Qwen-1.5B模型(第三部分)

5.配置大模型文件

因为我们的服务器是完全内网环境,所以即便安装ollama后也无法下载大模型,因此需要我们手动将模型放到ollama可以识别的地方。
默认情况下ollama模型的所在路径为:

macOS: ~/.ollama/models 
Linux: **/usr/share/ollama/.ollama/models**
Windows: C:Users<username>.ollamamodels

自己在服务器上创建一个路径,打开ollama配置文件/etc/systemd/system/ollama.service

在里面加入你新创建的路径
在这里插入图片描述
接下来,找一个可以上网的主机,执行ollama run ***,当大模型下载完成后,找到models目录,将整个目录拷贝到服务器你新创建的路径下。

重启ollama,之后再执行ollama list命令,如果看到有模型了,证明搞定。

相关文章:

ubuntu离线安装Ollama并部署Llama3.1 70B INT4

文章目录 1.下载Ollama2. 下载安装Ollama的安装命令文件install.sh3.安装并验证Ollama4.下载所需要的大模型文件4.1 加载.GGUF文件&#xff08;推荐、更容易&#xff09;4.2 加载.Safetensors文件&#xff08;不建议使用&#xff09; 5.配置大模型文件 参考&#xff1a; 1、 如…...

机器学习数学通关指南——泰勒公式

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 一句话总结 泰勒公式是用多…...

目标检测tricks

A. Stochastic Weight Averaging (SWA) 1. 基本思想 SWA 的核心思想是通过对训练过程中不同时间点的模型参数进行加权平均&#xff0c;从而获得一个更好的模型。具体来说&#xff0c;SWA 在训练过程的后期阶段对多个不同的模型快照&#xff08;snapshots&#xff09;进行平均…...

JNA基础使用,调用C++返回结构体

C端 test.h文件 #pragma oncestruct RespInfo {char* path;char* content;int statusCode; };extern "C" { DLL_EXPORT void readInfo(char* path, RespInfo* respInfo); }test.cpp文件 #include "test.h"void readInfo(char* path, RespInfo* respInfo…...

【算法】793. 高精度乘法

题目 793. 高精度乘法 思路 把b当作一个整体进行乘法&#xff0c;用A的每一位和b相乘&#xff0c;还要加上判断001的情况&#xff0c;把前面的0删掉。 代码 #include<iostream> #include<vector> using namespace std; vector<int>mul(vector<int>…...

解锁养生密码,拥抱健康生活

在快节奏的现代生活中&#xff0c;养生不再是一种选择&#xff0c;而是我们保持活力、提升生活质量的关键。它不是什么高深莫测的学问&#xff0c;而是一系列融入日常的简单习惯&#xff0c;每一个习惯都在为我们的健康加分。 早晨&#xff0c;当第一缕阳光洒进窗户&#xff0c…...

OpenCV(6):图像边缘检测

图像边缘检测是计算机视觉和图像处理中的一项基本任务&#xff0c;它用于识别图像中亮度变化明显的区域&#xff0c;这些区域通常对应于物体的边界。是 OpenCV 中常用的边缘检测函数及其说明: 函数算法说明适用场景cv2.Canny()Canny 边缘检测多阶段算法&#xff0c;检测效果较…...

spark的一些指令

一&#xff0c;复制和移动 1、复制文件 格式&#xff1a;cp 源文件 目标文件 示例&#xff1a;把file1.txt 复制一份得到file2.txt 。那么对应的命令就是&#xff1a;cp file1.txt file2.txt 2、复制目录 格式&#xff1a;cp -r 源文件 目标文件夹 示例&#xff1a;把目…...

OpenHarmony全球化子系统

OpenHarmony全球化子系统 简介系统架构目录相关仓 简介 当OpenHarmony系统/应用在全球不同区域使用时&#xff0c;系统/应用需要满足不同市场用户关于语言、文化习俗的需求。全球化子系统提供支持多语言、多文化的能力&#xff0c;包括&#xff1a; 资源管理能力 根据设备类…...

创建私人阿里云docker镜像仓库

步骤1、登录阿里云 阿里云创建私人镜像仓库地址&#xff1a;容器镜像服务 步骤2、创建个人实例 步骤&#xff1a;【实例列表】 》【创建个人实例】 》【设置Registry登录密码】 步骤3、创建命名空间 步骤&#xff1a;【个人实例】》【命名空间】》【创建命名空间】 注意&am…...

【LLM】本地部署LLM大语言模型+可视化交互聊天,附常见本地部署硬件要求(以Ollama+OpenWebUI部署DeepSeekR1为例)

【LLM】本地部署LLM大语言模型可视化交互聊天&#xff0c;附常见本地部署硬件要求&#xff08;以OllamaOpenWebUI部署DeepSeekR1为例&#xff09; 文章目录 1、本地部署LLM&#xff08;以Ollama为例&#xff09;2、本地LLM交互界面&#xff08;以OpenWebUI为例&#xff09;3、本…...

【考研】复试相关上机题目

文章目录 22机试回忆版1、判断燃气费描述输入格式输出格式输入样例输出样例 C o d e Code Code 2、统计闰年数量描述输入格式输出格式输入样例输出样例 C o d e Code Code 3、打印图形描述输入格式输出格式 C o d e Code Code 4、密文数据描述输入格式输出格式输入样例输出样例…...

vue3除了pinia/vuex的其他通讯方式还有那些

1. Props 和 Events Props&#xff1a;父组件通过 props 向子组件传递数据。 Events&#xff1a;子组件通过 $emit 向父组件发送事件。 <!-- ParentComponent.vue --> <template><ChildComponent :message"parentMessage" update-message"updat…...

【Python爬虫(80)】当Python爬虫邂逅边缘计算:探索数据采集新境界

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

LLM之论文阅读——Context Size对RAG的影响

前言 RAG 系统已经在多个行业中得到广泛应用&#xff0c;尤其是在企业内部文档查询等场景中。尽管 RAG 系统的应用日益广泛&#xff0c;关于其最佳配置的研究却相对缺乏&#xff0c;特别是在上下文大小、基础 LLM 选择以及检索方法等方面。 论文原文: On the Influence of Co…...

2025-02-25 学习记录--C/C++-用C语言实现删除字符串中的子串

用C语言实现删除字符串中的子串 在C语言中&#xff0c;你可以使用strstr函数来查找子串&#xff0c;然后用memmove或strcpy来覆盖或删除找到的子串。 一、举例 &#x1f430; #include <stdio.h> // 包含标准输入输出库&#xff0c;用于使用 printf 函数 #include <s…...

网络原理--常见的请求和响应的格式

1.xml 类似于html&#xff0c;也是一种标签语言&#xff0c;标签成对出现。 例如&#xff1a; <request> <userId>1000</userId> </request> 其中&#xff1a; <userId>称为开始标签&#xff0c;</userId>称为结束标签。开始标签和结…...

【Linux】Ubuntu服务器的安装和配置管理

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天周二了&#xff0c;哪吒的票房已经到了138亿了&#xff0c;饺子导演好样的&#xff01;&#xff01;每个人的成功都不是必然的&#xff0c;坚信自己现在做的事是可以的&#xff01;&#xff01;&#x1f606; 本文是有关Ubunt…...

2.3做logstash实验

收集apache日志输出到es 在真实服务器安装logstash&#xff0c;httpd systemctl start httpd echo 666 > /var/www/html/index.html cat /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/httpd #系统内置变量 cd /usr/local/…...

pandas读取数据

pandas读取数据 导入需要的包 import pandas as pd import numpy as np import warnings import oswarnings.filterwarnings(ignore)读取纯文本文件 pd.read_csv 使用默认的标题行、逗号分隔符 import pandas as pd fpath "./datas/ml-latest-small/ratings.csv" 使…...

rabbitmq 延时队列

要使用 RabbitMQ Delayed Message Plugin 实现延时队列&#xff0c;首先需要确保插件已安装并启用。以下是实现延时队列的步骤和代码示例。 1. 安装 RabbitMQ Delayed Message Plugin 首先&#xff0c;确保你的 RabbitMQ 安装了 rabbitmq-delayed-message-exchange 插件。你可…...

Deepseek 实战全攻略,领航科技应用的深度探索之旅

想玩转 Deepseek&#xff1f;这攻略别错过&#xff01;先带你了解它的基本原理&#xff0c;教你搭建运行环境。接着给出自然语言处理、智能客服等应用场景的实操方法与代码。还分享模型微调、优化技巧&#xff0c;结合案例加深理解&#xff0c;让你全面掌握&#xff0c;探索科技…...

Go语言中的信号量:原理与实践指南

Go语言中的信号量&#xff1a;原理与实践指南 引言 在并发编程中&#xff0c;控制对共享资源的访问是一个经典问题。Go语言提供了丰富的并发原语&#xff08;如sync.Mutex&#xff09;&#xff0c;但当我们需要灵活限制并发数量时&#xff0c;信号量&#xff08;Semaphore&am…...

计算机网络与通讯知识总结

计算机网络与通讯知识总结 基础知识总结 1)FTP:文件传输 SSH:远程登录 HTTP:网址访问 2)‌交换机 定义‌:一种基于MAC地址实现局域网(LAN)内数据高速转发的网络设备,可为接入设备提供独享通信通道‌。 -‌ 核心功能‌: 1.数据链路层(OSI第二层)工作,通过MAC地址…...

ReentrantLock 用法与源码剖析笔记

&#x1f4d2; ReentrantLock 用法与源码剖析笔记 &#x1f680; 一、ReentrantLock 核心特性 &#x1f504; 可重入性&#xff1a;同一线程可重复获取锁&#xff08;最大递归次数为 Integer.MAX_VALUE&#xff09;&#x1f527; 公平性&#xff1a;支持公平锁&#xff08;按等…...

Vscode无法加载文件,因为在此系统上禁止运行脚本

1.在 vscode 终端执行 get-ExecutionPolicy 如果返回是Restricted&#xff0c;说明是禁止状态。 2.在 vscode 终端执行set-ExecutionPolicy RemoteSigned 爆红说明没有设置成功 3.在 vscode 终端执行Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 然后成功后你再在终…...

java进阶专栏的学习指南

学习指南 java类和对象java内部类和常用类javaIO流 java类和对象 类和对象 java内部类和常用类 java内部类精讲Object类包装类的认识String类、BigDecimal类初探Date类、Calendar类、SimpleDateFormat类的认识java Random类、File类、System类初识 javaIO流 java IO流【…...

架构思维:架构的演进之路

文章目录 引言为什么架构思维如此重要架构师的特点软件架构的知识体系如何提升架构思维大型互联网系统架构的演进之路一、大型互联网系统的特点二、系统处理能力提升的两种途径三、大型互联网系统架构演化过程四、总结 引言 在软件开发行业中&#xff0c;有很多技术人可能会问…...

VC++零基础入门之系列教程 【附录E MFC快速参考指南】

附录E MFC快速参考指南 E.1 创建窗口 使用M F C CWnd wnd; W n d . C r e a t e E x ( E xSt y l e , C l a s s N a m e , Wi n d o w N a m e , S t y l e , x , y, Wi d t h , H e i g h t , P a r e n t , M e n u , P a r a m ) ; 使用A P I HWND hwnd=::CreateWi n d …...

vue3:vue3项目安装并引入Element-plus

一、安装Element-plus 1、安装语句位置 安装 | Element Plushttps://element-plus.org/zh-CN/guide/installation.html根据所需进行安装&#xff0c;这里使用npm包 2、找到项目位置 找到项目位置&#xff0c;在路径上输入cmd回车打开“运行”窗口 输入安装语句回车完成安装 …...