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

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改

一、交互式chat页面

1.1 open-webui 交互窗口部署:基于docker安装,且支持联网搜索

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线操作。它支持各种 LLM 运行器,如 Ollama 和 OpenAI 兼容的 API,内置 RAG 推理引擎,使其成为强大的 AI 部署解决方案。它支持个人离线部署类openai api接口服务,也支持商用的类openAI api 接口服务

1.1.1 安装 open-webui 配置环境

Ollama下的open-webui交互项目地址

  1. 我使用的是win11的wsl2 ubuntu 子系统(也可以使用VM虚拟机):window11使用wsl2安装Ubuntu22.04
  2. linux 安装配置docker与网络代理:Ubuntu 安装 docker 配置环境及其常用命令
  3. 拉取open-webui docker镜像并运行容器(含代理)
    如果仅仅使用本地部署的LLM api 接口不使用openAI的api-key可以不使用代理
# 使用 open-webui 项目官方启动docker容器的命令
# 不同的是,由于后续可能使用openai的api-key,因此在创建容器时需要使用 -e 加入http 网络代理,我服务器的代理地址是http://host.docker.internal:7891
# 即现对于官方的命令加入了:-e HTTP_PROXY=http://host.docker.internal:7891 -e HTTPS_PROXY=http://host.docker.internal:7891
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui -e HTTP_PROXY=http://host.docker.internal:7891 -e HTTPS_PROXY=http://host.docker.internal:7891 --restart always ghcr.io/open-webui/open-webui:main
# --add-host=host.docker.internal:host-gateway的作用:
# macOS 和 Windows:
#在 macOS 和 Windows 上,Docker Desktop 会自动设置 host.docker.internal 为宿主机的 IP 地址,容器可以直接使用这个主机名与宿主机通讯。

#Linux:
#在 Linux 系统上,Docker 并不会自动创建 host.docker.internal 的解析。为了让容器能够通过 host.docker.internal 访问宿主机,你需要手动添加这个主机名和对应的宿主机 IP 地址。

# 使用 host-gateway
# 通过在 docker run 命令中添加 --add-host=host.docker.internal:host-gateway:
# 这里的 host-gateway 将自动解析为 Docker 守护进程所运行的主机的 IP 地址,意味着容器对 host.docker.internal 的访问将被成功解析到宿主机的 IP。这使得在 Linux 上的使用体验与 macOS 和 Windows 变得一致。

查看启动成功:

docker ps -a

在这里插入图片描述
查看代理是否加入:

# 进入容器内部
docker exec -it open-webui bash
printenv

在这里插入图片描述
验证代理是否成功:

curl -x $HTTPS_PROXY -I www.google.com

在这里插入图片描述
退出容器内部

# 退出容器内部
exit
  1. 在本地浏览器输入 127.0.0.1:3000 进入open Webui界面
    端口3000是和上文容器启动命令中的参数 -p 3000:8080 对应的
  • 第一次进入需要创建管理员账号,创建即可
  • 创建完成后稍等片刻,点击页面左下角的设置,可以进行配置
    在这里插入图片描述
    在这里插入图片描述
    如果是本地部署的Ollama服务,就不用特殊处理,如果是其他的框架部署的LLM api服务,或者是商业的api,就需要配置“管理openai api 链接”里面的内容了
  • 配置完成后即可进行对话(具体可以见下文不同的LLM api 服务的配置
  • 需要联网使用的话可以按下面配置(代理改成自己的实际地址
    在这里插入图片描述
1.1.2 ChatBox部署

// 待更…

二、部署deepseek r1 api接口

2.1 Ollama 部署

2.1.1 安装配置Ollama 环境

Ollama github地址
ubuntu 安装 Ollama

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

在这里插入图片描述
查看ollama 版本

 ollama -v

在这里插入图片描述
其他的ollama 命令

ollama

在这里插入图片描述
查看ollama的服务运行状态

# 要查看当前正在运行的服务,可以使用以下命令:
sudo systemctl list-units --type=service --state=running

## 要查看所有服务的状态,可以使用以下命令: sudo systemctl list-unit-files --type=service

请添加图片描述
systemctl 其他常用命令

# 查看某个特定服务的状态, 如果您想查看某个特定服务的状态,可以使用:
systemctl status <service_name>
## 例如:
systemctl status nginx

# 启用或禁用服务的自动启动
## 启用服务以在启动时自动启动:
sudo systemctl enable <service_name>
## 禁用服务以在启动时不自动启动:
sudo systemctl disable <service_name>

## 其他相关命令
### 启动服务:
sudo systemctl start <service_name>
### 停止服务:
sudo systemctl stop <service_name>
### 重启服务:
sudo systemctl restart <service_name>

2.1.2 Ollama 拉取部署本地的LLM api

  1. 下载deepseek R1模型:deepseek-r1 模型下载
# 拉取 DeepSeek-R1-Distill-Qwen-1.5B
ollama pull deepseek-r1:1.5b

在这里插入图片描述

# 查看本地的模型
ollama list

在这里插入图片描述

  1. 本地运行/部署 DeepSeek-R1-Distill-Qwen-1.5B
ollama run deepseek-r1:1.5b

运行后可以使用终端对话了
在这里插入图片描述
3. 与open-webui的交互
浏览器打开一阶段我们部署的open-webui镜像服务,即浏览器输入 127.0.0.1:3000
我的Ubuntu是基于win11的镜像网络,部署到子系统localhost的服务可以直接在win11的本地localhost访问,故我将官方默认的地址更改为127.0.0.1, 具体可以见: https://github.com/open-webui/open-webui#troubleshooting, 如下图所示:
在这里插入图片描述
然后点击左侧“模型”的按钮刷新下,可以发现 deepseek-r1:1.5b 已经在列表中(列表中其他的模型是因为我加入openai的官方key,可以忽略)
在这里插入图片描述
回到聊天页面,选择deepseek-r1:1.5b聊天即可,如下:
在这里插入图片描述

2.2 vllm 部署

2.2.1 安装配置vllm环境

// 待更 …

2.2.2

// 待更 …


http://www.kler.cn/a/538035.html

相关文章:

  • 数字电路-基础逻辑门实验
  • 程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<8>
  • [LUA ERROR] bad light userdata pointer
  • 排序合集(一)
  • 洛谷算法1-3 暴力枚举
  • openAI官方prompt技巧(二)
  • 用 Lambda 表达式处理 Java Stream 流操作
  • 装备库室管控系统|支持国产化、自主研发
  • 【医院运营统计专题】2.运营统计:医院管理的“智慧大脑”
  • 【Milvus】向量数据库pymilvus使用教程
  • 2022java面试总结,1000道(集合+JVM+并发编程+Spring+Mybatis)的Java高频面试题
  • Vue | 透传 Attributes(非 prop 的 attribute )
  • STM32 硬件I2C读写MPU6050
  • V8 GC垃圾回收
  • 一步一步生成音乐类小程序的详细指南,结合AI辅助开发的思路
  • android studio无痛入门
  • 西安科技创新领跑者:树莓集团以科技创新赋能产业生态圈
  • Milvus 存储设计揭秘:从数据写入到 Segment 管理的全链路解析
  • 深入浅出Log4j2:从入门到实战应用指南
  • C语言基础系列【6】流程控制
  • 快速建立私有化知识库(私有化训练DeepSeek,通过ollama方式)
  • python 使用OpenAI Whisper进行显卡推理语音翻译
  • 探秘树莓集团海南战略:文创领军者的市场破局之路
  • 【Go语言快速上手】第二部分:Go语言进阶
  • opencv打开摄像头出现读取帧错误问题
  • 原子核链式反应与曼哈顿计划