在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
随着人工智能技术的飞速发展,本地部署大型语言模型(LLM)已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私,还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2(24GB 内存)上部署 DeepSeek-R1:14B 模型,并通过 Ollama 和 Chatbox 进行交互。同时,我们也会对比使用 Open-WebUI 的体验,帮助你选择最适合自己的工具。
一、环境准备
硬件要求
- 设备:Mac mini M2,24GB 内存。
- 存储空间:至少需要 50GB 的可用空间,建议预留更多空间以避免磁盘空间不足。
软件要求
- 操作系统:macOS Monterey 或更高版本。
- Ollama:用于运行和管理 DeepSeek 模型的本地引擎。
- Chatbox:轻量级的图形界面工具,用于与模型进行交互。
- Docker(可选):如果需要使用 Open-WebUI,需要安装 Docker。
二、安装Ollama
Ollama 是一个轻量级的本地 AI 模型管理工具,支持多种语言模型的运行和管理。以下是安装步骤:
1、安装 Ollama

访问 Ollama 官方网站https://ollama.com/,下载适用于 macOS 的安装包。下载完成后,点击安装包使行安装
2、启动 Ollama 服务
安装完成后,运行以下命令启动 Ollama 服务:
ollama serve
验证 Ollama 是否运行正常
在浏览器中访问 http://127.0.0.1:11434,如果看到 Ollama 的欢迎页面,说明服务已成功启动。

三、下载并运行DeepSeek-R1:14B 模型
DeepSeek-R1:14B 是一个功能强大的语言模型,适用于多种自然语言处理任务。以下是下载和运行模型的步骤:
https://ollama.com/library/deepseek-r1:14b

1、下载模型
在终端中运行以下命令下载 DeepSeek-R1:14B 模型:
ollama pull deepseek-r1:14b
2、验证模型是否下载成功
下载完成后,运行以下命令检查模型是否正确安装:
ollama list

如果看到 deepseek-r1:14b 出现在已安装模型列表中,说明模型已成功下载。
3、运行模型
使用以下命令启动模型并进入交互模式:
ollama run deepseek-r1:14b
效果如下

四、安装并配置 chatbox
Chatbox 是一个轻量级的图形界面工具,支持与 Ollama 管理的模型进行交互。以下是安装和配置步骤:
安装 Chatbox
访问 Chatbox 官方网站,下载适用于 macOS 的安装包并安装。https://chatboxai.app/zh#download

配置 Chatbox
- 打开 Chatbox 应用程序,进入设置页面:
- API 地址:设置为 http://127.0.0.1:11434。(模型提供方,选中OLLAMA API后,域名会自动填写,可选的模型也会自动列出来)
- 模型选择:选择 deepseek-r1:14b。
开始使用
配置完成后,你可以通过 Chatbox 的界面输入问题,并与 DeepSeek-R1:14B 模型进行交互。

五、体验与对比:Chatbox vs. Open-WebUI
在本地部署过程中,我们还尝试了 Open-WebUI,一个基于 Web 的交互界面。以下是两者的主要对比:
| 特性 | Chatbox | Open-WebUI |
|---|---|---|
| 优点 | - 轻量级:安装和配置简单,占用资源少。 - 易用性高:图形界面直观,适合新手快速上手。 - 响应速度快:本地运行,无需额外的网络延迟。 | - 功能丰富:支持多种模型,提供更复杂的交互功能。 - 灵活性高:可以通过浏览器访问,支持多设备使用。 |
| 缺点 | - 功能有限:主要专注于与模型的交互,扩展功能较少。 | - 配置复杂:需要安装 Docker,并进行额外的配置。 - 资源占用高:运行时可能需要更多内存和存储空间。 |
| 适用场景 | - 适合快速部署和简单使用,对资源占用敏感的用户。 | - 适合需要复杂交互功能、多设备访问的用户。 |
PS:安装与启动open-webui的命令
docker run -d -p 3110:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
通过http://localhost:3110/ ,访问open-webui

第一次访问要注册用户

六、总结
通过 Ollama 和 Chatbox,你可以在 Mac mini M2 上轻松部署并使用 DeepSeek-R1:14B 模型。整个过程简单高效,且不需要复杂的配置。无论你是技术新手还是有一定经验的开发者,都可以快速上手并享受本地 AI 模型带来的便利。
希望本文能帮助你顺利完成部署,开启智能对话的新体验!如果你在部署过程中遇到任何问题,欢迎随时留言交流。
相关文章:
在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
随着人工智能技术的飞速发展,本地部署大型语言模型(LLM)已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私,还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2(24GB 内存)上部署 DeepS…...
docker-compose部署onlyoffice8.3.0并支持ssl,且支持通过nginx代理,关闭JWT配置
编写docker-compose文件 mkdir -p /data/onlyoffice && echo "version: 3services:onlyoffice:container_name: OnlyOfficeimage: onlyoffice/documentserver:8.3.0restart: alwaysports:- 8088:80- 64431:443environment:TZ: Asia/ShanghaiJWT_ENABLED: falsevol…...
如何配置虚拟机的IP上网
要配置虚拟机的IP地址以便上网,你可以按照以下步骤操作: 打开虚拟机软件,确保虚拟机的网络设置为“桥接模式”或“NAT模式”,这样虚拟机可以与物理网络连接。 在虚拟机操作系统中,打开网络设置界面,一般在…...
【tplink】校园网接路由器如何单独登录自己的账号,wan-lan和lan-lan区别
老式路由器TPLINK,接入校园网后一人登录,所有人都能通过连接此路由器上网,无法解决遂上网搜索,无果,幸而偶然看到一个帖子说要把信号源网线接入路由器lan口,开启新世界。 一、wan-lan,lan-lan区…...
Python--内置模块和开发规范(下)
2. 开发规范 2.1 单文件应用 文件结构示例 # 文件注释 import os import jsonDB_PATH "data.json" # 常量放顶部def load_data():"""函数注释:加载数据"""if os.path.exists(DB_PATH):with open(DB_PATH, "r"…...
DeepSeek开源周Day5压轴登场:3FS与Smallpond,能否终结AI数据瓶颈之争?
2025年2月28日,DeepSeek开源周迎来了第五天,也是本次活动的收官之日。自2月24日启动以来,DeepSeek团队以每天一个开源项目的节奏,陆续向全球开发者展示了他们在人工智能基础设施领域的最新成果。今天,他们发布了Fire-F…...
[密码学实战]Java实现SM2数字信封(结合SM4对称加密)生成与解析
一、代码运行结果 二、什么是数字信封 2.1 基本概念 数字信封(Digital Envelope) 是一种结合对称加密与非对称加密的混合加密技术,通过以下步骤实现高效安全的数据传输: 对称加密:使用SM4算法加密原始数据,处理速度快,适合大数据量。非对称加密:使用SM2公钥加密SM4密…...
redis序列化设置
redis序列化设置 redis序列化设置序列化对象里有org.joda.time.DateTime1)、报错内容如下2)、解决方案:分别自定义时间的序列化和反序列化,以对象形式关联到redisTemplate redis序列化设置 redis序列化设置,通过自定义…...
Sqlserver安全篇之_TLS的证书概念
证书的理解 参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?viewsql-server-ver16 TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/…...
【HarmonyOS Next】 鸿蒙应用useNormalizedOHMUrl详解
【HarmonyOS Next】 鸿蒙应用useNormalizedOHMUrl详解 一、useNormalizedOHMUrl是什么? useNormalizedOHMUrl指的是是否使用标准化OHMUrl拼接。 在开发过程中,需要根据不同的环境或配置动态生成 URL。例如,在加载一些远程模块或者资源时,…...
Oracle 查询表空间使用情况及收缩数据文件
本文介绍Oracle收缩数据文件的相关操作,运维工作中有时会需要通过收缩数据文件来释放磁盘空间。 数据文件初始化方式: 1.我们创建表空间一般有两种方式初始化其数据文件,即指定初始大小为32G(很大的值)或指定初始大小为…...
怎么进行mysql的优化?
MySQL 的优化是一个系统性的工作,涉及多个层面,包括查询优化、索引优化、配置优化、架构优化等。以下是一些常见的 MySQL 优化方法: 查询优化 避免全表扫描:确保查询能够使用索引,避免 SELECT *,只选择需要…...
docker-compose方式启动Kafka Sasl加密认证(无zk)
首先参考文档,思考过程可以进行参考https://juejin.cn/post/7294556533932884020#heading-3 用的镜像是Bitnami,对SASL配置进行了简化,需要按照特定格式去配置jass验证 完整配置如下 镜像版本参考:https://hub.docker.com/r/bitn…...
Grafana接入Zabbix数据源
1. 对接 Zabbix 1.1 安装 Zabbix 插件 在线安装: 1.2 配置 Zabbix 数据源 点击 Configuration > Data Sources > Add data source。选择 Zabbix,填写: URL:http://<zabbix-server>/api_jsonrpc.phpUsername&#x…...
华为在不同发展时期的战略选择(节选)
华为在不同发展时期的战略选择(节选) 添加图片注释,不超过 140 字(可选) 来源:谢宁专著《华为战略管理法:DSTE实战体系》。本文有节选修改。 导言 从目前所取得的成就往回看,华为…...
【计算机网络】TCP协议相关总结,TCP可靠性的生动讲解
TCP 可靠性 确保快递不丢、不乱、不过载 机制作用(快递类比)防止的问题检验和检查包裹是否损坏,损坏就重新发数据出错序列号给每个包裹编号,按顺序整理乱序、重复确认应答每送到一件,就让收件人签收丢失滑动窗口控制…...
lua基础语法学习
lua基础语法学习 文章目录 lua基础语法学习1. 基础2. 输入输出3. 分支结构与循环结构4. 函数5. 元表与元方法6. 面向对象 1. 基础 注释 --单行注释--[[ 多行注释 --]]标识符 标识符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上 0 个或多个字母,下划线&…...
【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调【完整教程】
文章目录 1.背景2.微调方式2.1 关键环境版本信息2.2 步骤2.2.1 下载llama-factory2.2.2 准备数据集2.2.3 微调模式2.2.3.1 zero-1微调2.2.3.2 zero-2微调2.2.3.3 zero-3微调2.2.3.4 单卡Lora微调 2.2.4 实验2.2.4.1 实验1:多GPU微调-zero12.2.4.2 实验2:…...
【SpringBoot】数据访问技术spring Data、 JDBC、MyBatis、JSR-303校验
Spring Boot 数据访问技术及特性 目录标题 Spring Boot 数据访问技术及特性摘要1. 引言2. Spring Data架构与原理2.1 Spring Data概述2.2 Spring Data核心组件2.3 Spring Boot与Spring Data的集成机制 3. Spring Boot与JDBC的整合3.1 JDBC整合流程3.2 数据源自动配置3.3 JdbcTe…...
手机放兜里,支付宝“碰一下”被盗刷?
大家好,我是小悟。 近期,网络上关于“支付宝‘碰一下’支付易被盗刷”的传言甚嚣尘上,不少用户对此心生疑虑。 首先,要明确一点:“碰一下”支付并不会像某些传言中所描述的那样容易被隔空盗刷。这一观点已经得到了支付…...
Java Web应用中获取客户端的真实IP地址
Java Web应用中获取客户端的真实IP地址,尤其在存在代理服务器的情况下。 代码示例: public static String getClientIP(HttpServletRequest request) {String ip = parseCommaSeparatedIPs(request.getHeader("X-Forwarded-For"));if (isInvalid(ip)) {ip = pars…...
vue框架后遗症∶被遗忘的dom操作
用多了vue、react等前端框架,不得不说用数据驱动视图来开发真的很香,但是也免不了会有不用这些框架的项目,dom操作还是很有必要的,一开始学习网页设计的时候就教过,后面一直开发项目基本上用框架。虽然有些想不起来了&…...
基于深度学习+NLP豆瓣电影数据爬虫可视化推荐系统
博主介绍:资深开发工程师,从事互联网行业多年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有…...
8. 示例:对32位数据总线实现位宽和值域覆盖
文章目录 前言示例一:示例二:示例三:仿真与覆盖率分析覆盖点详细说明覆盖率提升技巧常见错误排查 示例四:仿真步骤 前言 针对32位数据总线实现位宽和值域的覆盖,并且能够用xrun运行,查看日志和波形。cover…...
深度剖析Seata源码:解锁分布式事务处理的核心逻辑
文章目录 写在文章开头如何使用源码(配置转掉)基于AT模式详解Seata全链路流程Seata服务端启动本地服务如何基于GlobalTransaction注解开启事务客户端如何开启分布式事务RM和TC如何协调处理分支事务RM生成回滚日志事务全局提交与回滚小结参考写在文章开头 在当今分布式系统日益…...
快速列出MS Word中所有可用字体
Word中有很多字体,虽然在字体下拉列表中提供了字体的样例,但是并不全面,例如使用Batang字体的话,数字会显示成什么效果,就无法直观的看到。 打开Word应用程序,新建一个空白文档,按AltF11打开VBE…...
SpringDataJPA使用deleteAllInBatch方法逻辑删除失效
概述 在使用Spring Boot JPA时,执行批量删除操作时,遇到逻辑删除失效的问题。具体而言,当使用deleteAllInBatch方法时,数据会被物理删除,而不是进行逻辑删除;但是当使用deleteAll时,逻辑删除操…...
【密码学实战】Java 实现 SM2 国密算法(签名带id、验签及 C1C3C2 加密解密)
前言 SM2是中国国家密码管理局发布的椭圆曲线公钥密码算法标准(GB/T 32918),属于国密算法体系。与RSA和ECDSA相比,SM2在相同安全强度下密钥更短、计算效率更高。本文将介绍如何在Java中实现SM2的密钥生成、数字签名、验签、加密及…...
flex布局自定义一行几栏,靠左对齐===grid布局
模板 <div class"content"><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"…...
Harmony os next~鸿蒙应用开发入门教程
鸿蒙应用开发入门教程 基础准备与环境搭建 1. 了解鸿蒙系统 1.1 核心理念学习 HarmonyOS(鸿蒙系统)是华为推出的全场景分布式操作系统,其核心特点如下: 分布式能力 设备协同:手机、平板、智能手表、IoT设备等可无…...
