【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】
文章目录
- 前言
- 电脑配置:
- 安装的Deepseek版本:
- 使用的UI框架:
- 体验效果展示:
- 本地部署体验总结
- 部署过程
- Ollama部署
- 拉取模型
- 运行模型
- Openwebui部署
- 运行Ollama服务
- 在Openwebui中配置ollama的服务
- 后话
前言
deepseek最近火的一塌糊涂,谁还不知道deepseek感觉就已经是上古时期的人了,趁着有时间我赶紧研究了一下本地部署,deepseek有很多蒸馏版的模型,对硬件要求不是很高,这就让本地部署变成了可能,于是我迫不及待的在我的mac电脑上试了一下,嘿,还挺丝滑。
现在将部署的过程分享如下:
电脑配置:
芯片 Apple M1 pro
内存 16G
macOs Sequoia 版本15.3.1
安装的Deepseek版本:
Deepseek-r1:8b(我之前装的是8b版本)
Deepseek-r1:7b(为了演示截图,我再装一个7b版本)
使用的UI框架:
Openwebui(基于docker部署的)
体验效果展示:
整体来说部署到本地是可以玩的,响应的速度也在可以接受的范围内,配合上openwebui,还可以有文生图,联网搜索,调用API接口等玩法。
本地部署体验总结
由于机器配置有限,我仅仅部署了7b的模型,智商非常有限,所以仅限于玩玩了,如果有比较土豪的大佬,部署更大参数的模型,那部署在本地,作为生产力工具也是可以的。
但是真正的处理工作啥的,我建议还是老实用线上版本,毕竟线上是满血版,不是咱们这些小破电脑能跑起来的。
deepseek线上版:https://chat.deepseek.com/
如果老是显示服务器繁忙,也可以找平替,有很多大厂都已经接入了deepseek,响应速度都还非常不错,比如:
百度搜索:https://chat.baidu.com/
腾讯元宝:https://yuanbao.tencent.com/(默认是混元大模型,需要自己手动切换成deepseek-r1)
秘塔AI搜索:https://metaso.cn/
360纳米AI搜索:https://www.n.cn/
天工AI:https://www.tiangong.cn/
部署过程
废话不多说,直接来跟着我一步步进行部署:
Ollama部署
直接上官网:https://ollama.com/download,然后下载自己电脑适合的版本,安装即可。
下载完成后,解压,然后安装:
安装成功后,即可在终端进行调用了。
# 查看 Ollama 版本
ollama --version
# Ollama 命令帮助
ollama -h
如此,ollama的安装就搞定了。
接下来我们就来拉取deepseek的模型
拉取模型
# 拉取模型(我这里用的是先拉取,再运行)
ollama pull deepseek-r1:7b
运行模型
等待拉取结束,运行模型
#运行 deepseek-r1:7b模型
ollama run deepseek-r1:7b
可以看到已经模型已经正常运行了,可以正常进行对话了。输入 /bye 可以结束在终端的对话。
此时已经成功将deepseek-r1:7b模型在本地跑起来了,但是这和别人用的都不太一样,而且在终端对话始终不是那么的方便,那么怎么办呢?
Openwebui部署
接下来就祭出 Openwebui,相对可玩性比较高的一个大语言模型的UI框架,我们来用ollama作为服务端,Openwebui作为前端,部署起来进行访问。
这里我只介绍使用docker进行部署,因为比较方便,其他方式有兴趣的朋友自己研究即可。
什么?电脑没有安装docker?mac电脑安装docker可以说是有手就会,我就不过多介绍了,实在不会的,参考这个教程:https://www.runoob.com/docker/macos-docker-install.html
docker安装成功后,我们来使用docker安装Openwebui
# 拉取镜像并映射端口运行
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v $HOME/Documents/myDockerData/openwebui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
可以看到 已经拉取镜像成功,并且端口映射好,而且启动起来了
此时访问 http://localhost:3000/ 就可以进入到Openwebui的界面了。
首次进入可能需要稍微等待几分钟,然后就会出来界面,
点击开始使用,然后进行注册,登录即可使用。首次注册的账号即为管理员账号。
运行Ollama服务
我们需要使用Ollama作为后端,提供API接口的服务,所以需要将这个服务启动起来。
#启动ollama服务,默认监听端口是11434
ollama serve
访问http://localhost:11434/可以看到服务是否启动成功:
显示Ollama is running 说明服务已经成功启动了。
在Openwebui中配置ollama的服务
在个人头像-设置-管理员面板-外部连接页面,打开Ollama API的开关,填写API的地址:http://host.docker.internal:11434
注意:由于此处是在docker中进行运行的Openwebui,但是ollama是在本地直接运行的,所以配置到这里必须这样配置才可以生效,如果配置为localhost:3000 是不起作用的。
配置完成之后,就可以测试聊天了。
选择相应的模型,然后直接开始对话即可。
至此,大功告成!你已经可以在本地运行大模型,并且可以使用网页进行对话了。
后话
至于文章开始展示的集成本地文生图模型、调用api文生图功能,或者调用api接口chat,以及调用联网搜索功能的这些分支,还需要再逐一进行讲解。
如果你有以上某方面的需要,请在评论区进行留言,我将视情况再做后续的文章更新。
感谢各位大佬的观看~ 下期再见~
相关文章:
【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】
文章目录 前言电脑配置:安装的Deepseek版本:使用的UI框架:体验效果展示:本地部署体验总结 部署过程Ollama部署拉取模型运行模型Openwebui部署运行Ollama服务在Openwebui中配置ollama的服务 后话 前言 deepseek最近火的一塌糊涂&a…...
测试的BUG分析
在了解BUG之前,我们要先了解软件测试的生命周期,因为大多数BUG都是在软件测试的过程中被发现的 软件测试的生命周期 在了解 软件测试的生命周期 之前,我们要先了解 软件的生命周期 ,虽然他们之间只差了两个字,但是差距还是很大的 首先是 软件生命周期 ,这个是站在 软件 的角…...
linux里面的过滤符号 | 是如何实现的
ls -l | grep ".txt" 的实现过程涉及无名管道的创建、进程的创建(fork())以及输入输出的重定向(dup2())。以下是详细的实现步骤和代码示例: 实现步骤 创建无名管道: 使用pipe()系统调用创建一个无…...
结构型模式--组合模式
概念 组合人模式是结构型设计模式的一种,主要是用于解决代码中出现类像树一样进行组合而出现的组合结构的相关操作问题。使其树中的任意一个节点(无论是子节点还是父节点)都可以使用同一套接口进行操作。 使用场景 1、如果希望我们对象组合…...
drupal可以自动将测试环境的网页部署到生产环境吗
在 Drupal 中,自动将测试环境的网页部署到生产环境通常是通过设置合适的开发和部署流程来实现的。这种自动化部署过程通常涉及以下几个步骤: 1. 版本控制(Git) 为了保证测试环境和生产环境的一致性,首先需要使用 Git…...
Android应用app实现AI电话机器人接打电话
Android应用app实现AI电话机器人接打电话 --安卓AI电话机器人 一、前言 【Dialer3.0智能拨号器】Android版手机app,由于采用蓝牙电话的方式来调用手机SIM卡发起呼叫、接听来电,并接收和处理通话的声音,通常我们以“蓝牙电话方案”来称呼它。 …...
【面试宝典】Java中创建线程池的几种方式以及区别
强烈推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能 创建线程池有多种方式,主要通过 Java 的 java.util.concurrent 包提供的 Executors 工具类来实现。以下是几…...
【数据结构】哈希表
目录 哈希表 基本思想 基本原理 哈希表工作机制简化描述 关于查找、插入和删除 HashMap 主要成员变量 主要方法 内部实现细节 注意事项 哈希表 哈希表是一种基于哈希函数的数据结构,它通过键值对的形式存储数据,并允许通过键快速查找对应的值…...
MySQL 使用 `WHERE` 子句时 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的区别解析
文章目录 1. COUNT() 函数的基本作用2. COUNT(*)、COUNT(1) 和 COUNT(column) 的详细对比2.1 COUNT(*) —— 统计所有符合条件的行2.2 COUNT(1) —— 统计所有符合条件的行2.3 COUNT(column) —— 统计某一列非 NULL 的记录数 3. 性能对比3.1 EXPLAIN 分析 4. 哪种方式更好&…...
RabbitMQ系列(一)架构解析
RabbitMQ 架构解析 RabbitMQ 是一个基于 AMQP 协议的开源消息中间件,其核心架构通过多组件协作实现高效、可靠的消息传递。以下是其核心组件与协作流程的详细说明: 一、核心组件与功能 Broker(消息代理服务器) RabbitMQ 服务端核…...
如何让传统制造企业从0到1实现数字化突破?
随着全球制造业不断向智能化、数字化转型,传统制造企业面临着前所未有的机遇与挑战。数字化转型不仅是技术的革新,更是管理、文化、业务流程等全方位的变革。从零开始,如何带领一家传统制造企业走向数字化突破,是许多企业领导者面…...
基于Spring Boot的二手物品交易平台设计与实现(LW+源码)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
释放 Cursor 的全部潜能:快速生成智能 Cursor Rules
释放 Cursor 的全部潜能:使用 PromptCoder 从 package.json 快速生成智能 Cursor Rules 我们将深入探讨如何利用您项目中的 package.json 文件,轻松生成 Cursor Rules,并通过 PromptCoder 这个强大的工具,快速创建高质量的 curso…...
C#高级:结合Linq的SelectMany方法实现笛卡尔积效果
一、笛卡尔积定义 又称直积,表示为X Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 二、基础示例 class Program {static void Main(string[] args){try{List<List<string>> input new List<List<string&g…...
【洛谷入门赛】B4018 游戏与共同语言
题意 这里有两个队伍分别叫 A 和 B。 分别给定这两个队伍的胜利数、净胜局、平局数量。 求哪个队更厉害,就输出哪个。 具体比较规则如下: 两队中胜利数高的队伍更厉害。 若胜利数相同,净胜数高的队伍更厉害。 若净胜数仍然相同&#x…...
Python学习总结
客户端与服务端聊天窗口 服务端 导入 wxPython 用于创建图形界面。 socket 用于网络通信,AF_INET 是 IPv4 地址族,SOCK_STREAM 表示流式套接字(TCP)。 利用wxPython 创建图形界面,并通过 socket 与服务器通信。 主要…...
android系统_模拟ZygoteServer写一个socket通信
目录 一,模拟ZygoteServer 二,Client 代表app 三,输出结果 四,结束语 一,模拟ZygoteServer ZygoteServer,不断的监听来自客户端的请求 package org.study.tiger;import java.io.*; import java.net.*; import java.util.concurrent.*;import java.io.*; impor…...
LangChain教程 - RAG - PDF问答
系列文章索引 LangChain教程 - 系列文章 在现代自然语言处理(NLP)中,基于文档内容的问答系统变得愈发重要,尤其是当我们需要从大量文档中提取信息时。通过结合文档检索和生成模型(如RAG,Retrieval-Augment…...
李代数(Lie Algebras)与Attention:深度学习中的数学之美
李代数与Attention:深度学习中的数学之美 引言 作为一名深度学习研究者,您一定对Transformer模型和其中的注意力机制(Attention)不陌生。Attention通过查询(Query)、键(Key)和值&a…...
docker本地镜像源搭建
最近Deepseek大火后,接到任务就是帮客户装Dify,每次都头大,因为docker源不能用,实在没办法,只好自己搭要给本地源。话不多说具体如下: 1、更改docker的配置文件,添加自己的私库地址,…...
监督学习单模型—线性模型—LASSO回归、Ridge回归
目标变量通常有很多影响因素,通过各类影响因素构建对目标变量的回归模型,能够实现对目标的预测。但根据稀疏性的假设,即使影响一个变量的因素有很多,其关键因素永远只会是少数。在这种情况下,还用传统的线性回归方法来…...
StableDiffusion打包 项目迁移 项目分发 1
文章目录 SD项目迁移前置知识webui-user.batwebui.batlaunch_utils.py 下一篇开始实践 SD项目迁移 显卡驱动更新:https://www.nvidia.cn/geforce/drivers/ 下载安装三个程序: python3.10.6: https://www.python.org/downloads/release/python-3106/gi…...
【C++】模板初阶
文章目录 一. 泛型编程1.1 什么是模板1.2 为什么要使用模板 二. 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.4.1 隐式实例化2.4.2 显式实例化 2.5 模板参数的匹配原则 三. 类模板3.1 类模板的定义格式3.2 类模板的实例化3.3 在类模板外…...
STM32学习【4】ARM汇编(够用)
目录 ARM汇编语言基础写在前面 1. ARM汇编的分类2. 关于指令集指令集切换Thumb2指令集统一汇编语言(UAL)常用汇编指令 3. 汇编格式立即数与伪指令 4. 操作内存的汇编指令LDR:从内存加载数据到CPU寄存器STR:将数据从寄存器存储到内…...
傅里叶分析
傅里叶分析之掐死教程(完整版)更新于2014.06.06 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复…...
Jmeter插件下载及安装
1、在Jmeter官网(Install :: JMeter-Plugins.org)下载所需插件 2、将下载的插件复制到jmeter文件下的lib/ext文件里(PS:D:\Jmeter\apache-jmeter-5.6.2\lib\ext) 3、打开Jmeter,选择 选项----Plugins Manag…...
Docker迁移/var/lib/docker之后镜像容器丢失问题
迁移/var/lib/docker时,如果目标目录少写一个/,/etc/docker/daemon.json中的data-root后面需要多加一级目录docker。 若迁移命令如下 rsync -avz /var/lib/docker /home/docker/ 在/etc/docker/daemon.json中添加如下内容 "data-root": &q…...
【C++】深入理解List:双向链表的应用
凭时间赢来的东西,时间肯定会为之作证。 前言 这是我自己学习C的第七篇博客总结。后期我会继续把C学习笔记开源至博客上。 上一期笔记是关于C的vector类知识,没看的同学可以过去看看:【C】探索Vector:灵活的数据存储解决方案-CS…...
如何使用 Ollama 的 API 来生成文本
如何使用 Ollama 的 API 来生成文本 简介 生成文本 生成文本的示例 加载模型 卸载模型 简介 Ollama 提供了一个 RESTful API,允许开发者通过 HTTP 请求与 Ollama 服务进行交互。这个 API 覆盖了所有 Ollama 的核心功能,包括模型管理、运行和监控。本…...
Redis除了做缓存还有哪些应用场景
我用「现实场景代码简例」帮你彻底掌握Redis的18般武艺。先记住这句话:Redis是数据结构的瑞士军刀。以下分7大核心应用方向讲解: 一、高频面试答案速记版 1. 分布式锁 → 超市储物柜机制 2. 计数器 → 直播间点赞统计 3. 排行榜 → 游戏战力榜 4. 消息队…...
软件工程复试专业课-测试
测试 1 软件质量2 黑盒测试2.1 概念2.2 等价划分类 2.3 边值分析2.4 错误推测2.5 因果图 3 白盒测试3.1概念3.2 覆盖标准3.2.1 语句覆盖3.2.2 判断覆盖3.2.3 条件覆盖3.2.4 判定/条件覆盖3.2.5 条件组合覆盖3.2.6 路径覆盖 4 软件测试的四个阶段5 测试工具 1 软件质量 定义&…...
html css js网页制作成品——HTML+CSS甜品店网页设计(5页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Maven的传递性、排除依赖、生命周期、插件
一、Maven的传递性 蓝色背景中的两个jar包是projectA的直接依赖,其余的Jar包是projectA的间接依赖。 projectA可以使用直接依赖,也可以使用间接依赖。 maven-projectB项目引入了maven-projectC(整个项目打成了jar包)和junit两个jar包。 ma…...
Java 调试模式下 Redisson 看门狗失效
一、场景分析 前几天在做分布式锁测试: 在调试模式下,lock.lock() 之后打上断点,想测试一下在当前线程放弃锁之前,别的线程能否获取得到锁。 发现调试模式下,看门狗机制失效了,Redis 上 30 秒后࿰…...
PHP下载安装以及基本配置
目录 引言 官网 下载 配置 1. 鼠标右键“此电脑”>“属性” 2. 打开高级系统设置 3. 打开环境变量 4. 双击系统变量中的path 5. 新建新的path 6. 将刚刚安装的位置加入环境变量 7. 检查是否安装成功 引言 PHP(“PHP: Hypertext Preprocessor”&#…...
Vue nextTick原理回顾
nextTick就是将异步函数放在下一次实践循环的微任务队列中执行 实现原理比较简单,极简版本: function myNextTick(cb){let p;pPromise.resolve().then(cb)return cb?p:Promise.resolve() }复杂版本,考虑异步函数入队、执行锁、兼容处理 l…...
【Javascript】js精度丢失
当JS处理大整数或者浮点数的时候会出现精度丢失的情况。 Javascript的数字都使用双精度浮点数表示,遵循IEEE754标准 比如我遇到的问题,对一个小数的四舍五入,保留2位小数: 235.985≈235.98 235.9851≈235.99 原理请大家参考百度&…...
Go在1.22版本修复for循环陷阱
记录 前段时间升级Go版本碰到一个大坑,先记录。 先上代码案例: func main() {testClosure() }func testClosure() {for i : 0; i < 5; i {defer func() {fmt.Println(i)}()} }在1.22之下(不包括1.22)版本: 输出的…...
服务器离线部署DeepSeek
目标 本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网,因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上进行尝试。 云服务器部署尝试 云服务器配置 CentOS72080Ti 11GB 安装准备 1、上传iso并配置为本地yum源 安装前先将…...
PhotoDoodle: Learning Artistic Image Editing from Few-Shot Examples 论文解读
目录 一、概述 二、PhotoDoodle 1、OmniEditor的预训练 2、DiT重点 3、无噪声条件范式与CFM 4、EditLoRA 4.1关于LoRA 4.2关于EditLoRA 三、相关工作 一、概述 风格化图像编辑的论文! 介绍了PhotoDoodle,一个基于扩散模型的图像编辑框架&#x…...
的pythonAPI文档含义
Open3D的pythonAPI文档含义 Open3D的pythonAPI文档含义1、相关文档1.[Open3D的python文档]2 [Open3D的cpp文档] 2、结论 >> 看了好久的文档,奶奶的什么个意思。1. class Type是一个枚举类,PointCloud等是枚举成员,每个成员在python有 n…...
跟着AI学vue第十三章
第十三章:技术传承与行业影响力塑造 到了这个阶段,你已经在Vue技术领域积累了深厚的经验,拥有了较强的技术实力。此时,你的重点将是把自己的知识和经验传递给更多人,在行业内树立起影响力,推动整个Vue技术…...
实现实时数据仓库开源项目
根据你的需求,以下是一些可以实现类似 ClickHouse 的实时数仓功能的项目,这些项目提供了高性能的数据处理和分析能力,适合实时数据仓库的场景: 1. Apache Doris Apache Doris 是一个开源的实时数据仓库,支持高吞吐量…...
实现了一个自适应的NOC路由机制,包括构建流量图、设计拥塞预测模型、优化路由策略和评估性能
以下是针对设计和实现自适应的网络 - on - chip (NOC) 路由机制的详细步骤及代码示例: 1. 分析NOC路由路径拥塞的原因及传统方法的不足之处 拥塞原因: 动态流量变化:芯片内不同模块的工作负载随时间变化,导致局部流量突然增加。…...
光速解决phpstudy无法启动MySQL服务
问题描述 在初步安装使用phpstudy时,会出现mysql服务启动失败的情况,具体表现为点击一键启动后,mysql启动又立即停止 原因及解决方法: phpstudy数据库无法启动有以下几个原因,可以看看自己是第几种: 服务名…...
2022 年 9 月青少年软编等考 C 语言五级真题解析
目录 T1. 城堡问题思路分析T2. 斗地主大师思路分析T3. 玩具摆放思路分析T4. 哥斯拉大战金刚思路分析T1. 城堡问题 1 2 3 4 5 6 7 ############################# 1 # | # | # | | ######---#####---#---#####---# 2 # # | # # # # ##…...
【原创】Ubuntu 24搭建Ollama+ DeepSeek局域网服务器
安装Ubuntu 服务器 通过ubuntu官网下载ubuntu 24服务器版本 刻录光盘(也可以使用U盘) 用光盘启动PC机器(必须是带显卡的PC机,包括集成Intel显卡的也行,纯CPU计算的服务器基本上不能使用) 最小化安装Ubuntu…...
阿里云ack的创建与实战应用案例
阿里云ack的创建与应用案例 创建前开通ack相关服务:开始创建简单的魔方游戏,熟悉sv与clb自动注册创建部署一个nginx 服务示例:走不同域名访问不同svc资源:为什么需要 Ingress ?创建第一个域名的 Deployment和Service。…...
制造业数字化实践案例丨国内某大型物联网企业数字化项目管理系统,赋能品牌和生态战略落地
30秒快读 该大型物联网企业在规模化和业务扩展过程中,面临项目管理模式单一、供应链与客户端协同不足、项目过程数据透明度低、软硬件项目管理分离等痛点,数字化项目管理系统建设旨在构建以项目制为核心的流程型组织,建立内外部高效协同的项…...
当AI重构认知:技术狂潮下的教育沉思录
备注:文章未Deepseek R1模型辅助生成,如有不妥请谅解。 以下使原文: 我有三个娃,各间隔4到5岁,经历过搜索引擎,短视频,短剧,本身曾经也是教育专业出生,任何事务都有两面性…...