当前位置: 首页 > 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部署

// 待更…

1.1.3 LobeChat 部署(阿里云)

详情见文章:使用阿里云服务器实现个人chat-gpt(LobeChat部署)


二、部署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

// 待更 …

相关文章:

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改 一、交互式chat页面 1.1 open-webui 交互窗口部署&#xff1a;基于docker安装&#xff0c;且支持联网搜索 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离线操作。它支持各种 LLM…...

RestTemplate Https 证书访问错误

错误信息 resttemplate I/O error on GET request for “https://21.24.6.6:9443/authn-api/v5/oauth/token”: java.security.cert.CertificateException: No subject alternative names present; nested exception is javax.net.ssl.SSLHandshakeException: java.security.c…...

MySQL内存使用率高且不释放问题排查与总结

背景 生产环境mysql 5.7内存占用超过90%以上&#xff0c;且一直下不来。截图如下&#xff1a; 原因分析 1、确定mysql具体的占用内存大小&#xff0c;通过命令&#xff1a;cat /proc/Mysql进程ID/status查看 命令执行后的结果比较多&#xff08;其他参数的含义想了解可参考这…...

mysql8 从C++源码角度看sql生成抽象语法树

在 MySQL 8 的 C 源码中&#xff0c;SQL 语句的解析过程涉及多个步骤&#xff0c;包括词法分析、语法分析和抽象语法树&#xff08;AST&#xff09;的生成。以下是详细的解析过程和相关组件的描述&#xff1a; 1. 词法分析器&#xff08;Lexer&#xff09; MySQL 使用一个称为…...

【DeepSeek】DeepSeek概述 | 本地部署deepseek

目录 1 -> 概述 1.1 -> 技术特点 1.2 -> 模型发布 1.3 -> 应用领域 1.4 -> 优势与影响 2 -> 本地部署 2.1 -> 安装ollama 2.2 -> 部署deepseek-r1模型 1 -> 概述 DeepSeek是由中国的深度求索公司开发的一系列人工智能模型&#xff0c;以其…...

【C++】多态原理剖析

目录 1.虚表指针与虚表 2.多态原理剖析 1.虚表指针与虚表 &#x1f36a;类的大小计算规则 一个类的大小&#xff0c;实际就是该类中成员变量之和&#xff0c;需要注意内存对齐空类&#xff1a;编译器给空类一个字节来唯一标识这个类的对象 对于下面的Base类&#xff0c;它的…...

【Rust自学】20.4. 结语:Rust学习一阶段完成+附录

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 20.4.1. 总结 Rust初级学习之旅终于完成了&#xff01;恭喜&#xff01; 包括这篇文章&#xff0c;我们使用了110篇文章来学习Rust。 真…...

pytorch引用halcon写数据集

****加粗样式虽然啰嗦一点&#xff0c;但好歹halcon自己熟悉&#xff0c;不会忘记&#xff0c;用os 和 pil会导致脑子记得东西太多 import halcon as ha import torch from torch.utils.data import Datasetpath0 rE:\BaiduNetdiskDownload\cell class MyDataset(Dataset):de…...

让文物“活”起来,以3D数字化技术传承文物历史文化!

文物&#xff0c;作为不可再生的宝贵资源&#xff0c;其任何毁损都是无法逆转的损失。然而&#xff0c;当前文物保护与修复领域仍大量依赖传统技术&#xff0c;同时&#xff0c;文物管理机构和专业团队的力量相对薄弱&#xff0c;亟需引入数字化管理手段以应对挑战。 积木易搭…...

aarch64 Ubuntu20.04 安装docker

安装 docker 依赖项&#xff1a;sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release添加 Docker GPG 密钥&#xff1a;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyr…...

JAVA:CloseableHttpClient 进行 HTTP 请求的技术指南

1、简述 CloseableHttpClient 是 Apache HttpComponents 提供的一个强大 HTTP 客户端库。它允许 Java 程序与 HTTP/HTTPS 服务交互&#xff0c;可以发送 GET、POST 等各种请求类型&#xff0c;并处理响应。该库广泛用于 REST API 调用、文件上传和下载等场景。 2、特性 Close…...

Mac上搭建k8s环境——Minikube

1、在mac上安装Minikube可执行程序 brew cask install minikub 安装后使用minikube version命令查看版本 2、安装docker环境 brew install --cask --appdir/Applications docker #安装docker open -a Docker #启动docker 3、安装kubectl curl -LO https://storage.g…...

经典排序算法复习----C语言

经典排序算法复习 分类 交换类 冒泡快排 分配类 计数排序基数排序 选择类 选择排序 堆排序 归并类 归并排序 插入类 直接插入排序 希尔排序 折半插入排序 冒泡排序 基于交换。每一轮找最大值放到数组尾部 //冒泡排序 void bubSort(int* arr,int size){bool sorte…...

自动驾驶数据集三剑客:nuScenes、nuImages 与 nuPlan 的技术矩阵与生态协同

目录 1、引言 2、主要内容 2.1、定位对比&#xff1a;感知与规划的全维覆盖 2.2、数据与技术特性对比 2.3、技术协同&#xff1a;构建全栈研发生态 2.4、应用场景与评估体系 2.5、总结与展望 3、参考文献 1、引言 随着自动驾驶技术向全栈化迈进&#xff0c;Motional 团…...

[LUA ERROR] bad light userdata pointer

Cocos2d项目&#xff0c;targetSdkVersion30&#xff0c;在 android 13 设备运行报错: [LUA ERROR] bad light userdata pointer &#xff0c;导致黑屏。 参考 cocos2dx 适配64位 arm64-v8a 30 lua 提示 bad light userdata pointer 黑屏-CSDN博客的方法 下载最新的Cocos2dx …...

【Java八股】JVM

JVM 1. jvm内存区域分为哪些部分 线程私有的&#xff1a;程序计数器、虚拟机栈、本地方法栈 程序计数器&#xff1a;指示当前线程执行到的字节码文件的行号&#xff0c;是线程切换后保证线程能恢复到正确的执行位置的关键 虚拟机栈&#xff1a;用于存储方法调用的数据&…...

集成学习(一):从理论到实战(附代码)

一、引言 在机器学习领域&#xff0c;打造一个独立、强大的算法是解决问题的关键。然而&#xff0c;集成学习提供了一种不同的视角&#xff1a;通过组合多个“弱”学习器来创建一个更强大的模型。本文探讨集成学习的思想、方法及其应用。 二、机器学习 vs 集成学习思想 传统…...

Netty:高性能网络应用框架的深度解析

引言 Netty 是由 JBoss 提供的一个开源的 Java NIO 客户端/服务器框架&#xff0c;它用以快速开发网络应用程序&#xff0c;如协议服务器和客户端。它的设计目标是提供异步事件驱动的网络应用程序框架&#xff0c;支持高效的网络通信和数据处理。Netty 在性能、可扩展性、安全…...

神经网络常见激活函数 3-ReLU函数(修正线性单元)

文章目录 ReLU函数求导函数和导函数图像优缺点pytorch 中的 ReLU 函数tensorflow 中的ReLU函数 ReLU 修正线性单元 &#xff08;Rectified Linear Unit&#xff09; 函数求导 ReLU函数 ReLU ⁡ max ⁡ ( 0 , x ) { x x ≥ 0 0 x < 0 \begin{aligned} \operatorname{ReL…...

Android开发获取缓存,删除缓存

Android开发获取缓存&#xff0c;删除缓存 app设置中往往有清理缓存的功能。会显示当前缓存时多少&#xff0c;然后可以点击清理缓存 直接上代码&#xff1a; object CacheHelper {/*** 获取缓存大小* param context* return* throws Exception*/JvmStaticfun getTotalCache…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...