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

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.mrgr.cn/news/89865.html

相关文章:

  • 4G核心网的演变与创新:从传统到虚拟化的跨越
  • FastReport 加载Load(Stream) 模板内包含换行符不能展示
  • unity学习29:摄像机camera相关skybox 和 Render Texture测试效果
  • 硅基流动与华为云联合推出基于昇腾云的DeepSeek R1amp;V3推理服务
  • 【西藏乡镇界面】图层arcgis格式shp数据有乡镇名称和编码2020年wgs84坐标内容测评
  • pytest-allure框架简单封装----测试报告
  • AlwaysOn 可用性组副本所在服务器以及该副本上数据库的各项状态信息
  • .net的一些知识点6
  • C++效率掌握之STL库:string函数全解
  • 【Unity2D 2022:UI】创建滚动视图
  • DeepSeek:探索人工智能的新边界
  • 【csp/信奥赛C++语法学习如何入门?】
  • 【DeepSeek论文精读】2. DeepSeek LLM:以长期主义扩展开源语言模型
  • 循环神经网络
  • 【2】Cisco SD-WAN 组件介绍
  • docker /var/lib/docker/overlay2目录把磁盘空间占满问题
  • 排序算法--快速排序
  • Linux高并发服务器开发 第十六天(execlp/execl 进程回收/孤儿进程/僵尸进程 wait/waitpid回收 进程间的通信)
  • VIVADO生成DCP和EDF指南
  • 【漫话机器学习系列】084.偏差和方差的权衡(Bias-Variance Tradeoff)
  • C++开发(软件开发)常见面试题
  • Mysql知识梳理(数据库的锁梳理,Mysql优化)
  • Android13-系统服务大管家-ServiceManager进程-启动篇
  • 【从零开始系列】DeepSeek-R1:(本地部署使用)思维链推理大模型,开源的神!——Windows / Linux本地环境测试 + vLLM / SGLang远程部署服务
  • C# winforms 使用菜单和右键菜单
  • TaskBuilder低代码开发项目实战:项目简介