【大模型】本地部署DeepSeek-R1:8b大模型及搭建Open-WebUI交互页面

本地部署DeepSeek-R1:8b大模型

  • 一、摘要及版本选择说明
    • 1.1 摘要
    • 1.2 版本选择
  • 二、下载并安装Ollama
  • 三、运行DeepSeek-R1:8b大模型
  • 四、安装Open WebUI增强交互体验
  • 五、关闭Ollama开机自动启动
  • 六、DeepSeek大模型启停步骤

一、摘要及版本选择说明

1.1 摘要

作为一名对 AI 和生成式模型感兴趣的开发者或学习者,了解如何在小规模环境中部署这些模型是有趣且有益的。在个人笔记本上部署 DeepSeek-R1 是一种具有挑战性的但非常有价值的实践。它不仅可以帮助你快速实现文本生成和问答功能,还能通过不断解决遇到的问题,提升你的技术能力和对 AI 模型的理解。尽管过程中可能会遇到资源不足、配置复杂等问题,但通过仔细规划和持续学习,最终可以成功完成部署并享受到模型带来的便利。本文将介绍下载安装Ollama的方法,并且根据个人电脑的配置选择合适的DeepSeek版本进行安装部署测试,然后通过安装部署Open-WebUI交互页面来增强使用大模型的体验的整个过程。

1.2 版本选择

DeepSeek R1对硬件资源比较友好,对不同硬件配置有良好的适应性,能根据用户计算机硬件配置选择合适的模型版本。入门级设备拥有4GB 存和核显就能运行1.5B(Billion,十亿,大模型参数的数量)版本;进阶设备8GB内存搭配4GB显存就能驾驭7B版本;高性能设备则可选择32B版本。而且,DeepSeek R1支持低配置电脑,即使是没有独立显卡的低配置电脑,只要有足够的空余硬盘空间,如部署最大的6710亿参数的大模型需要至少1TB的空余空间,也能完成部署。
本人电脑配置支持DeepSeek-R1:8b,因此选择部署DeepSeek-R1:8b大模型。

二、下载并安装Ollama

  1. 下载Ollama
    访问Ollama官网, 点击“Download”,根据操作系统下载自己操作系统对应的安装包,比如,Windows用户可以点击“Windows”图标,然后,点击“Download for Windows”下载安装包。需要注意的是,对于Windows系统,这里仅支持Windows10及其以上版本。
    在这里插入图片描述
  2. 安装Ollama
    下载完成后,双击【OllamaSetup.exe】,在弹窗中点击【Install】,默认安装即可。当安装成功后,一般会在电脑右下角有个提示框,如果你点击该提示框,会打开cmd,如下图所示:
    在这里插入图片描述
    可以在该cmd中输入命令,查看当前ollama的版本:
     ollama --version
    
    执行效果如下:
    在这里插入图片描述
    如果你没有看到电脑右下角的那个弹窗,可以自己打开cmd,然后执行上述查看版本命令,也是可以的,具体如下:
    在这里插入图片描述

三、运行DeepSeek-R1:8b大模型

蒸馏模型
DeepSeek团队已经证明,大型模型的推理模式可以被提炼到小型模型中,与通过小型模型的强化学习发现的推理模式相比,可以获得更好的性能。
以下是通过使用DeepSeek-R1生成的推理数据,针对研究社区广泛使用的几个密集模型进行微调而创建的模型。
在这里插入图片描述

  1. 运行或下载模型
    在cmd中运行如下命令:

    ollama run deepseek-r1:8b
    

    该命令执行时,会进行如下两个方向的操作:

    • 本地模型检查:Ollama 会检查本地是否已经下载并缓存了 deepseek-r1:8b 模型。它会在 Ollama 默认的模型存储目录中查找该模型的相关文件。
    • 模型下载:如果本地没有找到该模型,Ollama 会尝试从其默认的模型注册表(通常是 Ollama 官方的模型仓库)下载 deepseek-r1:8b 模型。在下载过程中,会显示下载进度信息,直到模型文件全部下载完成并存储到本地。

    执行成功后,效果如下:
    在这里插入图片描述

  2. 测试模型能否正常推理
    在刚刚运行ollama run deepseek-r1:8b的cmd窗口中,输入相关的问题,如下所示:
    在这里插入图片描述
    秒级得到回复,性能还是很好的,给deepseek点赞!!

  3. (可选)检查一下运行deepseek-r1:8b用掉了多少GPU
    如果你本地电脑有Nvidia显卡,且已经安装了cuda,可在cmd中输入:nvidia-smi命令查看GPU使用情况:
    在这里插入图片描述

四、安装Open WebUI增强交互体验

这种命令行的交互方式不是特别友好,因此我们安装Open WebUI来增强交互体验。当然,只要是支持Ollama的WebUI都可以,如Dify、AnythingLLM等。这里使用比较简单而且也是与Ollama结合比较紧密的Open WebUI。可以在cmd命令行窗口中执行如下命令安装Open WebUI,注意:这里使用国内清华大学的安装源镜像,这样可以加快安装速度。具体步骤如下:

  1. 检查本地电脑是否安装Microsoft Visual C++ Build Tools

    • 按下 Win + R 组合键打开 “运行” 对话框。
    • 在对话框中输入 appwiz.cpl 并回车,打开 “程序和功能” 窗口。
    • 在程序列表中查找 “Visual Studio Build Tools” 相关的条目。如果能找到类似 “Microsoft Visual Studio Build Tools 20xx”(xx 代表具体版本号)的程序,说明已经安装了 Visual C++ Build Tools。
      我电脑没有查到,如图所示:
      在这里插入图片描述
      如果此时执行pip install open-webui -i https://pypi.tuna.tsinghua.edu.cn/simple命令时,报错如下:
      在这里插入图片描述
    • 需要安装Microsoft Visual C++ Build Tools
      • 到微软官网下载
        在这里插入图片描述
        下载完成后的安装包为:vs_BuildTools.exe
      • 双击vs_BuildTools.exe安装包,进行安装。
        在弹出的安装界面中(如下图所示),在界面左上角的“桌面应用和移动应用”下方,选中“使用C++的桌面开发”,然后,点击界面右下角的“安装”按钮,完成安装。
        在这里插入图片描述
        点击【安装】按钮,会看到如下页面:
        在这里插入图片描述
        等待一会儿,就完成了安装,如下图所示:
        在这里插入图片描述
        点击【确定】按钮,然后关闭“Visual Studio Install”安装窗口即可。
  2. 确保本地已经Python环境:

    python --version
    

    在这里插入图片描述

  3. 执行安装open-webui的命令:

    pip install open-webui -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    执行过程如下:
    在这里插入图片描述

  4. 可以执行如下命令启动Open WebUI服务

    open-webui serve
    

    注意,如果启动以后,看到下面界面,说明还没有启动成功,需要继续等待。可以敲击几次回车。
    在这里插入图片描述
    在继续等待过程中,可能屏幕上会出现一些错误信息,里面会包含如下内容:
    在这里插入图片描述
    这个错误信息说明,启动过程连接Hugging Face Hub失败。Hugging Face Hub网站在国外,所以,经常会连接失败,所以,导致open-webui启动过程始终停止不动。
    直到出现下面屏幕信息以后,才说明启动成功了。
    在这里插入图片描述
    启动后,在浏览器中访问http://localhost:8080/即可进入Open WebUI界面。如果网页显示“拒绝连接”,无法访问Open WebUI界面,一般是由于你的计算机开启了Windows防火墙,可以关闭本地电脑防火墙即可。
    如正常访问,会看到如下:
    在这里插入图片描述
    点击【开始使用】,进入填写邮箱页面,即需要注册一个管理员账号(如图所示),然后,就可以开始使用了。
    在这里插入图片描述
    此时会看到如下页面(如看不到,需要确保ollama服务已启动,在任务管理器可查看):
    在这里插入图片描述
    点击【确认,开始使用!】按钮,然后会看到我们自己部署的模型:
    在这里插入图片描述
    可以在对话框中输入你想要对话的内容,比如“请问如何快速高效地学习并掌握deepseek大模型”,然后回车,页面就会给出DeepSeek R1的回答结果,如图所示:
    在这里插入图片描述

五、关闭Ollama开机自动启动

在Windows 中如果想要将应用程序设置为开机自启动,其步骤如下:

  1. 按下 Win + R 组合键,打开 “运行” 对话框,输入 shell:startup 并回车,这会打开 “启动” 文件夹。
  2. 找到 Ollama 的可执行文件(通常在安装目录下),创建其快捷方式。
  3. 将创建好的快捷方式复制或移动到 “启动” 文件夹中。
    我们可以按照这个方法检查并确认Ollama应用程序是否是开机自启动,通过如上步骤,我们得知ollama确实被设置成了开机自启动:
    在这里插入图片描述

由于ollama安装完成后会默认被设置成开启自动,为了节省当我们不需要使用ollama时的资源,可以将其关闭掉。具体步骤如下:

  1. 打开任务管理器,点击左侧【启动应用】选项,找到ollama,如图所示:
    在这里插入图片描述
  2. 把鼠标指针放到“已启动”上面,单击鼠标右键,在弹出的菜单中点击“禁用”,然后关闭任务管理器界面。经过这样设置以后,Ollama以后就不会开机自动启动了。

六、DeepSeek大模型启停步骤

  1. 停止大模型
    当我们本次使用完大模型时,只需要关闭各个cmd命令行窗口,大模型就停止运行了。
  2. 启动大模型及open-web步骤如下:
    • (可选)确保ollama应用程序处于启动状态(该步骤如关闭Ollama开机自启动的话,需要先启动ollama服务)
    • 新建一个cmd命令行窗口,在cmd命令行窗口中执行如下命令启动DeepSeek R1大模型:
      ollama run deepseek-r1:8b
      
    • 再新建一个cmd命令行窗口,在cmd命令行窗口中执行如下命令启动Open WebUI服务:
      open-webui serve
      
    • 在浏览器中访问大模型对话页面
      在浏览器中访问http://localhost:8080/即可进入Open WebUI界面,开始使用大模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek大模型的发展的十问十答

DeepSeek大模型是由杭州深度求索人工智能基础技术研究有限公司开发的一款基于Transformer架构的大型语言模型,具体介绍如下: 1. 架构基础 Transformer架构:DeepSeek大模型基于Transformer架构,该架构由Google在2017年提出&#xf…

Avnet RFSoC基于maltab得5G 毫米波 开发工具箱

使用 MATLAB 连接到 AMD Zynq™ RFSoC 评估板。使用 RF 附加卡执行 OTA 测试。使用 HDL Coder 部署算法 版本要求: 大于 2023b 需要以下支持包之一: 适用于 Xilinx 基于 Zynq 的无线电(R2023b 及更早版本)的通信工具箱支持包适…

计算机毕业设计Python+Spark知识图谱医生推荐系统 医生门诊预测系统 医生数据分析 医生可视化 医疗数据分析 医生爬虫 大数据毕业设计 机器学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Vue事件处理 - 绑定事件

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue事件处理 - 绑定事件及事件处理 目录 事件处理 绑定方式 函数表达式 绑定函数名 输入框绑定事件 拿到输入框的值 传值加事件源 事件第三种写法 总结 事件处理 绑定方式 函数表达式 在按钮上使用函数表达式绑定事…

World of Warcraft [CLASSIC] 80 Four Horsemen (Naxxramas)

纳克萨玛斯 天启四骑士 Four Horsemen 图一:10人同生共死 图二:25人同生共死站位 图三,不做同生共死,做永恒者,击杀白马分布图,主要是不熟练乱跑,容易导致减员失败 永恒者,玩家无一…

DeepSeek与AI提示语设计的全面指南

当人人都会用AI时,你如何用得更好更出彩?本文全面介绍了DeepSeek的功能与使用方法,并深入探讨了AI提示语设计的核心技巧与进阶策略。通过精准的任务定义、提示语优化和人机协作,用户可以从AI的基础使用逐步进阶到创新应用&#xf…

HarmonyOS Next 方舟字节码文件格式介绍

在开发中,可读的编程语言要编译成二进制的字节码格式才能被机器识别。在HarmonyOS Next开发中,arkts会编译成方舟字节码。方舟字节码长什么样呢?我们以一个demo编译出的abc文件: 二进制就是长这样,怎么去理解呢&…

TCP/IP 协议图解 | TCP 协议详解 | IP 协议详解

注:本文为 “TCP/IP 协议” 相关文章合辑。 未整理去重。 TCP/IP 协议图解 退休的汤姆 于 2021-07-01 16:14:25 发布 TCP/IP 协议简介 TCP/IP 协议包含了一系列的协议,也叫 TCP/IP 协议族(TCP/IP Protocol Suite,或 TCP/IP Pr…

【C++11】lambda和包装器

1.新的类功能 1.1默认的移动构造和移动赋值 原来C类中,有6个默认成员函数:构造函数/析构函数/拷⻉构造函数/拷⻉赋值重载/取地址重 载/const 取地址重载,最后重要的是前4个,后两个⽤处不⼤,默认成员函数就是我们不写…

zabbix监控nginx指标

使用nginx作为web服务器,我们需要清晰知道: 1.nginx的工作状态 2.请求数有多少,多少是已经响应完成的,多少是响应失败的 3.nginx服务以及端口监听情况是否处于运行状态 当出现服务停止或者大量请求响应失败时,我们需要…

当Axure遇见DeepSeek:设计工具的革命性进化

从传统的平面设计软件到如今的交互原型工具,设计工具经历了多次革命性的进化。然而,随着人工智能技术的不断发展,设计工具正面临又一次重大的变革。Axure,作为设计界知名的原型设计工具,以其强大的功能和灵活的操作性&…

【Matlab优化算法-第15期】基于NSGA-II算法的铁路物流园区功能区布局优化

基于NSGA-II算法的铁路物流园区功能区布局优化 一、前言 铁路物流园区的合理布局对于提高物流效率、降低运营成本具有重要意义。随着铁路物流的快速发展,传统的铁路货场需要升级为综合物流园区,以满足多式联运和综合物流服务的需求。本文将介绍一种基于…

【韩顺平linux】部分上课笔记整理

整理一下一些韩顺平老师上课时候的笔记 课程:【小白入门 通俗易懂】韩顺平 一周学会Linux linux环境:使用阿里云服务器 笔记参考 : [学习笔记]2021韩顺平一周学会Linux 一、自定义函数 基本语法 应用实例: 计算两个参数的和…

DeepSeek-R1 本地电脑部署 Windows系统 【轻松简易】

本文分享在自己的本地电脑部署 DeepSeek,而且轻松简易,快速上手。 这里借助Ollama工具,在Windows系统中进行大模型部署~ 1、安装Ollama 来到官网地址:Download Ollama on macOS 点击“Download for Windows”下载安装包&#x…

推荐一款 免费的SSL,自动续期

支持自动续期 、泛域名 、可视化所有证书时效性 、可配置CDN 的一款工具。免费5个泛域名和1个自动更新。 链接 支持:nginx、通配符证书、七牛云、腾讯云、阿里云、CDN、OSS、LB(负载均衡) 执行自动部署脚本 提示系统过缺少crontab 安装cro…

UE5--浅析委托原理(Delegate)

委托概述 委托是一种用于事件处理的机制。通过使用委托,可以将一个或多个函数绑定到一个事件上,在事件触发时自动调用这些函数。代理也叫做委托,比如:跳,跑,开枪,伤害等响应,就是注…

ABP框架9——自定义拦截器的实现与使用

一、AOP编程 AOP定义:面向切片编程,着重强调功能,将功能从业务逻辑分离出来。AOP使用场景:处理通用的、与业务逻辑无关的功能(如日志记录、性能监控、事务管理等)拦截器:拦截方法调用并添加额外的行为,比如…

【JavaScript】this 指向由入门到精通

this 的概念 this 在JavaScript 及其其他面向对象的编程语言中,存在的目的是为了提供一种在对象方法中引用当前对象的方式。 它为方法提供了对当前实例的引用,使得方法能够访问或者修改实例的成员变量。 注意点: this 的绑定和定位的位置…

JavaScript完整版知识体系(持续更新~~)

一、Variables变量 (1)变量的声明方式。 在 JavaScript 中,let、const 和 var 是用于声明变量的关键字,但它们在作用域、可变性、以及提升(Hoisting)行为上有所不同。下面是对这三者的详细解释: 1. var: 作用域&…

git fetch和git pull 的区别

git pull 实际上就是 fetch merge 的缩写, git pull 唯一关注的是提交最终合并到哪里(也就是为 git fetch 所提供的 destination 参数) git fetch 从远程仓库下载本地仓库中缺失的提交记录,并更新远程分支指针 git pull抓取更新再合并到本地分支,相当于…