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

DeepSeek在linux下的安装部署与应用测试

       结合上一篇文章,本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型,主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署,Open WebUI官网也提供了完整的docker部署说明,大家可参考github,但对于Open WebUI前后端分离的部署没有详细说明,这需要修改一部分前后端代码,后面会陆续分享给大家。

ollama安装部署
一、ollama下载解压

下载ollama-linux-amd64.tgz,地址详见ollama官网,注意要下载低一些的版本,比如ollama-0.3.6版本。
解压:tar -zxvf ollama-linux-amd64.tgz
拷贝文件:cp ollama /usr/local/bin

二、ollama服务启动配置

创建Ollama用户:sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
如果有该用户,就不需要创建,或者直接改为超级用户进行启动。
打开配置文件:vi /etc/systemd/system/ollama.service,修改内容如下:

[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"
Environment="OLLAMA_HOST=0.0.0.0:11434" #允许外部访问
Environment="OLLAMA_MODELS=/data/olla-models" # 指定模型文件存储路径
Environment="HTTP_PROXY=http://user:pwd@ip:port" #配置访问外网的代理,如果需要才配置该选项
Environment="CUDA_VISIBLE_DEVICES=0,1" # 配置GPU,序号从01开始[Install]
WantedBy=default.target

执行如下命令进行服务启用和状态查看等
systemctl daemon-reload
systemctl enable ollama
systemctl start ollama
systemctl status ollama

三、ollama命令行启动配置

如果不使用第二步的ollama服务启动方式,也可以通过命令行启动,但部分配置需要通过用环境变量传入,如下。

export OLLAMA_MODELS=/data/Ollama/models
export OLLAMA_GPU_LAYER=cuda
export CUDA_VISIBLE_DEVICES=0  # 强制使用NVIDIA GPU 第一块

命令行启动ollama服务,如下
ollama serve

四、卸载或停止ollama服务
systemctl stop ollama
systemctl disable ollama

删除服务文件和Ollama二进制文件进行服务停止

sudo rm /etc/systemd/system/ollama.service 
sudo rm $(which ollama)

清理Ollama用户和组(如果前面没有创建,可不做):

sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
DeepSeek大模型加载运行与应用测试
一、下载模型

下载并运行模型:ollama run deepseek-r1:7b
加载模型:ollama pull deepseek-r1:7b
配置代理:如果内网需要通过代理访问,请在第二步配置文件中增加代理设置。

二、删除模型

删除指定模型:ollama rm deepseek-r1:7b

三、查看已安装模型列表

查看列表:ollama list

四、利用GPU加载模型

运行命令:ollama run --gpu deepseek-r1:7b ,经测试,需要降低ollama版本,调整为ollama0.3.6即可使用gpu卡。
使用环境变量设置:
export OLLAMA_MODELS=/data/olla-models
目前生效的参数是在第二步设置的Environment变量。详见前一节的第二步。

经过前面的成功部署和运行,结合客户端应用(如Open WebUI、CherryStudio等)配置该运行服务到OLLAMA_BASE_URL,即可进行应用测试,具体如下。

相关文章:

DeepSeek在linux下的安装部署与应用测试

结合上一篇文章,本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型,主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署,Open WebUI官网也提供了完整的docker部署说明,大家可…...

华为昇腾920b服务器部署DeepSeek翻车现场

最近到祸一台HUAWEI Kunpeng 920 5250,先看看配置。之前是部署的讯飞大模型,发现资源利用率太低了。把5台减少到3台,就出了他 硬件配置信息 基本硬件信息 按照惯例先来看看配置。一共3块盘,500G的系统盘, 2块3T固态…...

JavaScript 内置对象-数组对象

在JavaScript中,数组(Array)是一种非常重要的数据结构,它允许我们以列表的形式存储多个值,并提供了丰富的内置方法来操作这些值。无论是处理简单的数值集合还是复杂的对象数组,数组对象都能提供强大的支持。…...

Qt——连接MySQL数据库之ODBC的方法详细总结(各版本大同小异,看这一篇就够了)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》 《实用硬件方案设计》 《结构建模设…...

进程令牌:Windows 安全架构中的关键元素

一、进程令牌概述 进程令牌(Process Token)是 Windows 操作系统中一个重要的安全机制,它包含了与进程安全上下文相关的详细信息。每个进程在执行时都会关联一个进程令牌,令牌用于确定该进程可以访问哪些资源以及能执行哪些操作。…...

基于springboot的超时代停车场管理平台(源码+文档)

大家好我是风歌,曾担任某大厂java架构师,如今专注java毕设领域。今天要和大家聊的是一款基于springboot的超时代停车场管理平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于Spring Boot的超时代停车场…...

缓存穿透、缓存击穿、缓存雪崩的区别与解决方案

1. 缓存穿透(Cache Penetration) 定义:大量请求查询 数据库中不存在的数据,导致请求绕过缓存直接访问数据库,造成数据库压力过大。 场景: 恶意攻击:例如用不存在的用户ID频繁请求。 业务误操作…...

箭头函数的this指向谁

先看1个重要原则: 由Vue管理的函数,一定不要写箭头函数,箭头函数的this就不再是Vue实例了 箭头函数的 this 指向在定义时确定,继承自外层作用域(即定义时的上下文)的 this,且无法通过 call、app…...

【愚公系列】《Python网络爬虫从入门到精通》012-字符串处理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

【Python】01-基础

目录 1、命令行简介1.1 命令行结构1.2 常用dos指令 2、环境变量2.1 查看2.2 添加2.3 修改2.4 删除 3、path环境变量4、进制5、文本文件和字符集6、Sublime使用 1、命令行简介 命令行就是文本交互页面,通过命令行可以使用指令来操作计算机 1.1 命令行结构 版本及版…...

Java-DFS(深度优先搜索)

原理 深度优先搜索的基本思路是从一个节点开始,依次访问它的每一个邻居节点,直到达到一个没有未被访问的邻居的节点为止。这个过程可以使用递归或者栈来实现。其特点是尽可能深入每一个分支,然后再回溯。 DFS算法常用于解决以下类型的问题&…...

AI大模型编程能力对比:DeepseekClaudeGemini

在当今快速发展的技术领域,人工智能(AI)模型在编程和数据处理方面的应用越来越广泛。不同的AI模型因其独特的设计理念和技术优势,适用于不同的编程任务和场景。 本文将对三种主流的AI模型——DeepSeek v3、Gemini Flash 2.0 和 C…...

用C++实现点到三角形最小距离的计算

1、全部代码 #include <iostream> #include <cmath> #include <array> #include <algorithm>// 二维点结构体 struct Point2D {double x, y;Point2D(double x 0, double y 0) : x(x), y(y) {} };// 计算点到线段的最小距离 double pointToSegmen…...

解决前后端日期传输因时区差异导致日期少一天的问题

前端处理 1. 发送日期字符串而非时间戳 在前端使用日期选择器&#xff08;如 el-date-picker&#xff09;获取日期后&#xff0c;将日期转换为特定格式的字符串&#xff08;如 YYYY-MM-DD&#xff09;发送给后端&#xff0c;避免直接发送带有时区信息的时间戳或日期对象。这样…...

mmsegmentation自己的数据集+不同网络的config配对

比如说我们要用这个网络&#xff1a; 我们发现他内部继承了很多类&#xff0c;要想配对我们的数据集&#xff0c;就要进行父类的修改。 ../_base_/models/deeplabv3_unet_s5-d16.py, ../_base_/datasets/drive.py,../_base_/default_runtime.py, ../_base_/schedules/schedule…...

Golang官方编程指南

文章目录 1. Golang 官方编程指南2. Golang 标准库API文档 1. Golang 官方编程指南 Golang 官方网站&#xff1a;https://go.dev/ 点击下一步&#xff0c;查看官方手册怎么用 https://tour.go-zh.org/welcome/1 手册中的内容比较简单 go语言是以包的形式化管理函数的 搜索包名…...

ram的使用——初始化很重要

背景 ram是非常常用的ip&#xff0c;前人的经验告诉我们&#xff0c;如果不对ram进行初始化直接读写&#xff0c;不定态在实际上板时会出现不可预知的问题。 我们需要对ram进行初始化写0操作&#xff0c;代码如下。需要注意&#xff0c;复位释放时立马写入可能存在复位抖动的…...

doris:最佳实践

异步物化视图使用原则​ 时效性考虑&#xff1a; 异步物化视图通常用于对数据时效性要求不高的场景&#xff0c;一般是 T1 的数据。如果时效性要求高&#xff0c;应考虑使用同步物化视图。 加速效果与一致性考虑&#xff1a; 在查询加速场景&#xff0c;创建物化视图时&#x…...

[创业之路-299]:图解金融体系结构

一、金融体系结构 1.1 概述 金融体系结构是一个国家以行政的、法律的形式和运用经济规律确定的金融系统结构&#xff0c;以及构成这个系统的各种类型的银行和非银行金融机构的职能作用和相互关系。以下是对金融体系结构的详细分析&#xff1a; 1、金融体系的构成要素 现代金…...

RL--2

强化学习当中最难的两个点是&#xff1a; 1.reward delay&#xff1b; 2.agent的行为会影响到之后看到的东西&#xff0c;所以agent要学会探索世界&#xff1b; 关于强化学习的不同类型&#xff0c;可以分为以下三种&#xff1a; 一种是policy based&#xff1a;可以理解为它是…...

RAG天花板突破:GraphRAG、HyDE、Self-RAG、Code-RAG,解锁AI知识库进阶玩法!

基础RAG在处理关联推理、深层语义理解及领域特有关系时存在局限。文章介绍了GraphRAG通过知识图谱显式构建关系提升关联推理能力&#xff1b;HyDE让大模型“猜”答案再检索&#xff0c;优化召回效果&#xff1b;Self-RAG让大模型自主判断检索需求&#xff0c;提高效率与质量&am…...

WaveTools终极指南:5分钟掌握鸣潮多账号管理与画质优化

WaveTools终极指南&#xff1a;5分钟掌握鸣潮多账号管理与画质优化 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否为鸣潮多账号管理而烦恼&#xff1f;每次切换账号都要重新登录、调整画质设置&…...

快速免费备份微信聊天记录的完整指南

快速免费备份微信聊天记录的完整指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾经担心手机丢失或损坏导致珍贵的微信聊天记录永远消失&#xff1f;那些与家…...

从MII到RGMII:你的嵌入式网卡PCB面积是怎么省下来的?一个硬件老鸟的笔记

从MII到RGMII&#xff1a;硬件工程师的PCB布局优化实战指南 当我在设计第一块千兆以太网卡时&#xff0c;面对密密麻麻的GMII接口走线几乎崩溃——8位数据线、控制信号和时钟线让本已紧张的PCB空间雪上加霜。直到发现RGMII这个"布线救星"&#xff0c;才真正体会到接口…...

Keil MDK下解决‘No space in execution regions’内存溢出报错的5个实战技巧

Keil MDK下解决‘No space in execution regions’内存溢出报错的5个实战技巧 当你在Keil MDK环境下开发嵌入式项目时&#xff0c;突然遇到"No space in execution regions with .ANY selector matching"这个红色报错&#xff0c;就像开车时突然亮起的油量警告灯——…...

不止于PLC:用TwinCAT3调用C++模块的完整环境配置与项目实战(含WDK安装与证书配置)

TwinCAT3与C深度集成&#xff1a;工业控制系统的模块化开发实战 工业自动化领域正经历着从传统PLC编程向更灵活、更强大的混合开发模式转型。对于需要处理复杂算法、高性能计算或专用硬件交互的场景&#xff0c;单纯依赖IEC 61131-3标准已显得力不从心。本文将带您深入探索如何…...

告别平台切换烦恼:用Playnite游戏库管理器统一管理所有游戏平台

告别平台切换烦恼&#xff1a;用Playnite游戏库管理器统一管理所有游戏平台 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目…...

告别米级误差:手把手教你用BLE Channel Sounding实现厘米级室内定位(附Nordic nRF SDK实战)

告别米级误差&#xff1a;手把手教你用BLE Channel Sounding实现厘米级室内定位&#xff08;附Nordic nRF SDK实战&#xff09; 在智能仓储和资产追踪领域&#xff0c;高精度定位一直是开发者面临的难题。传统UWB方案虽然精度高&#xff0c;但成本让许多项目望而却步&#xff1…...

基于Python与Leaflet的旅行足迹可视化工具:从数据聚合到交互地图生成

1. 项目概述&#xff1a;一个旅行足迹可视化工具最近在整理过去几年的旅行照片和行程记录&#xff0c;发现了一个痛点&#xff1a;虽然手机相册里有海量的照片和定位信息&#xff0c;但很难直观地看到自己到底去过哪些地方&#xff0c;行程轨迹是怎样的。手动在地图上标记不仅耗…...

深度解析:基于 Docker 与 GB28181 的企业级 AI 视频管理平台——实现 X86/ARM 异构计算与全场景边缘计算架构

引言&#xff1a;安防开发的“深水区” 在安防智能化转型的下半场&#xff0c;开发者和集成商面临的挑战已不再是单纯的“视频调取”&#xff0c;而是如何解决异构芯片适配难、流媒体协议分发繁琐、AI 算力调度低效等核心痛点。从海康、大华等传统硬件协议的兼容&#xff0c;到…...