线上共学 | Mac本地玩转大模型

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 本文介绍如何在Mac本地部署和使用大模型,包括基础运行、多模态扩展、交互优化、知识增强、定制进化等技术链路,并提供Ollama、Stable Diffusion、LM-Studio等工具的详细操作指南。

主题内容简介

🌟【从零构建本地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模型:(网站链接:)

image.png

开始运行

  • 复制模型路径(如: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

运行后,就可以直接使用大模型进行对话啦

image.png

  • 可以通过ollama list命令看到已经有的模型:
ollama list

image.png

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

打开调用这个模型的代码位置,将路径换成刚才下载的文件路径:

image.png image.png

此时运行./webui.sh  ,就不会出现报错,自动打开本地网页界面

下载模型并使用

  • 打开魔搭社区diffusion模型库:,选择合适的模型,在模型文件中下载模型权重(ckpt或safetensors格式)

image.png

  • 将下载好的模型保存在:stable-diffusion-webui/models/Stable-diffusion路径下

image.png

  • 此时在左上角刷新后就会显示可以使用的模型:

image.png

  • 接下来就可以使用各种功能进行图片生成啦:

image.png

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换成你本地的路径)

或者直接在魔搭社区https://www.modelscope.cn/models?name=stable%20diffusion&page=1进行下载

将模型下载到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采样器中可以修改迭代步数等一些参数

https://live.csdn.net/v/468909

添加lora模型后,可以生成更有风格化的图片(可以在模型强度中修改lora模型的风格程度)

https://live.csdn.net/v/468910

🖥️想要更美观的交互界面?试试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/两层目录

image.png

开始使用

  • 在Chat界面选择下载好的模型

image.png

  • 开始聊天吧!

image.png

如果想要使用工作流的形式搭建功能更强大的大模型应用,可以使用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
  • 运行成功后,会出现以下的提示及本地网址:

image.png

搭建工作流

image.png

  • 添加最简单的输入输出逻辑,分别添加Chat Input、Chat output以及ollama模型块,在ollama模型块中选择已经上传的qwen模型,将输入输出块与模型块相连,点击右上角的playground即可运行

https://live.csdn.net/v/468911

  • 添加提示词,个性化AI服务:添加prompt块,在内容中加入需要的提示词,并添加question接口,将我们的输入添加在提示词后

https://live.csdn.net/v/468912

  • 添加本地知识库,获得更加专业的回答:创建一个数据库,将知识库的文件/链接等输入到数据库中,连接准备好的embedding模型和查询输入,将数据库检索的结果转换为text格式。在提示词中添加知识库接口,将检索结果输入到这个接口上。

https://live.csdn.net/v/468913

然后,我们就可以开始进行对话啦,可以看到此时大模型的知识库已经包含我们所上传的内容:

image.png

🖥️对已有的模型不满意,想要更个性化专业化的模型?试试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文件,修改为我们自己的训练集,以可爱幽默风格为例:

image.png

{"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

image.png

模型生成并验证

  • 通过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"

可以看到,微调之后的回答十分可爱幽默:

image.png image.png

🖥️不止于对话,想用大模型完成更多任务?

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")

08.视频教程

更多教程内容,请点击阅读原文~

ModelScope 魔搭社区

目录
相关文章
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
|
3月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
6月前
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
387 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
9月前
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
1260 12
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
556 60
|
开发工具 git 开发者
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
本篇将专注于如何在 DevEco Studio 中安装和配置必要的插件,以增强开发功能和提升效率。通过正确配置插件,开发流程能够得到简化,开发体验也会更加顺畅。
479 1
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
863 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio

热门文章

最新文章