【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.5B | 15亿 | 1.1 GB | 4GB+ 显存(如 GTX 1650) | 4核以上(推荐 Intel/AMD 多核处理器) | 8GB+ | 3GB+ 存储空间 |
| 7B | 70亿 | 4.7 GB | 8GB+ 显存(如 RTX 3070/4060) | 8核以上(推荐现代多核 CPU) | 16GB+ | 8GB+ 存储空间 |
| 8B | 80亿 | 4.9 GB | 8GB+ 显存(如 RTX 3070/4060) | 8核以上(推荐现代多核 CPU) | 16GB+ | 8GB+ 存储空间 |
| 14B | 140亿 | 9.0 GB | 16GB+ 显存(如 RTX 4080 或 A5000) | 12核以上 | 32GB+ | 15GB+ 存储空间 |
| 32B | 320亿 | 20 GB | 24GB+ 显存(如 A100 40GB 或双卡 RTX 3090) | 16核以上(如 AMD Ryzen 9 或 Intel i9) | 64GB+ | 30GB+ 存储空间 |
| 70B | 700亿 | 43 GB | 多卡并行(如 2x A100 80GB 或 4x RTX 4090) | 32核以上(服务器级 CPU) | 128GB+ | 70GB+ 存储空间 |
| 671B | 6710亿 | 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的接口
后续如果建立内网穿刺,就可以在外网访问啦~
相关文章:
【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问
以下内容主要参考博文:DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园 安装 ollama Download Ollama on Linux curl -fsSL https://ollama.com/install.sh | sh 配置 ollama 监听地址 ollama 安装后…...
SpringAI系列 - 使用LangGPT编写高质量的Prompt
目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…...
Github - 记录一次对“不小心包含了密码的PR”的修复
Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目,某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除,且其包含的commit也能被所有能看到这个仓库的…...
【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享
《API Testing and Development with Postman》最新第二版封面 文章目录 3 接口自动化测试实战3.1 测试环境的改造3.2 对列表查询接口的测试3.3 对查询单个实例的测试3.4 对新增接口的测试3.5 对修改接口的测试3.6 对删除接口的测试 4 测试集合的共享操作4.1 分享 Postman 集合…...
前后端通过docker部署笔记
项目背景:这是一个SpringBootvue3的项目,通过maven打包后,需要在Linux服务器上部署,本篇博客主要记录docker-compose.yaml文件的含义: docker-compose.yml 文件中定义了一个 algorithm_platform_frontend 容器&#…...
五十天精通硬件设计第四天-场效应管知识及选型
场效应管(FET,Field-Effect Transistor)是一种利用电场效应控制电流的半导体器件,广泛应用于放大、开关等电路中。以下是场效应管的基本知识及选型要点: 一、场效应管的基本知识 1. 类型: - **结型场效应管(JFET)**: - N沟道和P沟道两种类型。 - 栅极与…...
了解 ALV 中的 field catalog (ABAP List Viewer)
在 ABAP 中,字段目录是使用 ALV (ABAP List Viewer) 定义内部表中的数据显示方式的关键元素。它提供对 ALV 中显示的字段的各种属性的控制,例如列标题、对齐方式、可见性、可编辑性等。关键概念: Field Catelog 字段目…...
【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料
🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎃1.修改密码 -持久…...
十一、CentOS Stream 9 安装 Docker
一、Docker 环境安装 1、软件源(仓库)信息 使用如下命令可列出当前系统配置的所有软件源(仓库)信息 # 列出所有软件源 dnf repolist 这表明系统有三个仓库 AppStream 、 BaseOS、Extras-Common 被启用 2、配置软件源镜像 使用如下命令可配置 Docker 软件包下载的镜像地址 …...
FreeRTOS学习 --- 中断管理
什么是中断? 让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断 中断执行机制,可简单概括为三步: 1,中断请求 外设产生中断请求(GPIO外部中断、定时器中断…...
如何在Intellij IDEA中识别一个文件夹下的多个Maven module?
目录 问题描述 理想情况 手动添加Module,配置Intellij IDEA的Project Structure 问题描述 一个文件夹下有多个Maven项目,一个一个开窗口打开可行但是太麻烦。直接open整个文件夹会发现Intellij IDEA默认可能就识别一个或者几个Maven项目,如…...
机器学习模型--线性回归、逻辑回归、分类
一、线性回归 级别1:简单一元线性回归(手工实现) import numpy as np import matplotlib.pyplot as plt# 生成数据 X np.array([1, 2, 3, 4, 5]) y np.array([2, 4, 5, 4, 5])# 手动实现梯度下降 def gradient_descent(X, y, lr0.01, epo…...
gitlab个别服务无法启动可能原因
目录 一、gitlab的puma服务一直重启 1. 查看日志 2. 检查配置文件 3. 重新配置和重启 GitLab 4. 检查系统资源 5. 检查依赖和服务状态 6. 清理和优化 7. 升级 GitLab 8. 查看社区和文档 二、 gitlab个别服务无法启动可能原因 1.服务器内存或磁盘已满 2.puma端口冲突…...
react的antd表格数据回显在form表单中
1、首先为table添加编辑按钮 {title: 操作,align: center,render: (_: any, record: any) > (<div style{{ display: flex, alignItems: center, justifyContent: space-evenly }}><Buttonsize"small"onClick{() > deitor(record)} style{{ margin…...
深度分析:网站快速收录与网站内容多样性的关系
本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/87.html 网站快速收录与网站内容多样性之间存在着密切的关系。以下是对这一关系的深度分析: 一、网站内容多样性对快速收录的影响 提升搜索引擎抓取效率: 多样化的…...
feign 远程调用详解
在平常的开发工作中,我们经常需要跟其他系统交互,比如调用用户系统的用户信息接口、调用支付系统的支付接口等。那么,我们应该通过什么方式进行系统之间的交互呢?今天,简单来总结下 feign 的用法。 1:引入依…...
【Android】jni开发之导入opencv和libyuv来进行图像处理
做视频图像处理时需要对其进行水印的添加,放在应用层调用工具性能方面不太满意,于是当下采用opencvlibyuv方法进行处理。 对于Android的jni开发不是很懂,我的需求是导入opencv方便在cpp中调用,但目前找到的教程都是把opencv作为模…...
【Elasticsearch】terms聚合误差问题
Elasticsearch中的聚合查询在某些情况下确实可能存在误差,尤其是在处理分布式数据和大量唯一值时。这种误差主要来源于以下几个方面: 1.分片数据的局部性 Elasticsearch的索引通常被分成多个分片,每个分片独立地计算聚合结果。由于数据在分…...
深入理解 `box-sizing: border-box;`:CSS 布局的利器
深入理解 box-sizing: border-box;:CSS 布局的利器 默认行为示例代码 使用 box-sizing: border-box;示例代码 全局应用 box-sizing: border-box;示例代码 实际应用场景1. 表单布局2. 网格布局 总结 在 CSS 中,box-sizing 属性决定了元素的总宽度和高度是…...
【原子工具】快速幂 快速乘
题幂算.一切即1 阴阳迭变积微著,叠浪层峦瞬息功 莫道浮生千万事,元知万象一归宗 文章目录 快速幂原始快速幂(O(logn))二分递归形式非递归形式 模下意义的快速幂(O(logn))二分递归形式非递归形式 快速乘龟速…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
