【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部署的)

体验效果展示:

deepseek本地部署聊天界面

deepseek调用comfyui绘画

deepseek调用文心一言api

openwebui调用文生图api生成图片

调用文生图api生成的图片

支持联网搜索功能

整体来说部署到本地是可以玩的,响应的速度也在可以接受的范围内,配合上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,以及调用联网搜索功能的这些分支,还需要再逐一进行讲解。

如果你有以上某方面的需要,请在评论区进行留言,我将视情况再做后续的文章更新。

感谢各位大佬的观看~ 下期再见~

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

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

相关文章

给小白的oracle优化工具,了解一下

有时懒得分析或语句太长,可以尝试用oracle的dbms_sqldiag包进行sql优化, --How To Use DBMS_SQLDIAG To Diagnose Query Performance Issues (Doc ID 1386802.1) --诊断SQL 性能 SET ECHO ON SET LINESIZE 132 SET PAGESIZE 999 SET LONG 999999 SET SER…

YOLO11改进加入ResNet网络

文章目录 1.改进目的2.demo引入2.1代码2.2 结果展示2.3 BottleNeck详解 1.改进目的 原始YOLO11模型训练好以后,检测结果mAP结果很低,视频检测结果很差,于是想到改进网络,这里介绍改进主干网络。 2.demo引入 2.1代码 # File: 2…

Spring MVC流程

SpringMVC启动流程 启动流程父子容器请求处理MultipartFile 解析参数传递返回值处理HandlerInterceptor 启动流程 启动Tomcat解析web.xml创建DispatcherServlet调用DIspatcherServlet的init方法 4.1 创建Spring容器 4.2 发布ContextRefresheEvent 4.3 在OnRefreshed方法中触发…

【大数据】ClickHouse常见的错误及解决方式

ClickHouse 是一款高性能的列式数据库,但在使用过程中难免会遇到一些错误。本文将介绍一些 ClickHouse 常见的错误及其解决方式,帮助您更好地使用 ClickHouse。 1、错误:DB::Exception 错误信息 DB::Exception:Table engine Distributed d…

物理竞赛中的线性代数

线性代数 1 行列式 1.1 n n n 阶行列式 定义 1.1.1:称以下的式子为一个 n n n 阶行列式: ∣ A ∣ ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…

IP-----动态路由OSPF

这只是IP的其中一块内容,IP还有更多内容可以查看IP专栏,前一章内容为GRE和MGRE ,可通过以下路径查看IP-------GRE和MGRE-CSDN博客,欢迎指正 注意!!!本部分内容较多所以分成了两部分在下一章 5.动态路由OS…

数字内容体验未来趋势:交互升级与用户深耕

智能技术重塑内容交互 随着数字内容体验进入深度智能化阶段,AI驱动的内容生成与智能推荐算法正在重构用户与信息的交互范式。基于自然语言处理技术的内容创作工具,已实现从文本自动生成到多模态内容适配的跨越,企业能够以分钟级速度产出符合…

2025年2月21日优雅草内测分发站全新升级-测试运营-优雅草内测分发站新用户提供免费100下载点-2月28日正式运营并且提供私有化部署版本

2025年2月21日优雅草内测分发站全新升级-测试运营-优雅草内测分发站新用户提供免费100下载点-2月28日正式运营并且提供私有化部署版本 说明 优雅草内测分发站新用户提供免费100下载点,优雅草分运营站和demo测试站 运营站:www.youyacao.cn 提供免费100…

动态内存池设计与环形缓冲区实现详解

一、动态内存池设计 在嵌入式系统中,频繁使用 malloc 和 free 会导致内存碎片和性能问题。动态内存池通过预分配固定大小的内存块,并统一管理分配与释放,显著提高内存使用效率和实时性。 1. 核心设计思路 预分配内存:将内存划分…

015--基于STM32F103ZET6的智能风扇设计

1.实物视频演示 智能风扇演示视频 2.程序代码讲解 STM32F103ZET6智能风扇_哔哩哔哩_bilibili 3源代码获取 https://download.csdn.net/download/weixin_41011452/90440545

【洛谷贪心算法】P1106删数问题

这道题可以使用贪心算法来解决,核心思路是尽量让高位的数字尽可能小。当我们逐步删除数字时,会优先删除高位中相对较大的数字。具体做法是从左到右遍历数字序列,当发现当前数字比它后面的数字大时,就删除当前数字,直到…

开源PDF解析工具olmOCR

olmOCR 是由 Allen Institute for Artificial Intelligence (AI2) 的 AllenNLP 团队开发的一款开源工具,旨在将PDF文件和其他文档高效地转换为纯文本,同时保留自然的阅读顺序。它支持表格、公式、手写内容等。 olmOCR 经过学术论文、技术文档和其他文档…

基因型—环境两向表数据分析——品种生态区划分

参考资料:农作物品种试验数据管理与分析 用于品种生态区划分的GGE双标图有两种功能图:试点向量功能图和“谁赢在哪里”功能图。双标图的具体模型基于SD定标和h加权和试点中心化的数据。本例中籽粒产量的GGE双标图仅解释了G和GE总变异的53.6%,…

HTTP~文件 MIME 类型

MIME(Multipurpose Internet Mail Extensions)类型,即多用途互联网邮件扩展类型,是一种标准,用来表示文档、文件或字节流的性质和格式。最初是为了在电子邮件系统中支持非 ASCII 字符文本、二进制文件附件等而设计的&a…

降维攻击!PCA与随机投影优化高维KNN

引言:高维数据的“冰山困境” 假设你正在处理一个电商平台的商品图片分类任务:每张图片被提取为1000维的特征向量,100万条数据的距离计算让KNN模型陷入“维度地狱”——计算耗时长达数小时,且内存占用超过10GB。 破局关键&#…

Rust 是什么

Rust 是什么 Rust 是一种由 Mozilla 开发的系统级编程语言,它于 2010 年首次亮相,在 2015 年发布 1.0 版本,此后迅速发展并受到广泛关注。 内存安全:Rust 最大的亮点之一是它在编译阶段就能够避免常见的内存错误,如空指针引用、数据竞争和内存泄漏等。它通过所有权(Owne…

网络变压器的主要电性参数与测试方法(2)

Hqst盈盛(华强盛)电子导读:网络变压器的主要电性参数与测试方法(2).. 今天我们继续来看看网络变压器的2个主要电性参数与它的测试方法: 1. 线圈间分布电容Cp:线圈间杂散静电容 测试条件:100KHz/0.1…

UniApp 中封装 HTTP 请求与 Token 管理(附Demo)

目录 1. 基本知识2. Demo3. 拓展 1. 基本知识 从实战代码中学习,上述实战代码来源:芋道源码/yudao-mall-uniapp 该代码中,通过自定义 request 函数对 HTTP 请求进行了统一管理,并且结合了 Token 认证机制 请求封装原理&#xff…

初阶数据结构习题【3】(1时间和空间复杂度)——203移除链表元素

1. 题目描述 力扣在线OJ——移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3…

互联网+房产中介+装修设计+物料市场+智能家居一体化平台需求书

一、项目概述 1.1 项目背景 随着互联网技术的飞速发展以及人们生活品质的显著提升,传统房产交易、装修设计、家居购物等领域暴露出诸多问题。信息不对称使得用户难以获取全面准确的信息,在房产交易中可能高价买入或低价卖出,装修时可能遭遇…