【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问

以下内容主要参考博文:DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园

安装 ollama

Download Ollama on Linux

curl -fsSL https://ollama.com/install.sh | sh

配置 ollama 监听地址

ollama 安装后默认监听 127.0.0.1, 为了方便使用,要么修改监听地址,要么用 SSH 转发,这里我选择了修改地址

sudo systemctl edit ollama

它会自动在 /etc/systemd/system/ollama.service.d/override.conf 中存储你添加或修改的配置。

在里面添加配置

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

即可覆盖主服务文件里对 OLLAMA_HOST 的设置,其他环境变量(如 PATH 等)则仍保留主服务文件里的值。

验证

先重启一下

sudo systemctl daemon-reload
sudo systemctl restart ollama

然后执行以下命令验证

sudo systemctl show ollama | grep Environment

你会看到系统最终为该服务设置的所有环境变量。其中如果存在同名变量,就会以最后写入(即 override 配置)的值为准。

安装deepseek-r1模型

搜索模型

Ollama

目前最火的 DeepSeek-R1 排在显眼位置

我的电脑配置是,CPU:Inteli9-13900KF×32,内存:31.2 GiB,显卡:RTX 4080(16GiB),我选了 14b 的模型

可以根据显存选择合适的模型,如下所示:

模型版本参数量模型大小显卡CPU内存磁盘
1.5B15亿1.1 GB4GB+ 显存(如 GTX 1650)4核以上(推荐 Intel/AMD 多核处理器)8GB+3GB+ 存储空间
7B70亿4.7 GB8GB+ 显存(如 RTX 3070/4060)8核以上(推荐现代多核 CPU)16GB+8GB+ 存储空间
8B80亿4.9 GB8GB+ 显存(如 RTX 3070/4060)8核以上(推荐现代多核 CPU)16GB+8GB+ 存储空间
14B140亿9.0 GB16GB+ 显存(如 RTX 4080 或 A5000)12核以上32GB+15GB+ 存储空间
32B320亿20 GB24GB+ 显存(如 A100 40GB 或双卡 RTX 3090)16核以上(如 AMD Ryzen 9 或 Intel i9)64GB+30GB+ 存储空间
70B700亿43 GB多卡并行(如 2x A100 80GB 或 4x RTX 4090)32核以上(服务器级 CPU)128GB+70GB+ 存储空间
671B6710亿404 GB多节点分布式训练(如 8x A100/H100)64核以上(服务器集群)512GB+500GB+ 存储空间

安装

接着执行命令

ollama run deepseek-r1:14b

开始下载,14b 的模型大小是 9GB

使用

在命令行可以直接使用,比如输入“你好”

ollama run deepseek-r1:14b
​
>>> 你好
<think>
​
</think>
​
你好!很高兴见到你,有什么我可以帮忙的吗?
​
>>> Send a message (/? for help)

或者使用ollma的api进行访问:

curl http://192.168.106.154:11434/api/generate -d '{"model": "deepseek-r1:14b","prompt": "你好","stream":false}' > response.json

这里返回的是json格式的字符串,我把回答保存为response.json文件:

{"context": [151644,108386,151645,151648,271,151649,271,108386,6313,112169,104639,56568,3837,104139,109944,106128,9370,101037,11319],"created_at": "2025-02-05T05:54:20.914913948Z","done": true,"done_reason": "stop","eval_count": 17,"eval_duration": 309000000,"load_duration": 20280119,"model": "deepseek-r1:14b","prompt_eval_count": 4,"prompt_eval_duration": 23000000,"response": "\u003cthink\u003e\n\n\u003c/think\u003e\n\n你好!很高兴见到你,有什么我可以帮忙的吗?","total_duration": 354561241
}

其他更具体的api调用方式可以查询ollma官方文档(https://github.com/ollama/ollama/blob/main/docs/api.md)

安装 Open WebUI

GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

pip 安装

conda create -n open-webui python=3.11

切换环境

conda activate open-webui

安装

pip install open-webui

启动

open-webui serve

docker启动Open WebUI

docker命令启动

docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
--add-host=api.openai.com:127.0.0.1 \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main

这里需要另外添加--add-host=api.openai.com:127.0.0.1,避免出现“openwebui登陆进入之后很长一段时间才能看到界面”

可能可能需要添加-v ollama:/root/.ollama,不然进去后会发现找不到模型

关闭容器

docker ps -a
docker stop open-webui
docker rm open-webui
docker volume rm open-webui

内网访问

查看电脑的局域网ip

ifconfig

使用http://<ip>:<port>进行访问

http://192.168.106.154:3000

这里的3000就是将本地的端口3000映射到docker容器的8080,容器内部会通过host.docker.internal访问ollama的接口

后续如果建立内网穿刺,就可以在外网访问啦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13764.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年Android NDK超全版本下载地址

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

通信易懂唠唠SOME/IP——SOME/IP-SD服务发现阶段和应答行为

一 SOME/IP-SD服务发现阶划分 服务发现应该包含3个阶段 1.1 Initial Wait Phase初始等待阶段 初始等待阶段的作用 初始等待阶段是服务发现过程中的一个阶段。在这个阶段&#xff0c;服务发现模块等待服务实例的相关条件满足&#xff0c;以便继续后续的发现和注册过程。 对…

1. Kubernetes组成及常用命令

Pods(k8s最小操作单元)ReplicaSet & Label(k8s副本集和标签)Deployments(声明式配置)Services(服务)k8s常用命令Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被…

Vue全流程--Vue2组件的理解第二部分

组件命名规则 好的命名规则可以省去很多不必要的麻烦&#xff0c;这个好习惯还是要养成的 一个单词组成&#xff1a; 第一种写法(首字母小写)&#xff1a;school 第二种写法(首字母大写)&#xff1a;School 多个单词组成&#xff1a; 第一种写法(kebab-case命名)&#xf…

【OS】AUTOSAR架构下的Interrupt详解(上篇)

目录 前言 正文 1.中断概念分析 1.1 中断处理API 1.2 中断级别 1.3 中断向量表 1.4 二类中断的嵌套 1.4.1概述 1.4.2激活 1.5一类中断 1.5.1一类中断的实现 1.5.2一类中断的嵌套 1.5.3在StartOS之前的1类ISR 1.5.4使用1类中断时的注意事项 1.6中断源的初始化 1.…

红包雨项目前端部分

创建项目 pnpm i -g vue/cli vue create red_pakage pnpm i sass sass-locader -D pnpm i --save normalize.css pnpm i --save-dev postcss-px-to-viewportpnpm i vantlatest-v2 -S pnpm i babel-plugin-import -Dhttps://vant.pro/vant/v2/#/zh-CN/<van-button click&…

深入理解k8s中的容器存储接口(CSI)

CSI出现的原因 K8s原生支持一些存储类型的PV&#xff0c;像iSCSI、NFS等。但这种方式让K8s代码与三方存储厂商代码紧密相连&#xff0c;带来不少麻烦。比如更改存储代码就得更新K8s组件&#xff0c;成本高&#xff1b;存储代码的bug还会影响K8s稳定性&#xff1b;K8s社区维护和…

DeepSeek回答禅宗三重境界重构交易认知

人都是活在各自心境里&#xff0c;有些话通过语言去交流&#xff0c;还是要回归自己心境内在的&#xff0c;而不是靠外在映射到股票和技术方法&#xff1b;比如说明天市场阶段是不修复不接力节点&#xff0c;这就是最高视角看整个市场&#xff0c;还有哪一句话能概括&#xff1…

简单说一下CAP理论和Base理论

CAP理论 什么是CAP 一致性 可用性 分区容错性&#xff1a;系统如果不能再时限内达成数据一致性&#xff0c;就说明发生了分区的情况 然后当前操作在C和A之间做出选择 例如我的网络出现问题了&#xff0c;但是我们的系统不能因为网络问题就直接崩溃 只要我们的分布式系统没…

13.PPT:诺贝尔奖【28】

目录 NO1234 NO567 NO8/9/10 NO11/12 NO1234 设计→变体→字体→自定义字体 SmartArt超链接新增加节 NO567 版式删除图片中的白色背景&#xff1a;选中图片→格式→删除背景→拖拉整个图片→保留更改插入→图表→散点图 &#xff1a;图表图例、网格线、坐标轴和图表标题…

RabbitMQ的安装

1、官网地址 下载地址&#xff1a;Installing RabbitMQ | RabbitMQhttp://www.rabbitmq.com/download.htmlhttp://www.rabbitmq.com/download.html RabbitMQ Documentation | RabbitMQhttps://www.rabbitmq.com/docshttps://www.rabbitmq.com/docs 2、Windows上安装 2.1 安装…

【LeetCode】152、乘积最大子数组

【LeetCode】152、乘积最大子数组 文章目录 一、dp1.1 dp1.2 简化代码 二、多语言解法 一、dp 1.1 dp 从前向后遍历, 当遍历到 nums[i] 时, 有如下三种情况 能得到最大值: 只使用 nums[i], 例如 [0.1, 0.3, 0.2, 100] 则 [100] 是最大值使用 max(nums[0…i-1]) * nums[i], 例…

【分布式理论六】分布式调用(4):服务间的远程调用(RPC)

文章目录 一、RPC 调用过程二、RPC 动态代理&#xff1a;屏蔽远程通讯细节1. 动态代理示例2. 如何将动态代理应用于 RPC 三、RPC 序列化四、RPC 协议编码1. 协议编码的作用2. RPC 协议消息组成 五、RPC 网络传输1. 网络传输流程2. 关键优化点 一、RPC 调用过程 RPC&#xff08…

Spring Task之Cron表达式

&#x1f31f; Spring Task高能预警&#xff1a;你以为的Cron表达式可能都是错的&#xff01;【附实战避坑指南】 开篇暴击&#xff1a;为什么你的定时任务总在凌晨3点翻车&#xff1f; “明明设置了0 0 2 * * ?&#xff0c;为什么任务每天凌晨3点执行&#xff1f;” —— 来…

第16章 Single Thread Execution设计模式(Java高并发编程详解:多线程与系统设计)

简单来说&#xff0c; Single Thread Execution就是采用排他式的操作保证在同一时刻只能有一个线程访问共享资源。 1.机场过安检 1.1非线程安全 先模拟一个非线程安全的安检口类&#xff0c;旅客(线程)分别手持登机牌和身份证接受工作人员的检查&#xff0c;示例代码如所示。…

OSPF基础(2):数据包详解

OSPF数据包(可抓包) OSPF报文直接封装在IP报文中&#xff0c;协议号89 头部数据包内容&#xff1a; 版本(Version):对于OSPFv2&#xff0c;该字段值恒为2(使用在IPV4中)&#xff1b;对于OSPFv3&#xff0c;该字段值恒为3(使用在IPV6中)。类型(Message Type):该OSPF报文的类型。…

MAC 安装mysql全过程记录

4.然后等待下载吧&#xff0c;&#xff08;下载中。。。。&#xff09;&#xff0c;好了&#xff0c;网速的问题&#xff0c;半个小时终于下载好了&#xff0c;开始安装吧。 5.得到如下安装包&#xff0c;mac下也是双击直接下载&#xff0c;来&#xff0c;我们来看看下载的过程…

神经网络常见激活函数 1-sigmoid函数

sigmoid 1 函数求导 sigmoid函数 σ ( x ) 1 1 e ( − x ) \sigma(x) \frac{1}{1e^{(-x)}} σ(x)1e(−x)1​ sigmoid函数求导 d d x σ ( x ) d d x ( 1 1 e − x ) e − x ( 1 e − x ) 2 ( 1 e − x ) − 1 ( 1 e − x ) 2 1 1 e − x − 1 ( 1 e − x ) 2 …

微软发布基于PostgreSQL的开源文档数据库平台DocumentDB

我们很高兴地宣布正式发布DocumentDB——一个开源文档数据库平台&#xff0c;以及基于 vCore、基于 PostgreSQL 构建的 Azure Cosmos DB for MongoDB 的引擎。 过去&#xff0c;NoSQL 数据库提供云专用解决方案&#xff0c;而没有通用的互操作性标准。这导致对可互操作、可移植…

【苍穹外卖 Day1】前后端搭建 Swagger导入接口文档

项目技术选型 前端 直接使用打包好的nginx运行。 后端 1、导入初始代码结构如下&#xff1a; 2、将代码上传远程仓库。 3、创建数据库&#xff0c;并修改数据库配置。 4、断点调试&#xff0c;前后端联调。 5、使用Nginx代理&#xff0c;修改Nginx配置 好处&#xff1a;提…