Mac 部署Ollama + OpenWebUI完全指南
文章目录
- 💻 环境说明
- 🛠️ Ollama安装配置
- 1. 安装[Ollama](https://github.com/ollama/ollama)
- 2. 启动Ollama
- 3. 模型存储位置
- 4. 配置 Ollama
- 🌐 OpenWebUI部署
- 1. 安装Docker
- 2. 部署[OpenWebUI](https://www.openwebui.com/)(可视化大模型对话界面)
- 🔒 离线部署方案
- ⚡ 性能优化建议
- ❓ 常见问题
- 🎉 结语
想拥有一个完全属于自己的AI助手,还不依赖互联网?本教程带你从零开始搭建本地AI环境!(Apple Silicon架构)
💻 环境说明
| 配置项 | Mac | Windows |
|---|---|---|
| 操作系统 | macOS Sonoma | Windows 10/11 |
| CPU | M4 | 12核或以上 |
| 内存 | 16GB | 32GB或以上 |
| 硬盘空间 | 20GB | 20GB或以上 |
🛠️ Ollama安装配置
1. 安装Ollama
# 使用Homebrew安装
brew install ollama# 或直接下载安装包
curl https://ollama.ai/download/Ollama-darwin.zip -o Ollama.zip
unzip Ollama.zip# 输入`ollama`或 `ollama -v`验证安装
ollama

2. 启动Ollama
# 启动Ollama服务
ollama serve

# 或点击浏览器访问:http://localhost:11434

显示Ollama is running代表已经运行起来了!
# 下载Llama3 8B模型
ollama run llama3:8b # 建议先尝试小模型

💡 小贴士:你应该至少有 8 GB 的 RAM 来运行 7B 模型,16 GB 的 RAM 来运行 13B 模型,以及 32 GB 的 RAM 来运行 33B 模型。
3. 模型存储位置
Mac下,Ollama的默认存储位置:
- 模型文件:
~/.ollama/models - 配置文件:
~/Library/Application Support/Ollama
Windows下,Ollama的默认存储位置:
- 程序目录:
C:\Users\<用户名>\AppData\Local\Programs\Ollama - 模型目录:
C:\Users\<用户名>\.ollamamodels - 配置文件:
C:\Users\<用户名>\AppData\Local\Ollama
💡 小贴士:建议通过环境变量OLLAMA_MODELS自定义模型存储路径,避免占用系统盘空间。
4. 配置 Ollama
Ollama 提供了多种环境变量以供配置:
- OLLAMA_DEBUG:是否开启调试模式,默认为 false。
- OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
- OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
- OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
- OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
- OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
- OLLAMA_MAX_QUEUE:最大队列数,默认为空。
- OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
- OLLAMA_MODELS:模型目录,默认为空。
- OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
- OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
- OLLAMA_NUM_PARALLEL:并行数,默认为 1。
- OLLAMA_ORIGINS:允许的来源,默认为空。
- OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
- OLLAMA_SCHED_SPREAD:调度分布,默认为空。
- OLLAMA_TMPDIR:临时文件目录,默认为空。
- OLLAMA_DEBUG:是否开启调试模式,默认为 false。
- OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
- OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
- OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
- OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
- OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
- OLLAMA_MAX_QUEUE:最大队列数,默认为空。
- OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
- OLLAMA_MODELS:模型目录,默认为空。
- OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
- OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
- OLLAMA_NUM_PARALLEL:并行数,默认为 1。
- OLLAMA_ORIGINS:允许的来源,默认为空。
- OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
- OLLAMA_SCHED_SPREAD:调度分布,默认为空。
- OLLAMA_TMPDIR:临时文件目录,默认为空。
🌐 OpenWebUI部署
1. 安装Docker
- 访问 Docker官网 下载Mac版本(Apple Silicon)
- 安装并启动Docker Desktop
- 配置国内镜像源加速下载(我这里
科学上网不需要)

💡 小贴士:Windows 安装 Docker 需要开启 Hyper-V(Windows专业版必需)
2. 部署OpenWebUI(可视化大模型对话界面)
# 拉取镜像 (直接run默认会拉取 latest 标签的镜像)
docker pull ghcr.io/open-webui/open-webui:main#(官方文档)以上是从 GitHub Container Registry (GHCR) 上拉取镜像,而不是从 Docker Hub。
# 也可以docker hub 拉取 open-webui镜像
docker pull dyrnq/open-webui:main

# 启动容器
docker run -d -p 3000: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:3000 即可使用Web界面。
创建账号,这个是本地账号,随便添加账号信息即可

选择ollama中的模型,聊天测试

也可以在这里直接拉取模型

与下载的新模型进行对话

💡 小贴士:
- 注册时邮箱可以随便填写,设置密码后注意保存!
- ollama后台一定要运行着模型,如:ollama run phi-4
🔒 离线部署方案
如果需要在无网环境下部署,可以按照以下步骤操作:
-
在有网环境下准备资源:
- 下载Ollama安装包
- 导出模型文件
- 导出Docker镜像
-
离线环境部署:
- 安装Ollama
- 复制模型文件到指定目录
- 导入Docker镜像
- 启动OpenWebUI
⚡ 性能优化建议
-
内存管理
- 关闭不必要的后台应用
- 使用Activity Monitor监控内存使用
-
模型选择
- 建议从小模型开始测试
- 推荐模型大小顺序:
- qwen2:0.5b (最轻量)
- llama2:7b (平衡型)
- codellama:7b (代码专用)
-
温度控制
- 保持Mac Mini通风良好
- 可使用监控工具观察CPU温度
❓ 常见问题
-
Q: M4芯片能跑多大的模型?
A: 16GB内存的M4可以流畅运行8B参数的模型,更大的模型可能会影响性能。 -
Q: Llama中文支持不好怎么办?
A: 可以使用Llama-Chinese等经过中文优化的模型。 -
Q: OpenWebUI打不开怎么办?
A: 检查Docker状态:docker ps # 查看容器状态 docker logs open-webui # 查看日志
🎉 结语
通过本教程的配置,你已经拥有了一个完全本地化的AI助手!有任何问题欢迎在评论区讨论,让我们一起探索AI的无限可能!
如果觉得这篇文章对你有帮助,别忘了点赞转发哦~ 👍
你用Mac Mini跑过哪些AI模型?欢迎分享你的使用体验!💭
相关文章:
Mac 部署Ollama + OpenWebUI完全指南
文章目录 💻 环境说明🛠️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama 🌐 OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)(可视化…...
蓝桥杯小白打卡第二天
789. 数的范围 题目描述 给定一个按照升序排列的长度为 n n n 的整数数组,以及 q q q 个查询。 对于每个查询,返回一个元素 k k k 的起始位置和终止位置(位置从 0 0 0 开始计数)。 如果数组中不存在该元素,则返…...
Docker Compose:容器编排的利器
Docker Compose:容器编排的利器 引言 随着容器技术的普及,Docker成为了当今最受欢迎的容器编排工具之一。Docker Compose作为Docker生态系统中的一部分,允许用户以声明式的方式定义和运行多容器Docker应用。本文将深入探讨Docker Compose的基本概念、工作原理、使用场景以…...
springboot项目的单元测试
文章目录 依赖编写单测代码一些注意点 依赖 依赖包含了 JUnit、Mockito、Spring Test 等常用的测试工具 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><…...
JVM图文入门
往期推荐 【已解决】redisCache注解失效,没写cacheConfig_com.howbuy.cachemanagement.client.redisclient#incr-CSDN博客 【已解决】OSS配置问题_keyuewenhua.oss-cn-beijing.aliyuncs-CSDN博客 【排坑】云服务器docker部署前后端分离项目域名解析OSS-CSDN博客 微服…...
cursor 开发java项目教程简单上手
1.官网下载 Cursor - The AI Code Editor 下载完后注册账号,可以使用无限邮的方式 注册完之后 设置中文 可以选择设置为中文 Ctrl Shift X 进入设置页面输入chinese 然后重启 更改jdk跟maven仓库设置 ctrlshiftp 打开输入框后输入json,把下面代码…...
优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案
fm.jiecao:jiecaovideoplayer:x.x.x 优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案: 仅优化关键代码部分,源码: public void startWindowFullscreen() {Log.i(TAG, "startWindowFullscreen " " [" …...
aws(学习笔记第二十七课) 使用aws API Gateway+lambda体验REST API
aws(学习笔记第二十七课) 使用aws API Gatewaylambda体验REST API 学习内容: 使用aws API Gatewaylambda 1. 使用aws API Gatewaylambda 作成概要 使用api gateway定义REST API,之后再接收到了http request之后,redirect到lambda进行执行。…...
物联网的三层架构:感知层、网络层与应用层
物联网(Internet of Things, IoT)作为现代科技的重要组成部分,正在深刻改变我们的生活和工作方式。它将物理世界与数字世界无缝连接,通过智能设备、传感器和网络技术,实现数据的采集、传输和应用。物联网的架构通常分为…...
常用抓包工具tcpdump、Fiddler、Charles、Wireshark 和 Sniffmaster 下载地址
抓包大师官网下载地址 Sniff Master Download - Free TCP and HTTPS Proxy Sniffing Tool, Supports IOS Sniffing Fiddler classic官网下载地址 Download Fiddler Web Debugging Tool for Free by Telerik Fiddler Everywhere官网下载地址 The Ultimate Web Debugging Tool …...
π0开源了且推出自回归版π0-FAST——打造机器人动作专用的高效Tokenizer:比扩散π0的训练速度快5倍但效果相当
前言 过去的半个多月 deepseek火爆全球,我对其的解读也成了整整一个系列 详见《火爆全球的DeepSeek系列模型》,涉及对GRPO、MLA、V3、R1的详尽细致深入的解读 某种意义来讲,deepseek 相当于把大模型的热度 又直接拉起来了——相当于给大模…...
js-对象-JSON
JavaScript自定义对象 JSON 概念: JavaScript Object Notation,JavaScript对象标记法. JSON 是通过JavaScript 对象标记法书写的文本。 由于其语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输. json中属性名(k…...
Houdini subuv制作输出阵列图
在游戏开发中经常需要用到sheet阵列图,并用其制作翻页动画。通过Houdini强大的节点组合可以配合输出subuv阵列图供游戏引擎使用。 本文出处:https://zhuanlan.zhihu.com/p/391796978 博主参考学习并写该文。 1.在obj分类下创建font节点以进行测试&#…...
虚幻基础17:动画蓝图
能帮到你的话,就给个赞吧 😘 文章目录 animation blueprint图表(Graph): 编辑动画逻辑。变量(Variables): 管理动画参数。函数(Functions): 自定义…...
路由器及工作原理与常用路由配置命令详解
一、引言 在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。无论是家庭网络中的多台设备同时上网,还是企业网络中各个部门之间的数据传输和资源共享,都离不开网络设备的支持。路由器作为一种关键的网络设备,在网…...
Windows编程:下载与安装 Visual Studio 2010
本节前言 在写作本节的时候,本来呢,我正在写的专栏,是 MFC 专栏。而 VS2010 和 VS2019,正是 MFC 学习与开发中,可以使用的两款软件。然而呢,如果你去学习 Windows API 知识的话,那么࿰…...
R语言 文本分析 天龙八部
起因, 目的: 前面有人对 “倚天屠龙记” 进行分析,我这里只是进行模仿而已。 完整的文件, 已经绑定了,反正读者可以找一下。 案例背景 小说《天龙八部》是金庸先生所著的武侠小说,也是“射雕三部曲”的前传。全书共50章,字数超过一百万字。故事发生在北宋末年,以大理…...
深度学习 Pytorch 建模可视化工具TensorBoard的安装与使用
50 TensorBoard的安装和使用 在深度学习建模过程中,为了能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况,当然也为了能够观察图像数据,我们可以使用TensorBoard工具来进行Pytorch深度学习模型的可视化展示。 Tensor…...
【免费】2007-2019年各省科技支出占一般公共预算支出的比重数据
2007-2019年各省科技支出占一般公共预算支出的比重数据 1、时间:2007-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、科技支出占一般公共预算支出的比重 4、范围:31省 5、指标解释:…...
19爬虫:使用playwright登录超级鹰
本次案例一共解决了如下两个问题: (1)如何使用playwright截图,特别是验证码图片 (2)在playwright中如何判断一个元素可见 1.截图 我们首先解决第一个问题,截图。如果前期接触过selenium的小伙…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
高分辨率图像合成归一化流扩展
大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
Java中HashMap底层原理深度解析:从数据结构到红黑树优化
一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…...
