跳到正文
发现
RamaLama:用容器在本地跑 AI 模型
命令行工具AI 应用

RamaLama:用容器在本地跑 AI 模型

用容器方式在本地运行和推理 AI 模型的命令行工具,自动检测 GPU 并拉取加速镜像。

admin
发布于 2026-10-28
浏览
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 整理,以原仓库为准。

更新记录

  1. v0.25.0当前版本

    更新 huggingface-hub 等依赖;支持在 toolbox 中以容器方式运行;serve 默认绑定 loopback;满足 EU CRA 合规要求;升级 Ascend CANN 镜像;适配 macOS 上 podman 6 的 podman-machine-list 调用。

评论