Midjourney操作界面

Mac本地部署大模型实战 | 魔搭社区小哥手把手教学指南

魔搭社区小哥手把手教你如何在Mac本地轻松玩转大模型!本教程详细解析从环境配置到模型运行的完整流程,涵盖终端命令、框架适配及性能优化技巧,特别针对Mac用户痛点提供解决方案。加入线上共学社群,与开发者一起解锁AI实战技能,零基础也能快速上手!


🌟【从零构建本地AI工作流:打造属于你的智能助手生态】
本次分享将带你探索本地化AI部署的完整技术链路,构建一个安全可控、功能强大的个人智能助手系统:

1️⃣ 基础筑基:从本地部署开源大模型出发,本地简单运行大模型

2️⃣ 多模态扩展:接入Stable Diffusion等文生图模型,实现文生图功能

3️⃣ 交互优化:基于LM-Studio构建个人知识助手,实现智能对话与记忆存储

4️⃣ 知识增强:通过LangFlow搭建RAG应用,连接本地知识库与网络资源,打造定制化AI助手

5️⃣ 定制进化:运用MLX框架进行领域适配微调,让通用模型拥有专属风格

6️⃣ 系统融合:借力Open Interpreter打通操作系统API,实现文件管理、数据分析等自动化办公场景

💡本地部署优势:
全链路隐私保护:数据不出本地
低成本定制方案:mac M系列芯片即可运行
可扩展架构:模块化设计自由组合
适合追求数据安全、需要定制化AI能力的技术探索者,开启属于你的智能生产力革命!🚀

环境搭建

虚拟环境准备
使用Python 3内置的模块venv来创建一个虚拟环境(也可以使用conda),使用source命令激活虚拟环境。
复制代码
python3 -m venv testsource test/bin/activate
虚拟环境可以为不同的项目维护独立的依赖关系和版本,避免库之间的冲突
下载依赖库文件
下载Langflow、MLX等相关库
复制代码
pip install langflow
pip install mlx-lmpip install transformers
pip install torchpip install numpy
pip install modelscope
🖥️首先,我们可以使用Ollama、stable-diffusion-webui等工具直接运行大模型,进行简单对话或图片生成

ollama 本地部署运行大模型

下载ollama工具

复制代码
ollama serve
如果运行ollama serve后出现类似下面的提示,说明已经可以正常使用:
复制代码
Error: listen tcp 127.0.0.1:11434: bind: address already in use

选择模型

在魔搭社区的模型库中选择合适的GGUF模型:(网站链接:)

开始运行

复制模型路径(如:Qwen/Qwen2.5-0.5B-Instruct-GGUF),替换下面命令中的{model path},然后进行运行:
复制代码
ollama run modelscope.cn/{model path}
例如:ollama run modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct-GGUF
运行后,就可以直接使用大模型进行对话啦
可以通过ollama list命令看到已经有的模型:
复制代码
ollama list

stable-diffusion-webui框架本地运行文生图模型

环境准备

克隆stable-diffusion-webui库
复制代码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

运行及配置

运行stable-diffusion-webui
复制代码
cd stable-diffusion-webui
./webui.sh
可能的报错:
复制代码
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
如果出现以上报错信息,说明当前网络无法从huggingface上下载文件,可以从魔搭上下载所需的模型,命令:
复制代码
modelscope download --model AI-ModelScope/clip-vit-large-patch14
打开调用这个模型的代码位置,将路径换成刚才下载的文件路径:
此时运行./webui.sh ,就不会出现报错,自动打开本地网页界面

下载模型并使用

打开魔搭社区diffusion模型库:,选择合适的模型,在模型文件中下载模型权重(ckpt或safetensors格式)
将下载好的模型保存在:stable-diffusion-webui/models/Stable-diffusion路径下
此时在左上角刷新后就会显示可以使用的模型:
接下来就可以使用各种功能进行图片生成啦:

ComfyUI使用工作流形式灵活搭建生图功能

下载ComfyUI代码框架并运行

复制代码
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py

下载生图模型

使用命令行下载stable-diffusion-v1-5:(将path/to换成你本地的路径)
将模型下载到ComfyUI/models/checkpoints目录下
复制代码
modelscope download --model AI-ModelScope/stable-diffusion-v1-5 v1-5-pruned-emaonly.safetensors --local_dir path/to/ComfyUI/models/checkpoints
同样下载lora模型到ComfyUI/models/loras目录下

具体演示

使用模版工作流,在checkpoint组建中选择下载好的stable-diffusion-v1-5模型,点击执行即可生成图片
在clip文本编辑中可以修改提示词以及反向提示词;在k采样器中可以修改迭代步数等一些参数
添加lora模型后,可以生成更有风格化的图片(可以在模型强度中修改lora模型的风格程度)
🖥️想要更美观的交互界面?试试LM-studio

LM-studio本地大模型个人助手

下载LM-studio及大模型

下载后自动启用,并下载模型存入指定目录,下载命令:
复制代码
modelscope download --model Qwen/Qwen2.5-0.5B-Instruct-GGUF --local_dir /Users/mingjiangao/lmstudio/models/Publisher/Repository/qwen2.5-0.5b
存入的local_dir目录与LM-studio中的模型路径相同即可,注意需要Publisher/Repository/两层目录

开始使用

在Chat界面选择下载好的模型
开始聊天吧!
如果想要使用工作流的形式搭建功能更强大的大模型应用,可以使用Langflow工具

langflow搭建RAG应用

准备模型

使用ollama pull命令下载一个一个文本嵌入模型,用来构建RAG知识库:
复制代码
ollama pull modelscope.cn/Embedding-GGUF/nomic-embed-text-v1.5-GGUF:latest

本地运行langflow

运行langflow:
复制代码
pip install langflowpython -m langflow run
运行成功后,会出现以下的提示及本地网址:

搭建工作流

打开给出的本地网址http://127.0.0.1:7861,点击New Flow,创建一个空的工作流:
添加最简单的输入输出逻辑,分别添加Chat Input、Chat output以及ollama模型块,在ollama模型块中选择已经上传的qwen模型,将输入输出块与模型块相连,点击右上角的playground即可运行
添加提示词,个性化AI服务:添加prompt块,在内容中加入需要的提示词,并添加question接口,将我们的输入添加在提示词后
添加本地知识库,获得更加专业的回答:创建一个数据库,将知识库的文件/链接等输入到数据库中,连接准备好的embedding模型和查询输入,将数据库检索的结果转换为text格式。在提示词中添加知识库接口,将检索结果输入到这个接口上。
然后,我们就可以开始进行对话啦,可以看到此时大模型的知识库已经包含我们所上传的内容:
🖥️对已有的模型不满意,想要更个性化专业化的模型?试试MLX框架进行大模型微调吧

MLX框架本地大模型微调

下载模型

调用ModelScope平台提供的下载工具的命令,从ModelScope模型库中下载需要的模型(--model参数表示下载的模型名称;--local_dir表示会把模型下载到这个路径的文件夹下)
复制代码
modelscope download --model 'Qwen/Qwen2.5-0.5B-Instruct' --local_dir 'qwen2.5-0.5B'

微调大模型

下载mlx代码库:
复制代码
git clone https://github.com/ml-explore/mlx-examples.git
找到lora/data目录下的train.jsonl文件,修改为我们自己的训练集,以可爱幽默风格为例:
复制代码
{"prompt": "为什么冬天要穿棉衣?", "completion": "呜呜呜~因为小雪花会偷偷钻进衣服里,穿上厚厚的棉衣就像被温暖的小熊抱抱一样暖和!"}{"prompt": "怎么让猫咪喜欢你?", "completion": "喵喵喵~拿小鱼干当见面礼,然后轻轻摸摸它的头,它就会蹭蹭你啦!"}{"prompt": "怎样才能快速入睡?", "completion": "呼噜噜~想象自己躺在云朵上,数着绵羊跳过月亮,很快就能进入甜甜的梦乡啦!"}{"prompt": "怎么记住朋友的生日?", "completion": "叮咚咚~在手机里设置小闹钟提醒,这样就不会忘记给小伙伴庆祝生日啦!"}{"prompt": "怎样能让头发长得快?", "completion": "唰唰唰~多吃蔬菜水果,多喝水,还可以跟头发说悄悄话,让它快点长高高哦!"}{"prompt": "为什么夏天要吃冰淇淋?", "completion": "丝丝丝~因为冰淇淋能赶走炎热的小恶魔,带来清凉的感觉,超级舒服哒!"}{"prompt": "如何让自己的房间变得整洁?", "completion": "嗖嗖嗖~把所有东西都放进魔法盒子里(收纳箱),房间瞬间就干净整齐啦!"}{"prompt": "怎么让自己更开心?", "completion": "嘻嘻嘻~看一部搞笑的动画片,或者和好朋友一起玩耍,快乐马上来敲门啦!"}{"prompt": "怎样做作业更快?", "completion": "刷刷刷~集中注意力,像小火箭一样冲向题目,做完后别忘了给自己一个小奖励哦!"}{"prompt": "为什么读书很重要?", "completion": "呀呀呀~因为书本是知识的小宝库,每读一本书就像是找到了一颗闪亮的宝石呢!"}{"prompt": "为什么睡觉要盖被子?", "completion": "小兔子要暖和才能蹦蹦跳跳,盖上被子就像爸爸妈妈抱着小兔子一样温暖!"}{"prompt": "怎么让眼睛不累?", "completion": "眨巴眨巴~多看看远处的绿树,给眼睛做个小按摩,它们就会很开心啦!"}{"prompt": "怎样才能交到好朋友?", "completion": "嘻嘻嘻~分享自己的小零食,一起玩耍聊天,很快就能找到志同道合的好朋友啦!"}{"prompt": "为什么要做运动?", "completion": "动一动~蹦蹦跳跳能让身体变得更加强壮,像小超人一样充满活力哦!"}{"prompt": "如何让心情变好?", "completion": "哼哼歌~找小伙伴倾诉一下心事,或者画一幅彩色的心情图,快乐就会回来找你啦!"}{"prompt": "怎么知道天气好不好?", "completion": "瞧一瞧~打开窗户看看太阳公公是不是在微笑,听听风儿姐姐的声音就知道啦!"}{"prompt": "为什么不能挑食?", "completion": "咕噜咕噜~各种食物都有自己的魔法力量,多吃不同的食物才能变得更强壮哦!"}{"prompt": "怎样保护牙齿健康?", "completion": "刷刷刷~每天早晚用小牙刷给牙齿们洗澡,不让蛀虫小坏蛋有机会捣乱!"}{"prompt": "怎么选择喜欢的书?", "completion": "翻一翻~找到让你心跳加速、眼睛放光的故事,那就是你的最爱啦!"}{"prompt": "为什么需要喝水?", "completion": "咕咚咕咚~水是生命的小溪流,喝够水身体里的小细胞们才能欢快地跳舞哦!"}
进入lora目录,开始微调,注意--model参数后换成你本地模型文件夹的实际目录,使用默认的训练参数,更多的训练参数可以参考
复制代码
cd mlx-examples/lora
mlx_lm.lora --model path/to/qwen2.5-0.5B --train --data ./data
在训练结束后后,会在lora目录下生成微调后的模型适配器权重文件目录adapters

模型生成并验证

通过mlx_lm.fuse命生成新模型,命名为“qwen2.5-0.5B-new”
复制代码
mlx_lm.fuse --model path/to/qwen2.5-0.5B --adapter-path adapters --save-path qwen2.5-0.5B-new
通过简单的问题来验证微调后的模型效果:
命令:
复制代码
mlx_lm.generate --model path/to/model --prompt "Your promp"
可以看到,微调之后的回答十分可爱幽默:
🖥️不止于对话,想用大模型完成更多任务?

open-interpreter框架本地操作电脑

创建新的虚拟环境

新建一个虚拟环境,避免与Langflow库之间产生冲突。
复制代码
python3 -m venv computer_use
source computer_use/bin/activate
下载open-interpreter库
复制代码
pip install open-interpreter

运行代码完成指令

新建Python文件,使用魔搭免费模型推理AP,运行下面的代码(将Your-SDK-Token替换为魔搭SDK令牌):
复制代码
from interpreter import interpreter
interpreter.llm.api_base = "https://api-inference.modelscope.cn/v1"
interpreter.llm.api_key = "Your-SDK-Token"
interpreter.llm.model = "openai/Qwen/Qwen2.5-Coder-32B-Instruct"
interpreter.chat("Can you help me create a.txt in Desktop")

立即下载

相似工具

评论列表 共有 0 条评论

暂无评论
发表
评论
顶部