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

【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.kler.cn/a/535996.html

相关文章:

  • 一次奇怪的空指针问题分析:事务、死锁与隐式回滚
  • .net的一些知识点3
  • 使用多模态大语言模型进行深度学习的图像、文本和语音数据增强
  • 芝法酱学习笔记(2.6)——flink-cdc监听mysql binlog并同步数据至elastic-search和更新redis缓存
  • CommonAPI学习笔记-2
  • 如何在Window计算机本地部署DeepSeek-r1模型
  • Spring Boot篇
  • 如何查看linux机器有几个cpu
  • Mono里运行C#脚本41—编译MonoEmbed::gimme()调用的过程
  • Java实现数据库图片上传(包含从数据库拿图片传递前端渲染)-图文详解
  • 3. kafka事务消息
  • 分布式事务实战 ——Seata 与最终一致性方案
  • Cables Finance发布 V1.1 白皮书:开创RWA敞口新范式
  • 第二篇:前端VSCode常用快捷键-以及常用技巧
  • ORACLE 数据库的启动和关闭
  • LLM的Deep Research功能:重构人类认知与创新的新范式
  • SQL Server中RANK()函数:处理并列排名与自然跳号
  • tomcat如何配置保存7天滚动日志
  • NLP知识点
  • 7-1 什么是机器学习
  • C语言数据结构编程练习-排序算法
  • 2.1-STL库中string类的模拟实现
  • DIY Shell:探秘进程构建与命令解析的核心原理
  • 蓝桥杯小白打卡第二天
  • 【大模型LLM面试合集】大语言模型架构_Transformer架构细节
  • java高级工程师面试题_java高级工程师面试题及答案解析