5 分钟把设备变成 AI 集群:exo 本地部署快速上手指南
5 分钟把设备变成 AI 集群exo 本地部署快速上手指南【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exoexo 是一个免费开源项目能把你在手边的设备变成 AI 集群几台 Mac、Linux 电脑接入同一个网络自动发现彼此、自动把单机装不下的大模型拆分到各设备上一起跑。哪怕你只有一台设备也能跑一个小模型获得一个本地网页聊天界面。门槛不高一台 macOSApple Silicon或 Linux 电脑即可无需购买独立显卡提前装好 Python 包管理器 uv 就行剩下的交给 exo 自己。exo 能做什么把一堆设备拼成一台大机器用大白话说exo 干三件事自动组网每台设备跑起 exo 后会自动发现局域网里的其他节点不需要配 IP、端口或任何手动设置自动切分模型它实时查看设备拓扑和网络带宽自己决定把模型切成几片、放在哪台机器上支持流水线并行和张量并行设备越多反而越快开箱即用的接口内置一个 Dashboard 网页同时兼容 OpenAI Chat Completions、Claude、Ollama 等 API 格式你现有的工具基本可以直接连。四台 Mac Studio 拼成集群后的拓扑长这样设备之间通过雷雳/网络自动互联它不是玩具4 台 M3 Ultra Mac Studio 拼出的集群已经能在上面跑 Qwen3-235B 这种 2000 多亿参数的模型bench/ 目录里还附带了压测脚本。环境清单动手前只需装好三样东西先看要求全部满足再往下走依赖要求级别说明操作系统必须macOSApple Silicon或 LinuxLinux 目前走 CPU 推理GPU 支持还在开发中。Windows 暂不在官方支持范围内Python 3.13必须不用你手动装uv 会自动下载并管理uv必须Python 包/环境管理器整个流程都靠它Node.js 18必须用于构建 Dashboard 前端Rustnightly 工具链必须用于编译 exo 的 Rust 绑定库 exo-rsXcode必须仅 Mac提供 MLX 编译所需的 Metal 工具链macmon推荐仅 Mac硬件状态监控装不上不影响核心功能硬件方面exo 对单台设备没有硬性要求看的是所有设备的内存总和能否装下模型。两个可行的组合示例组合 A2 台 16GB 的 M 系 MacBook同一个 WiFi 下各跑一份 exo共同分担一个中等模型组合 B1 台 64GB Mac Studio 1 台 8GB 内存的 Linux 小主机合力跑单机装不下的更大模型。安装落地四步把 exo 跑起来推荐快速通道第 1 步装工具链。这是为了让后面每一步都有趁手的工具。Mac 用户执行一条命令装齐 uv 和 Nodebrew install uv nodeLinux 用户执行sudo apt update sudo apt install nodejs npm curl -LsSf https://astral.sh/uv/install.sh | shRust 两种平台都需要安装 rustup 后再加一个 nightly 工具链exo 的绑定库依赖它curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup toolchain install nightly预期结果uv --version、node --version都能正常输出版本号。第 2 步拿到项目代码。克隆仓库并进入目录后续所有命令都在这里执行git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo第 3 步构建 Dashboard。dashboard/ 目录是一个 Svelte 前端工程这一步会安装前端依赖并把它编译成静态页面供启动后的 exo 直接托管浏览器里看到的界面就是它cd dashboard npm install npm run build cd ..预期结果命令正常结束、无报错耗时取决于网速耐心等它装完依赖。第 4 步启动 exo。这一条命令是重头戏uv 会自动创建 Python 3.13 环境、安装依赖首次运行还会现场编译 exo-rs需要几分钟属于正常现象uv run exo预期结果终端打印节点启动日志服务监听在http://localhost:52415此时这台设备已经是一个 exo 节点了。进阶通道手动管理环境如果你想自己把控虚拟环境可以不直接uv run而是先执行uv venv --python 3.13和uv sync显式建环境、装依赖再uv run exo。另外uv run exo --no-worker可以只起协调节点负责组网和调度但不跑推理适合内存小、但网络好的机器。启动验证打开 Dashboard跑通第一段对话终端日志滚动起来之后浏览器打开http://localhost:52415Dashboard 是这个集群的驾驶舱主要能力查看集群拓扑和每台设备的状态、剩余内存浏览、搜索、下载模型支持从 Hugging Face 拉取自定义模型一键创建模型实例并在聊天框里直接对话实时看下载进度和推理性能。想在终端里确认 API 真的活着跑这两条验证命令curl http://localhost:52415/models预期输出一段 JSON 数组列出当前可用的模型。curl http://localhost:52415/instance/previews?model_idllama-3.2-1b预期输出包含previews数组的 JSON每项给出切分策略sharding和预估内存占用——这就是 Dashboard 背后决定模型怎么切、切到哪台机器的调度接口。然后回到 Dashboard选一个 1B~3B 的小模型比如 Llama 3.2 1B点下载并启动实例等它下完权重后在聊天框输入一句你好。看到回复逐字蹦出来恭喜你的第一个本地 AI 集群已经跑通了。想接入自己的程序完整的接口文档在 docs/api.md。卡住了五个高频问题与快速修复症状 1uv run exo报 Python 版本错误提示需要 3.13原因用到了系统里的旧版本 Python。 修复让 uv 自己装一个uv python install 3.13然后重新uv run exo。症状 2首次构建 exo-rs 时 Rust 编译报错原因缺 nightly 工具链或没生效。 修复rustup toolchain install nightly再执行source ~/.cargo/env让新装的工具链生效重新运行。症状 3页面能打开但 Dashboard 空白或 404原因前端没构建或构建产物缺失。 修复cd dashboard npm install npm run build cd ..重启 exo。症状 4两台设备互相发现不了原因不在同一局域网或集群命名空间不一致。 修复确认两台设备在同一 WiFi/有线网段如果其中一台设置了EXO_LIBP2P_NAMESPACE环境变量另一台必须设成相同值不设置则默认同组。症状 5模型下载特别慢或卡死原因Hugging Face 直连带宽差。 修复走镜像源启动例如HF_ENDPOINThttps://hf-mirror.com uv run exo。下一步去哪单台设备先把 1B~3B 的小模型玩熟熟悉后再把局域网里的第二台设备加入体验模型自动切分带来的速度提升。想量化预填充和生成速度可以用 bench/exo_bench.py 压测不同切分方案想读懂模型是怎么被切到各台设备上的调度与放置逻辑都在 src/exo/master/动手改代码前先看看 CONTRIBUTING.md。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考