如何在家用 Apple M1/M2 上通过 Homebrew 安装 Tabby 并以 metal 设备启动服务?
【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby
Tabby 是一个自托管的 AI 编程助手(code completion 与 chat)。这篇文档对应 Homebrew (Apple M1/M2) 安装指南,适用于跑在 Apple M1/M2 芯片 Mac 上、通过 Homebrew 安装tabby命令行、并用--device metal启动服务的场景。得益于 Apple 的 Accelerate 和 CoreML 框架,Tabby 可以在这类端侧设备上以合理的推理速度运行。完成本文后,你会得到一个本机监听 8080 端口的 Tabby 服务、一个 admin 账号,以及一个连上该服务的 IDE 扩展。
安装 Tabby 命令行
前提是本机已安装 Homebrew。执行:
brew install tabbyml/tabby/tabby安装完成后,tabby命令即可在终端使用。
以 metal 设备启动服务
按文档给出的默认启动命令:
tabby serve --device metal --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct各参数的用途:
--device metal:指定用 Apple 的 Metal 后端做推理,M1/M2 上必须显式指定(排查文档中也建议在--device cuda、--device rocm、--device metal中按硬件选择);--model StarCoder-1B:代码补全模型;--chat-model Qwen2-1.5B-Instruct:聊天功能模型。扩展排查文档 说明 chat 面板功能依赖服务端启用该功能,即启动时带上--chat-model MODEL_NAME参数,所以上面的命令同时覆盖了补全和 chat 两种用途。
服务默认监听 8080 端口。如果想换端口,追加--port选项;运行tabby serve --help可以查看所有可用参数。
验证服务已启动
启动后在终端日志中确认服务正在监听。扩展排查文档 给出的判断依据是:服务端日志会显示类似Listening at 0.0.0.0:8080的消息,启动日志中也会显示首页 URL,例如http://localhost:8080。
接着用浏览器打开http://localhost:8080应能看到 Tabby 页面。若页面打不开或请求无响应,文档建议检查服务端日志中是否有报错;开启 debug 日志的方式(见 FAQ):
RUST_LOG=debug tabby serve --device metal --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct要确认补全接口真正可用,可以打开 Swagger UI:http://localhost:8080/swagger-ui/,展开/v1/completions一节,点Try it out再点Execute,收到响应即说明服务运行正常。文档也给出了等价的curl请求示例(文档示例,可按需修改前缀内容):
curl -X 'POST' \ 'http://localhost:8080/v1/completions' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "language": "python", "segments": { "prefix": "def fib(n):\n ", "suffix": "\n return fib(n - 1) + fib(n - 2)" } }'注册账号并连接 IDE 扩展
服务验证通过后,打开http://localhost:8080首页注册账号。账号注册文档 说明:部署后第一个注册的账号是 admin 账号,自动获得 owner 角色。登录后首页会展示连接 IDE/Editor 扩展所需的凭证,包括 Endpoint 和 access token。
按 连接 IDE 文档 操作(以 VSCode 为例):
- 在扩展设置中填入首页提供的 Endpoint;
- 出现需要 access token 的提示时,点Set Credentials并填入首页获取的 token;
- IDE 状态栏出现已连接图标,表示连接成功。
此时在编辑器中输入代码,即可开始使用 Tabby 的代码补全。
限制与注意事项
- 算力边界:安装指南 明确指出 M1/M2 算力有限,通常只够个人使用;如果团队需要共享实例,文档建议改用 Docker + CUDA 或 ROCm 部署,参考 Docker 安装指南。
- 补全超时的处理:排查文档 提到,补全请求超时可能来自网络问题或服务器性能不足(尤其是在 CPU 上跑大模型);M1/M2 上应确保启动时带了
--device metal,也可以换用更小的模型。 - 端口:如使用
--port改了端口,IDE 扩展中的 Endpoint 和本文的验证地址都要换成对应端口。
完整参数、其他平台(Docker、WSL、Windows、Linux)的安装方式,以及 VSCode / IntelliJ / Vim 各扩展的安装细节,可分别参见 Tabby 文档目录 和 扩展文档。
【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考