RamaLama:用容器在本地跑 AI 模型
用容器方式在本地运行和推理 AI 模型的命令行工具,自动检测 GPU 并拉取加速镜像。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.25.0
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
RamaLama 是一个开源命令行工具,目标是让 AI 模型的使用变得简单、直接、熟悉——用 OCI 容器的思路来运行和推理模型。它把模型当作类似 Podman / Docker 中的容器镜像来管理,用户可以沿用容器化的开发习惯来处理 AI 场景。
它免去了配置宿主机的麻烦:RamaLama 会检测宿主机上的 GPU,拉取与之匹配的容器镜像,把依赖和硬件优化都交给镜像处理,从而支持多种模型与平台。
主要功能
- 自动适配硬件:首次运行时检测系统 GPU 支持情况,没有可用 GPU 时回退到 CPU。RamaLama 通过 Podman 或 Docker 拉取对应加速镜像:
| 加速器 | 镜像 |
|---|---|
| GGML_VK_VISIBLE_DEVICES(或 CPU) | quay.io/ramalama/ramalama |
| HIP_VISIBLE_DEVICES | quay.io/ramalama/rocm |
| CUDA_VISIBLE_DEVICES | quay.io/ramalama/cuda |
| ASAHI_VISIBLE_DEVICES | quay.io/ramalama/asahi |
| INTEL_VISIBLE_DEVICES | quay.io/ramalama/intel-gpu |
| ASCEND_VISIBLE_DEVICES | quay.io/ramalama/cann |
| MUSA_VISIBLE_DEVICES | quay.io/ramalama/musa |
- 多来源模型:支持多种 AI 模型仓库(包括 OCI 容器镜像仓库),模型的使用方式与容器镜像类似。
- 一条命令启动服务:可从单一命令启动聊天机器人或 REST API 服务。
- 安全隔离:默认在 rootless 容器中运行模型,模型以只读卷挂载进容器,与宿主机隔离;默认不开放网络访问,应用退出时清除临时数据。
- 硬件覆盖:CPU;Apple Silicon GPU(Linux / Asahi、macOS 的 llama.cpp 或 MLX、podman-machine);NVIDIA GPU(cuda);AMD GPU(rocm、vulkan);Ascend NPU(Linux);Intel ARC GPU(Linux);Intel GPU(vulkan / Linux);Moore Threads GPU(musa / Linux);Windows(需 Docker / Podman + WSL2)。
- MLX 运行时(仅 macOS):为 Apple Silicon Mac 提供优化推理,要求 macOS、Apple Silicon(M1/M2/M3 及更新)、配合
--nocontainer使用,并在宿主机上以 uv 工具安装mlx-lm。 - 容器引擎选择:同时安装 Podman 和 Docker 时默认使用 Podman,可通过环境变量
RAMALAMA_CONTAINER_ENGINE=docker覆盖;两者都未安装时,会尝试直接用本机软件运行模型。
安装与使用
macOS(自带 Python 与依赖的独立安装包):从 Releases 下载 .pkg 后双击安装,或执行:
sudo installer -pkg RamaLama-*-macOS-Installer.pkg -target /
Fedora:
sudo dnf install ramalama
PyPI:
pip install ramalama
安装脚本(Linux 与 macOS):
curl -fsSL https://ramalama.ai/install.sh | bash
Windows(需要 Docker Desktop 或 Podman Desktop,且启用 WSL2 后端;要求 Python 3.9 及以上):
pip install ramalama
在 Fedora Silverblue 等只读的不可变系统上,可在 Toolbox 容器内安装运行,并让 Toolbox 使用宿主机的 Podman / Docker;模型仓库默认位于 ~/.local/share/ramalama,在该系统上可写。
使用 MLX 运行 Phi-4 的示例(需先安装 uv,若未安装可执行 curl -LsSf https://astral.sh/uv/install.sh | sh):
uv tool install mlx-lm
# 或升级到最新版本:
uv tool upgrade mlx-lm
ramalama --runtime=mlx serve hf://mlx-community/Unsloth-Phi-4-4bit
注意事项
- 使用 NVIDIA GPU 时,需要按 ramalama-cuda 文档正确配置宿主机;Moore Threads GPU 参见 ramalama-musa。
- RamaLama 拉取的镜像与其次版本号绑定,例如 1.2.3 版本在 NVIDIA 系统上会拉取
quay.io/ramalama/cuda:1.2;可用--image选项覆盖默认镜像。 - Windows 支持依赖 Docker / Podman 运行容器;模型存储优先使用硬链接,不可用时退化为文件复制。
- MLX 运行时不支持容器,必须配合
--nocontainer使用。 - 卸载:
pip uninstall ramalama或sudo dnf remove ramalama;模型与配置数据可用rm -rf -- "${XDG_DATA_HOME:-$HOME/.local/share}/ramalama"和rm -rf -- "${XDG_CONFIG_HOME:-$HOME/.config}/ramalama"清理,模型目录可能非常大,删除前请确认。
本作品整理自 GitHub 开源项目 containers/ramalama,原作者 @containers,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.25.0当前版本
更新 huggingface-hub 等依赖;支持在 toolbox 中以容器方式运行;serve 默认绑定 loopback;满足 EU CRA 合规要求;升级 Ascend CANN 镜像;适配 macOS 上 podman 6 的 podman-machine-list 调用。
评论