[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-containers--ramalama":3,"tool-containers--ramalama":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":23,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":133,"github_topics":134,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":145,"updated_at":146,"faqs":147,"releases":176},3524,"containers\u002Framalama","ramalama","RamaLama is an open-source developer tool that simplifies the local serving of AI models from any source and facilitates their use for inference in production, all through the familiar language of containers.","RamaLama 是一款开源开发者工具，旨在让 AI 模型的本地部署与推理服务变得像管理容器一样简单直观。它核心解决了传统 AI 开发中环境配置繁琐、依赖冲突多以及硬件适配困难等痛点。用户无需在主机上手动安装复杂的驱动或库文件，RamaLama 能自动检测本地 GPU 类型，拉取包含所有必要依赖的加速容器镜像，从而实现“开箱即用”。\n\n该工具特别适合希望快速将 AI 模型集成到工作流中的软件工程师、DevOps 人员及 AI 研究者。其独特亮点在于完全采用 OCI 容器标准，将 AI 模型视为类似 Docker 或 Podman 的镜像进行管理，支持从多种注册表源获取模型。此外，RamaLama 默认以无根（rootless）模式运行，提供沙箱隔离以确保安全，并在退出时自动清理临时数据，同时支持通过 REST API 或聊天界面与模型交互。无论是 macOS 还是 Linux 环境，它都能帮助开发者利用熟悉的容器命令轻松构建和生产级 AI 应用。","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_c236e58ec9bf.png\" width=50%>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"Open Issues\"\u002F>\n  \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"License\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Ftop\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"Top language\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Framalama?style=flat-square\" height=\"22\" alt=\"PyPI version\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Framalama?style=flat-square\" height=\"22\" alt=\"Supported Python versions\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FMkCXuTRBUn\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1388199960503128165?style=flat-square&logo=discord&label=discord\" height=\"22\" alt=\"Join Discord\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmatrix.to\u002F#\u002F#ramalama:fedoraproject.org\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmatrix-join-blue?style=flat-square&logo=matrix\" height=\"22\" alt=\"Join Matrix\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\u003C!-- \u003Ch3 align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.ramalama.com\u002F\">Docs\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fdiscussions\" title=\"Community Page\">Discussion\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fblog.ramalama.com\" title=\"RamaLama Blog\">Blog\u003C\u002Fa>\n\u003C\u002Fh3> -->\n\n\n\n[RamaLama](https:\u002F\u002Framalama.ai) strives to make working with AI simple, straightforward, and familiar by using OCI containers.\n\u003Cbr>\n\u003Cbr>\n\n## Description\nRamaLama is an open-source tool that simplifies the local use and serving of AI models for inference from any source through the familiar approach of containers. It allows engineers to use container-centric development patterns and benefits to extend to AI use cases.\n\nRamaLama eliminates the need to configure the host system by instead pulling a container image specific to the GPUs discovered on the host system, and allowing you to work with various models and platforms.\n\n- Eliminates the complexity for users to configure the host system for AI.\n- Detects and pulls an [accelerated container image](#accelerated-images) specific to the GPUs on the host system, handling dependencies and hardware optimization.\n- RamaLama supports multiple [AI model registries](#transports), including OCI Container Registries.\n- Models are treated similarly to how Podman and Docker treat container images.\n- Use common [container commands](#commands) to work with AI models.\n- Run AI models [securely](#security) in rootless containers, isolating the model from the underlying host.\n- Keep data secure by defaulting to no network access and removing all temporary data on application exits.\n- Interact with models via REST API or as a chatbot.\n\u003Cbr>\n\n## Install\n### Install on macOS (Self-Contained Installer)\nDownload the self-contained macOS installer that includes Python and all dependencies:\n\n1. Download the latest `.pkg` installer from [Releases](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Freleases)\n2. Double-click to install, or run: `sudo installer -pkg RamaLama-*-macOS-Installer.pkg -target \u002F`\n\nSee [macOS Installation Guide](docs\u002FMACOS_INSTALL.md) for detailed instructions.\n\n### Install on Fedora\nRamaLama is available in [Fedora](https:\u002F\u002Ffedoraproject.org\u002F) and later. To install it, run:\n```\nsudo dnf install ramalama\n```\n\n### Fedora Silverblue and Toolbox\nOn [Fedora Silverblue](https:\u002F\u002Fdocs.fedoraproject.org\u002Fen-US\u002Ffedora-silverblue\u002F) and other immutable variants, the system is read-only. You can run RamaLama in either of these ways:\n\n- **Toolbox**: Create a [Toolbox](https:\u002F\u002Fdocs.fedoraproject.org\u002Fen-US\u002Ffedora-silverblue\u002Ftoolbox\u002F) container and install RamaLama inside it (`pip install ramalama` or `dnf install ramalama` if available). Use the same Podman (or Docker) from the host so that RamaLama can start model containers; ensure the container engine is installed and that the toolbox has access to the host's container engine (e.g., by bind-mounting the socket or by configuring the toolbox to use the host's `podman` command).\n- **Host Installation or Toolbox with Host Access**: Install RamaLama on the host via `rpm-ostree install ramalama` if the package is available for your image, or run RamaLama from a toolbox, ensuring Podman\u002FDocker is available and the model store is on a writable location (e.g., your home directory).\n\nThe model store defaults to `~\u002F.local\u002Fshare\u002Framalama`, which is writable on Silverblue.\n\n### Install via PyPI\nRamaLama is available via PyPI at [https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama](https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama)\n```\npip install ramalama\n```\n\n### Install script (Linux and macOS)\nInstall RamaLama by running:\n```\ncurl -fsSL https:\u002F\u002Framalama.ai\u002Finstall.sh | bash\n```\n\n### Install on Windows\nRamaLama supports Windows with Docker Desktop or Podman Desktop:\n```powershell\npip install ramalama\n```\n\n**Requirements:**\n- Python 3.10 or later\n- Docker Desktop or Podman Desktop with WSL2 backend\n- For GPU support, see [NVIDIA GPU Setup for WSL2](docs\u002Freadme\u002Fwsl2-docker-cuda.md)\n\n**Note:** Windows support requires running containers via Docker\u002FPodman. The model store uses hardlinks (no admin required) or falls back to file copies if hardlinks are unavailable.\n\n## Uninstall\n\n### Uninstall via pip\nIf you installed RamaLama using pip, you can uninstall it with:\n```bash\npip uninstall ramalama\n```\n\n### Uninstall on Fedora\nIf you installed RamaLama using DNF:\n```bash\nsudo dnf remove ramalama\n```\n\n### Uninstall on macOS (Self-Contained Installer)\nTo remove RamaLama installed via the `.pkg` installer:\n```bash\n# Remove the executable\nsudo rm \u002Fusr\u002Flocal\u002Fbin\u002Framalama\n\n# Remove configuration and data files\nsudo rm -rf \u002Fusr\u002Flocal\u002Fshare\u002Framalama\n\n# Remove man pages (optional)\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman1\u002Framalama*.1\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman5\u002Framalama*.5\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman7\u002Framalama*.7\n\n# Remove shell completions (optional)\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fbash-completion\u002Fcompletions\u002Framalama\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Ffish\u002Fvendor_completions.d\u002Framalama.fish\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fzsh\u002Fsite-functions\u002F_ramalama\n```\n\nSee the [macOS Installation Guide](docs\u002FMACOS_INSTALL.md) for more details.\n\n### Remove User Data and Configuration\nAfter uninstalling RamaLama using any method above, you may want to remove downloaded models and configuration files:\n\n```bash\n# Remove downloaded models and data (can be large)\nrm -rf -- \"${XDG_DATA_HOME:-~\u002F.local\u002Fshare}\u002Framalama\"\n\n# Remove configuration files\nrm -rf -- \"${XDG_CONFIG_HOME:-~\u002F.config}\u002Framalama\"\n\n# If you ran RamaLama as root, also remove:\nsudo rm -rf \u002Fvar\u002Flib\u002Framalama\n```\n\n**Note:** The model data directory (by default `~\u002F.local\u002Fshare\u002Framalama`) can be quite large depending on how many models you've downloaded. Make sure you want to remove these files before running the commands above.\n\n## Accelerated images\n\n| Accelerator                       | Image                      |\n| :---------------------------------| :------------------------- |\n|  GGML_VK_VISIBLE_DEVICES (or CPU) | quay.io\u002Framalama\u002Framalama  |\n|  HIP_VISIBLE_DEVICES              | quay.io\u002Framalama\u002Frocm      |\n|  CUDA_VISIBLE_DEVICES             | quay.io\u002Framalama\u002Fcuda      |\n|  ASAHI_VISIBLE_DEVICES            | quay.io\u002Framalama\u002Fasahi     |\n|  INTEL_VISIBLE_DEVICES            | quay.io\u002Framalama\u002Fintel-gpu |\n|  ASCEND_VISIBLE_DEVICES           | quay.io\u002Framalama\u002Fcann      |\n|  MUSA_VISIBLE_DEVICES             | quay.io\u002Framalama\u002Fmusa      |\n\n### GPU support inspection\nOn first run, RamaLama inspects your system for GPU support, falling back to CPU if none are present. RamaLama uses container engines like Podman or Docker to pull the appropriate OCI image with all necessary software to run an AI Model for your system setup.\n\n\u003Cdetails>\n\u003Csummary>\nHow does RamaLama select the right image?\n\u003C\u002Fsummary>\n\u003Cbr>\n\nAfter initialization, RamaLama runs AI Models within a container based on the OCI image. RamaLama pulls container images specific to the GPUs discovered on your system. These images are tied to the minor version of RamaLama.\n- For example, RamaLama version 1.2.3 on an NVIDIA system pulls quay.io\u002Framalama\u002Fcuda:1.2. To override the default image, use the `--image` option.\n\nRamaLama then pulls AI Models from model registries, starting a chatbot or REST API service from a simple single command. Models are treated similarly to how Podman and Docker treat container images.\n\u003C\u002Fdetails>\n\u003Cbr>\n\n## Hardware Support\n\n| Hardware                           | Enabled                     |\n| :--------------------------------- | :-------------------------: |\n| CPU                                | &check;                     |\n| Apple Silicon GPU (Linux \u002F Asahi)  | &check;                     |\n| Apple Silicon GPU (macOS)          | &check; llama.cpp or MLX    |\n| Apple Silicon GPU (podman-machine) | &check;                     |\n| Nvidia GPU (cuda)                  | &check; See note below      |\n| AMD GPU (rocm, vulkan)             | &check;                     |\n| Ascend NPU (Linux)                 | &check;                     |\n| Intel ARC GPUs (Linux)             | &check; See note below      |\n| Intel GPUs (vulkan \u002F Linux)        | &check;                     |\n| Moore Threads GPU (musa \u002F Linux)   | &check; See note below      |\n| Windows (with Docker\u002FPodman)       | &check; Requires WSL2       |\n\n### Nvidia GPUs\nOn systems with NVIDIA GPUs, see [ramalama-cuda](docs\u002Framalama-cuda.7.md) documentation for the correct host system configuration.\n\n### Intel GPUs\nThe following Intel GPUs are auto-detected by RamaLama:\n\n| GPU ID  | Description                        |\n| :------ | :--------------------------------- |\n|`0xe20b` | Intel® Arc™ B580 Graphics          |\n|`0xe20c` | Intel® Arc™ B570 Graphics          |\n|`0x7d51` | Intel® Graphics - Arrow Lake-H     |\n|`0x7dd5` | Intel® Graphics - Meteor Lake      |\n|`0x7d55` | Intel® Arc™ Graphics - Meteor Lake |\n\nSee the [Intel hardware table](https:\u002F\u002Fdgpu-docs.intel.com\u002Fdevices\u002Fhardware-table.html) for more information.\n\u003Cbr>\n\u003Cbr>\n\n### Moore Threads GPUs\nOn systems with Moore Threads GPUs, see [ramalama-musa](docs\u002Framalama-musa.7.md) documentation for the correct host system configuration.\n\n### MLX Runtime (macOS only)\nThe MLX runtime provides optimized inference for Apple Silicon Macs. MLX requires:\n- macOS operating system\n- Apple Silicon hardware (M1, M2, M3, or later)\n- Usage with `--nocontainer` option (containers are not supported)\n- The `mlx-lm` uv package installed on the host system as a uv tool\n\nTo install and run Phi-4 on MLX, use `uv`. If `uv` is not installed, you can install it with `curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh`:\n```bash\nuv tool install mlx-lm\n# or upgrade to the latest version:\nuv tool upgrade mlx-lm\n\nramalama --runtime=mlx serve hf:\u002F\u002Fmlx-community\u002FUnsloth-Phi-4-4bit\n```\n\n#### Default Container Engine\nWhen both Podman and Docker are installed, RamaLama defaults to Podman. The `RAMALAMA_CONTAINER_ENGINE=docker` environment variable can override this behaviour. When neither are installed, RamaLama will attempt to run the model with software on the local system.\n\u003Cbr>\n\u003Cbr>\n\n## Security\n\n### Test and run your models more securely\nBecause RamaLama defaults to running AI models inside rootless containers using Podman or Docker, these containers isolate the AI models from information on the underlying host.  With RamaLama containers, the AI model is mounted as a volume into the container in read-only mode.\n\nThis results in the process running the model (llama.cpp or vLLM) being isolated from the host. Additionally, since `ramalama run` uses the `--network=none` option, the container cannot reach the network and leak any information out of the system. Finally, containers are run with the `--rm` option, which means any content written during container execution is deleted when the application exits.\n\n### Here’s how RamaLama delivers a robust security footprint:\n- **Container Isolation** – AI models run within isolated containers, preventing direct access to the host system.\n- **Read-Only Volume Mounts** – The AI model is mounted in read-only mode, which means that processes inside the container cannot modify the host files.\n- **No Network Access** – ramalama run is executed with `--network=none`, meaning the model has no outbound connectivity for which information can be leaked.\n- **Auto-Cleanup** – Containers run with `--rm`, wiping out any temporary data once the session ends.\n- **Drop All Linux Capabilities** – No access to Linux capabilities to attack the underlying host.\n- **No New Privileges** – Linux Kernel feature that disables container processes from gaining additional privileges.\n\u003Cbr>\n\n\n## Transports\nRamaLama supports multiple AI model registries types called transports.\n\n### Supported transports\n\n| Transports               |  Web Site                                            |\n| :-------------           | :--------------------------------------------------- |\n| HuggingFace              | [`huggingface.co`](https:\u002F\u002Fwww.huggingface.co)       |\n| ModelScope               | [`modelscope.cn`](https:\u002F\u002Fwww.modelscope.cn)         |\n| Ollama                   | [`ollama.com`](https:\u002F\u002Fwww.ollama.com)               |\n| RamaLama Labs Container Registry | [`ramalama.com`](https:\u002F\u002Fregistry.ramalama.com) |\n| OCI Container Registries | [`opencontainers.org`](https:\u002F\u002Fopencontainers.org)   |\n|                          |Examples: [`quay.io`](https:\u002F\u002Fquay.io),  [`Docker Hub`](https:\u002F\u002Fdocker.io), [`Pulp`](https:\u002F\u002Fpulpproject.org), and [`Artifactory`](https:\u002F\u002Fjfrog.com\u002Fartifactory\u002F)|\n\n### Default Transport\nRamaLama uses the Ollama registry transport by default\n\n\u003Cdetails>\n\u003Csummary>\nHow to change transports.\n\u003C\u002Fsummary>\n\u003Cbr>\n\nUse the RAMALAMA_TRANSPORT environment variable to modify the default. `export RAMALAMA_TRANSPORT=huggingface` Changes RamaLama to use huggingface transport.\n\nIndividual model transports can be modified when specifying a model via the `huggingface:\u002F\u002F`, `oci:\u002F\u002F`, `modelscope:\u002F\u002F`, `ollama:\u002F\u002F`, or `rlcr:\u002F\u002F` prefix.\n\nExample:\n```\nramalama pull huggingface:\u002F\u002Fafrideva\u002FTiny-Vicuna-1B-GGUF\u002Ftiny-vicuna-1b.q2_k.gguf\n```\n\u003C\u002Fdetails>\n\n### Transport shortnames\nTo make it easier for users, RamaLama uses shortname files, which contain alias names for fully specified AI Models, allowing users to refer to models using shorter names.\n\n\u003Cdetails>\n\u003Csummary>\nMore information on shortnames.\n\u003C\u002Fsummary>\n\u003Cbr>\n\nRamaLama reads shortnames.conf files if they exist. These files contain a list of name-value pairs that specify the model. The following table specifies the order in which RamaLama reads the files. Any duplicate names that exist override previously defined shortnames.\n\u003Cbr>\n| Shortnames type    | Path                                                       |\n| :----------------  | :-------------------------------------------               |\n| Development        | .\u002Fshortnames.conf                                          |\n| User (Config)      | $XDG\\_CONFIG\\_HOME\u002Framalama\u002Fshortnames.conf                |\n| User (Data)        | $XDG\\_DATA\\_HOME\u002Framalama\u002Fshortnames.conf                  |\n| Administrators     | \u002Fetc\u002Framalama\u002Fshortnames.conf                              |\n| Distribution       | \u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf                        |\n| Local Distribution | \u002Fusr\u002Flocal\u002Fshare\u002Framalama\u002Fshortnames.conf                  |\n\u003Cbr>\n\n```\n$ cat \u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\n[shortnames]\n  \"tiny\" = \"ollama:\u002F\u002Ftinyllama\"\n  \"granite\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"granite:7b\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"ibm\u002Fgranite\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"merlinite\" = \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\"\n  \"merlinite:7b\" = \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\"\n  ...\n```\n\u003C\u002Fdetails>\n\u003Cbr>\n\u003Cbr>\n\n\n## Commands\n\n### [`ramalama-bench`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-bench.1.md)\n#### Benchmark specified AI Model.\n- \u003Cdetails>\n    \u003Csummary>\n        Benchmark specified AI Model\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama bench granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-containers`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-containers.1.md)\n#### List all RamaLama containers.\n- \u003Cdetails>\n    \u003Csummary>\n        List all containers running AI Models\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama containers\n    ```\n    Returns for example:\n    ```\n    CONTAINER ID  IMAGE                             COMMAND               CREATED        STATUS                    PORTS                   NAMES\n    85ad75ecf866  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  5 hours ago    Up 5 hours                0.0.0.0:8080->8080\u002Ftcp  ramalama_s3Oh6oDfOP\n    85ad75ecf866  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  4 minutes ago  Exited (0) 4 minutes ago                          granite-server\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        List all containers in a particular format\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama ps --noheading --format \"{{ .Names }}\"\n    ```\n    Returns for example:\n\n    ```\n    ramalama_s3Oh6oDfOP\n    granite-server\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-convert`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-convert.1.md)\n#### Convert AI Model from local storage to OCI Image.\n- \u003Cdetails>\n    \u003Csummary>\n        Generate an oci model out of an Ollama model.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama convert ollama:\u002F\u002Ftinyllama:latest oci:\u002F\u002Fquay.io\u002Frhatdan\u002Ftiny:latest\n    ```\n    Returns for example:\n    ```\n    Building quay.io\u002Frhatdan\u002Ftiny:latest...\n    STEP 1\u002F2: FROM scratch\n    STEP 2\u002F2: COPY sha256:2af3b81862c6be03c769683af18efdadb2c33f60ff32ab6f83e42c043d6c7816 \u002Fmodel\n    --> Using cache 69db4a10191c976d2c3c24da972a2a909adec45135a69dbb9daeaaf2a3a36344\n    COMMIT quay.io\u002Frhatdan\u002Ftiny:latest\n    --> 69db4a10191c\n    Successfully tagged quay.io\u002Frhatdan\u002Ftiny:latest\n    69db4a10191c976d2c3c24da972a2a909adec45135a69dbb9daeaaf2a3a36344\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Generate and run an OCI model with a quantized GGUF converted from Safetensors.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    Generate OCI model\n    ```\n    $ ramalama --image quay.io\u002Framalama\u002Framalama-rag convert --gguf Q4_K_M hf:\u002F\u002Fibm-granite\u002Fgranite-3.2-2b-instruct oci:\u002F\u002Fquay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest\n    ```\n\n    Returns for example:\n    ```\n    Converting \u002FUsers\u002Fkugupta\u002F.local\u002Fshare\u002Framalama\u002Fmodels\u002Fhuggingface\u002Fibm-granite\u002Fgranite-3.2-2b-instruct to quay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest...\n    Building quay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest...\n    ```\n\n    Run the generated model\n    ```\n    $ ramalama run oci:\u002F\u002Fquay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-info`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-info.1.md)\n#### Display RamaLama configuration information.\n- \u003Cdetails>\n    \u003Csummary>\n        Info with no container engine.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama info\n    ```\n    Returns for example:\n    ```\n    {\n        \"Accelerator\": \"cuda\",\n        \"Engine\": {\n        \"Name\": \"\"\n        },\n        \"Image\": \"quay.io\u002Framalama\u002Fcuda:0.7\",\n        \"Inference\": {\n            \"Default\": \"llama.cpp\",\n            \"Engines\": {\n                \"llama.cpp\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fllama.cpp.yaml\",\n                \"mlx\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fmlx.yaml\",\n                \"vllm\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fvllm.yaml\"\n            },\n            \"Schema\": {\n                \"1-0-0\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fschema\u002Fschema.1-0-0.json\"\n            }\n        },\n        \"Shortnames\": {\n        \"Names\": {\n            \"cerebrum\": \"huggingface:\u002F\u002Ffroggeric\u002FCerebrum-1.0-7b-GGUF\u002FCerebrum-1.0-7b-Q4_KS.gguf\",\n            \"deepseek\": \"ollama:\u002F\u002Fdeepseek-r1\",\n            \"dragon\": \"huggingface:\u002F\u002Fllmware\u002Fdragon-mistral-7b-v0\u002Fdragon-mistral-7b-q4_k_m.gguf\",\n            \"gemma3\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n            \"gemma3:12b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-12b-it-GGUF\u002Fgoogle_gemma-3-12b-it-IQ2_M.gguf\",\n            \"gemma3:1b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-1b-it-GGUF\u002Fgoogle_gemma-3-1b-it-IQ2_M.gguf\",\n            \"gemma3:27b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-27b-it-GGUF\u002Fgoogle_gemma-3-27b-it-IQ2_M.gguf\",\n            \"gemma3:4b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n            \"granite\": \"ollama:\u002F\u002Fgranite3.1-dense\",\n            \"granite-code\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n            \"granite-code:20b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-20b-code-base-8k-GGUF\u002Fgranite-20b-code-base.Q4_K_M.gguf\",\n            \"granite-code:34b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-34b-code-base-8k-GGUF\u002Fgranite-34b-code-base.Q4_K_M.gguf\",\n            \"granite-code:3b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n            \"granite-code:8b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-4k-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n            \"granite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite-lab-8b\": \"huggingface:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n            \"granite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n            \"granite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"hermes\": \"huggingface:\u002F\u002FNousResearch\u002FHermes-2-Pro-Mistral-7B-GGUF\u002FHermes-2-Pro-Mistral-7B.Q4_K_M.gguf\",\n            \"ibm\u002Fgranite\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"ibm\u002Fgranite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n            \"ibm\u002Fgranite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"ibm\u002Fgranite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"merlinite\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"mistral\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b-v1\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.1-GGUF\u002Fmistral-7b-instruct-v0.1.Q5_K_M.gguf\",\n            \"mistral:7b-v2\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b-v3\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMistral-7B-Instruct-v0.3-GGUF\u002FMistral-7B-Instruct-v0.3.Q4_K_M.gguf\",\n            \"mistral_code_16k\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Code-16K-qlora-GGUF\u002Fmistral-7b-code-16k-qlora.Q4_K_M.gguf\",\n            \"mistral_codealpaca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-codealpaca-lora-GGUF\u002Fmistral-7b-codealpaca-lora.Q4_K_M.gguf\",\n            \"mixtao\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\",\n            \"openchat\": \"huggingface:\u002F\u002FTheBloke\u002Fopenchat-3.5-0106-GGUF\u002Fopenchat-3.5-0106.Q4_K_M.gguf\",\n            \"openorca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-OpenOrca-GGUF\u002Fmistral-7b-openorca.Q4_K_M.gguf\",\n            \"phi2\": \"huggingface:\u002F\u002FMaziyarPanahi\u002Fphi-2-GGUF\u002Fphi-2.Q4_K_M.gguf\",\n            \"smollm:135m\": \"ollama:\u002F\u002Fsmollm:135m\",\n            \"tiny\": \"ollama:\u002F\u002Ftinyllama\"\n        },\n        \"Files\": [\n            \"\u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\",\n            \"\u002Fhome\u002Fdwalsh\u002F.config\u002Framalama\u002Fshortnames.conf\",\n        ]\n        },\n        \"Store\": \"\u002Fusr\u002Fshare\u002Framalama\",\n        \"UseContainer\": true,\n        \"Version\": \"0.7.5\"\n    }\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Info with Podman engine.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama info\n    ```\n    Returns for example:\n    ```\n    {\n        \"Accelerator\": \"cuda\",\n        \"Engine\": {\n        \"Info\": {\n            \"host\": {\n            \"arch\": \"amd64\",\n            \"buildahVersion\": \"1.39.4\",\n            \"cgroupControllers\": [\n                \"cpu\",\n                \"io\",\n                \"memory\",\n                \"pids\"\n            ],\n            \"cgroupManager\": \"systemd\",\n            \"cgroupVersion\": \"v2\",\n            \"conmon\": {\n                \"package\": \"conmon-2.1.13-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Fbin\u002Fconmon\",\n                \"version\": \"conmon version 2.1.13, commit: \"\n            },\n            \"cpuUtilization\": {\n                \"idlePercent\": 97.36,\n                \"systemPercent\": 0.64,\n                \"userPercent\": 2\n            },\n            \"cpus\": 32,\n            \"databaseBackend\": \"sqlite\",\n            \"distribution\": {\n                \"distribution\": \"fedora\",\n                \"variant\": \"workstation\",\n                \"version\": \"42\"\n            },\n            \"eventLogger\": \"journald\",\n            \"freeLocks\": 2043,\n            \"hostname\": \"danslaptop\",\n            \"idMappings\": {\n                \"gidmap\": [\n                {\n                    \"container_id\": 0,\n                    \"host_id\": 3267,\n                    \"size\": 1\n                },\n                {\n                    \"container_id\": 1,\n                    \"host_id\": 524288,\n                    \"size\": 65536\n                }\n                ],\n                \"uidmap\": [\n                {\n                    \"container_id\": 0,\n                    \"host_id\": 3267,\n                    \"size\": 1\n                },\n                {\n                    \"container_id\": 1,\n                    \"host_id\": 524288,\n                    \"size\": 65536\n                }\n                ]\n            },\n            \"kernel\": \"6.14.2-300.fc42.x86_64\",\n            \"linkmode\": \"dynamic\",\n            \"logDriver\": \"journald\",\n            \"memFree\": 65281908736,\n            \"memTotal\": 134690979840,\n            \"networkBackend\": \"netavark\",\n            \"networkBackendInfo\": {\n                \"backend\": \"netavark\",\n                \"dns\": {\n                \"package\": \"aardvark-dns-1.14.0-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Flibexec\u002Fpodman\u002Faardvark-dns\",\n                \"version\": \"aardvark-dns 1.14.0\"\n                },\n                \"package\": \"netavark-1.14.1-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Flibexec\u002Fpodman\u002Fnetavark\",\n                \"version\": \"netavark 1.14.1\"\n            },\n            \"ociRuntime\": {\n                \"name\": \"crun\",\n                \"package\": \"crun-1.21-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Fbin\u002Fcrun\",\n                \"version\": \"crun version 1.21\\ncommit: 10269840aa07fb7e6b7e1acff6198692d8ff5c88\\nrundir: \u002Frun\u002Fuser\u002F3267\u002Fcrun\\nspec: 1.0.0\\n+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL\"\n            },\n            \"os\": \"linux\",\n            \"pasta\": {\n                \"executable\": \"\u002Fbin\u002Fpasta\",\n                \"package\": \"passt-0^20250415.g2340bbf-1.fc42.x86_64\",\n                \"version\": \"\"\n            },\n            \"remoteSocket\": {\n                \"exists\": true,\n                \"path\": \"\u002Frun\u002Fuser\u002F3267\u002Fpodman\u002Fpodman.sock\"\n            },\n            \"rootlessNetworkCmd\": \"pasta\",\n            \"security\": {\n                \"apparmorEnabled\": false,\n                \"capabilities\": \"CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT\",\n                \"rootless\": true,\n                \"seccompEnabled\": true,\n                \"seccompProfilePath\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fseccomp.json\",\n                \"selinuxEnabled\": true\n            },\n            \"serviceIsRemote\": false,\n            \"slirp4netns\": {\n                \"executable\": \"\u002Fbin\u002Fslirp4netns\",\n                \"package\": \"slirp4netns-1.3.1-2.fc42.x86_64\",\n                \"version\": \"slirp4netns version 1.3.1\\ncommit: e5e368c4f5db6ae75c2fce786e31eef9da6bf236\\nlibslirp: 4.8.0\\nSLIRP_CONFIG_VERSION_MAX: 5\\nlibseccomp: 2.5.5\"\n            },\n            \"swapFree\": 8589930496,\n            \"swapTotal\": 8589930496,\n            \"uptime\": \"116h 35m 40.00s (Approximately 4.83 days)\",\n            \"variant\": \"\"\n            },\n            \"plugins\": {\n            \"authorization\": null,\n            \"log\": [\n                \"k8s-file\",\n                \"none\",\n                \"passthrough\",\n                \"journald\"\n            ],\n            \"network\": [\n                \"bridge\",\n                \"macvlan\",\n                \"ipvlan\"\n            ],\n            \"volume\": [\n                \"local\"\n            ]\n            },\n            \"registries\": {\n            \"search\": [\n                \"registry.fedoraproject.org\",\n                \"registry.access.redhat.com\",\n                \"docker.io\"\n            ]\n            },\n            \"store\": {\n            \"configFile\": \"\u002Fhome\u002Fdwalsh\u002F.config\u002Fcontainers\u002Fstorage.conf\",\n            \"containerStore\": {\n                \"number\": 5,\n                \"paused\": 0,\n                \"running\": 0,\n                \"stopped\": 5\n            },\n            \"graphDriverName\": \"overlay\",\n            \"graphOptions\": {},\n            \"graphRoot\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fstorage\",\n            \"graphRootAllocated\": 2046687182848,\n            \"graphRootUsed\": 399990419456,\n            \"graphStatus\": {\n                \"Backing Filesystem\": \"btrfs\",\n                \"Native Overlay Diff\": \"true\",\n                \"Supports d_type\": \"true\",\n                \"Supports shifting\": \"false\",\n                \"Supports volatile\": \"true\",\n                \"Using metacopy\": \"false\"\n            },\n            \"imageCopyTmpDir\": \"\u002Fvar\u002Ftmp\",\n            \"imageStore\": {\n                \"number\": 297\n            },\n            \"runRoot\": \"\u002Frun\u002Fuser\u002F3267\u002Fcontainers\",\n            \"transientStore\": false,\n            \"volumePath\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fstorage\u002Fvolumes\"\n            },\n            \"version\": {\n            \"APIVersion\": \"5.4.2\",\n            \"BuildOrigin\": \"Fedora Project\",\n            \"Built\": 1743552000,\n            \"BuiltTime\": \"Tue Apr  1 19:00:00 2025\",\n            \"GitCommit\": \"be85287fcf4590961614ee37be65eeb315e5d9ff\",\n            \"GoVersion\": \"go1.24.1\",\n            \"Os\": \"linux\",\n            \"OsArch\": \"linux\u002Famd64\",\n            \"Version\": \"5.4.2\"\n            }\n        },\n        \"Name\": \"podman\"\n        },\n        \"Image\": \"quay.io\u002Framalama\u002Fcuda:0.7\",\n        \"Inference\": {\n            \"Default\": \"llama.cpp\",\n            \"Engines\": {\n                \"llama.cpp\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fllama.cpp.yaml\",\n                \"mlx\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fmlx.yaml\",\n                \"vllm\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fvllm.yaml\"\n            },\n            \"Schema\": {\n                \"1-0-0\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fschema\u002Fschema.1-0-0.json\"\n            }\n        },\n        \"Shortnames\": {\n            \"Names\": {\n                \"cerebrum\": \"huggingface:\u002F\u002Ffroggeric\u002FCerebrum-1.0-7b-GGUF\u002FCerebrum-1.0-7b-Q4_KS.gguf\",\n                \"deepseek\": \"ollama:\u002F\u002Fdeepseek-r1\",\n                \"dragon\": \"huggingface:\u002F\u002Fllmware\u002Fdragon-mistral-7b-v0\u002Fdragon-mistral-7b-q4_k_m.gguf\",\n                \"gemma3\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n                \"gemma3:12b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-12b-it-GGUF\u002Fgoogle_gemma-3-12b-it-IQ2_M.gguf\",\n                \"gemma3:1b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-1b-it-GGUF\u002Fgoogle_gemma-3-1b-it-IQ2_M.gguf\",\n                \"gemma3:27b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-27b-it-GGUF\u002Fgoogle_gemma-3-27b-it-IQ2_M.gguf\",\n                \"gemma3:4b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n                \"granite\": \"ollama:\u002F\u002Fgranite3.1-dense\",\n                \"granite-code\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n                \"granite-code:20b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-20b-code-base-8k-GGUF\u002Fgranite-20b-code-base.Q4_K_M.gguf\",\n                \"granite-code:34b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-34b-code-base-8k-GGUF\u002Fgranite-34b-code-base.Q4_K_M.gguf\",\n                \"granite-code:3b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n                \"granite-code:8b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-4k-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n                \"granite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite-lab-8b\": \"huggingface:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n                \"granite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n                \"granite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"hermes\": \"huggingface:\u002F\u002FNousResearch\u002FHermes-2-Pro-Mistral-7B-GGUF\u002FHermes-2-Pro-Mistral-7B.Q4_K_M.gguf\",\n                \"ibm\u002Fgranite\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"ibm\u002Fgranite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n                \"ibm\u002Fgranite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"ibm\u002Fgranite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"merlinite\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"mistral\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b-v1\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.1-GGUF\u002Fmistral-7b-instruct-v0.1.Q5_K_M.gguf\",\n                \"mistral:7b-v2\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b-v3\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMistral-7B-Instruct-v0.3-GGUF\u002FMistral-7B-Instruct-v0.3.Q4_K_M.gguf\",\n                \"mistral_code_16k\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Code-16K-qlora-GGUF\u002Fmistral-7b-code-16k-qlora.Q4_K_M.gguf\",\n                \"mistral_codealpaca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-codealpaca-lora-GGUF\u002Fmistral-7b-codealpaca-lora.Q4_K_M.gguf\",\n                \"mixtao\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\",\n                \"openchat\": \"huggingface:\u002F\u002FTheBloke\u002Fopenchat-3.5-0106-GGUF\u002Fopenchat-3.5-0106.Q4_K_M.gguf\",\n                \"openorca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-OpenOrca-GGUF\u002Fmistral-7b-openorca.Q4_K_M.gguf\",\n                \"phi2\": \"huggingface:\u002F\u002FMaziyarPanahi\u002Fphi-2-GGUF\u002Fphi-2.Q4_K_M.gguf\",\n                \"smollm:135m\": \"ollama:\u002F\u002Fsmollm:135m\",\n                \"tiny\": \"ollama:\u002F\u002Ftinyllama\"\n            },\n            \"Files\": [\n                \"\u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\",\n                \"\u002Fhome\u002Fdwalsh\u002F.config\u002Framalama\u002Fshortnames.conf\",\n            ]\n        },\n        \"Store\": \"\u002Fusr\u002Fshare\u002Framalama\",\n        \"UseContainer\": true,\n        \"Version\": \"0.7.5\"\n    }\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Using jq to print specific `ramalama info` content.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama info |  jq .Shortnames.Names.mixtao\n    ```\n    Returns for example:\n    ```\n   \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\"\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-inspect`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-inspect.1.md)\n#### Inspect the specified AI Model.\n- \u003Cdetails>\n    \u003Csummary>\n        Inspect the smollm:135m model for basic information.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama inspect smollm:135m\n    ```\n    Returns for example:\n    ```\n    smollm:135m\n       Path: \u002Fvar\u002Flib\u002Framalama\u002Fmodels\u002Follama\u002Fsmollm:135m\n       Registry: ollama\n       Format: GGUF\n       Version: 3\n       Endianness: little\n       Metadata: 39 entries\n       Tensors: 272 entries\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Inspect the smollm:135m model for all information in json format.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama inspect smollm:135m --all --json\n    ```\n    Returns for example:\n    ```\n    {\n        \"Name\": \"smollm:135m\",\n        \"Path\": \"\u002Fhome\u002Fmengel\u002F.local\u002Fshare\u002Framalama\u002Fmodels\u002Follama\u002Fsmollm:135m\",\n        \"Registry\": \"ollama\",\n        \"Format\": \"GGUF\",\n        \"Version\": 3,\n        \"LittleEndian\": true,\n        \"Metadata\": {\n        \"general.architecture\": \"llama\",\n        \"general.base_model.0.name\": \"SmolLM 135M\",\n        \"general.base_model.0.organization\": \"HuggingFaceTB\",\n        \"general.base_model.0.repo_url\": \"https:\u002F\u002Fhuggingface.co\u002FHuggingFaceTB\u002FSmolLM-135M\",\n        ...\n        },\n        \"Tensors\": [\n        {\n            \"dimensions\": [\n            576,\n            49152\n            ],\n            \"n_dimensions\": 2,\n            \"name\": \"token_embd.weight\",\n            \"offset\": 0,\n            \"type\": 8\n        },\n        ...\n        ]\n    }\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-list`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-list.1.md)\n#### List all downloaded AI Models.\n- \u003Cdetails>\n    \u003Csummary>\n        You can `list` all models pulled into local storage.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama list\n    ```\n    Returns for example:\n    ```\n    NAME                                                                    MODIFIED      SIZE\n    ollama:\u002F\u002Fsmollm:135m                                                    16 hours ago  5.5M\n    huggingface:\u002F\u002Fafrideva\u002FTiny-Vicuna-1B-GGUF\u002Ftiny-vicuna-1b.q2_k.gguf     14 hours ago  460M\n    ollama:\u002F\u002Fmoondream:latest                                               6 days ago    791M\n    ollama:\u002F\u002Fphi4:latest                                                    6 days ago    8.43 GB\n    ollama:\u002F\u002Ftinyllama:latest                                               1 week ago    608.16 MB\n    ollama:\u002F\u002Fgranite3-moe:3b                                                1 week ago    1.92 GB\n    ollama:\u002F\u002Fgranite3-moe:latest                                            3 months ago  1.92 GB\n    ollama:\u002F\u002Fllama3.1:8b                                                    2 months ago  4.34 GB\n    ollama:\u002F\u002Fllama3.1:latest                                                2 months ago  4.34 GB\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-login`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-login.1.md)\n#### Log in to a remote registry.\n- \u003Cdetails>\n    \u003Csummary>\n        Log in to quay.io\u002Fusername oci registry\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=quay.io\u002Fusername\n    $ ramalama login -u username\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Log in to Ollama registry\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=ollama\n    $ ramalama login\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Log in to huggingface registry\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=huggingface\n    $ ramalama login --token=XYZ\n    ```\n\n    Logging in to Hugging Face requires the `hf tool`. For installation and usage instructions, see the documentation of the [Hugging Face command line interface](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhuggingface_hub\u002Fen\u002Fguides\u002Fcli).\n\u003C\u002Fdetails>\n\n### [`ramalama-logout`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-logout.1.md)\n#### Log out of a remote registry.\n- \u003Cdetails>\n    \u003Csummary>\n        Log out from quay.io\u002Fusername oci repository\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout quay.io\u002Fusername\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Log out from Ollama registry\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout ollama\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Log out from huggingface\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout huggingface\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-perplexity`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-perplexity.1.md)\n#### Calculate perplexity for the specified AI Model.\n- \u003Cdetails>\n    \u003Csummary>\n        Calculate the perplexity of an AI Model.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    Perplexity measures how well the model can predict the next token with lower values being better\n    ```\n    $ ramalama perplexity granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-pull`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-pull.1.md)\n#### Pull the AI Model from the Model registry to local storage.\n- \u003Cdetails>\n    \u003Csummary>\n        Pull a model\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    You can `pull` a model using the `pull` command. By default, it pulls from the \u003Ca href=\"https:\u002F\u002Follama.com\u002Flibrary\">Ollama registry\u003C\u002Fa>.\n    ```\n    $ ramalama pull granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n\n### [`ramalama-push`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-push.1.md)\n#### Push the AI Model from local storage to a remote registry.\n- \u003Cdetails>\n    \u003Csummary>\n        Push specified AI Model (OCI-only at present)\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    A model can  from RamaLama model storage in Huggingface, Ollama, or OCI Model format. The model can also just be a model stored on disk\n    ```\n    $ ramalama push oci:\u002F\u002Fquay.io\u002Frhatdan\u002Ftiny:latest\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-rag`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rag.1.md)\n#### Generate and convert Retrieval Augmented Generation (RAG) data from provided documents into an OCI Image.\n\n>[!NOTE]\n> this command does not work without a container engine.\n\n- \u003Cdetails>\n    \u003Csummary>\n        Generate RAG data from provided documents and convert into an OCI Image.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    This command uses a specific container image containing the docling tool to convert the specified content into a RAG vector database. If the image does not exist locally, RamaLama will pull the image down and launch a container to process the data.\n\n    **Positional arguments:**\n\n    PATH Files\u002FDirectory containing PDF, DOCX, PPTX, XLSX, HTML, AsciiDoc & Markdown formatted files to be processed. Can be specified multiple times.\n\n    IMAGE OCI Image name to contain processed rag data\n\n    ```\n    ramalama rag .\u002FREADME.md https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman\u002Fblob\u002Fmain\u002FREADME.md quay.io\u002Framalama\u002Fmyrag\n    100% |███████████████████████████████████████████████████████|  114.00 KB\u002F    0.00 B 922.89 KB\u002Fs   59m 59s\n    Building quay.io\u002Framalama\u002Fmyrag...\n    adding vectordb...\n    c857ebc65c641084b34e39b740fdb6a2d9d2d97be320e6aa9439ed0ab8780fe0\n    ```\n\n    The image can then be used with:\n\n    ```\n    ramalama run --rag quay.io\u002Framalama\u002Fmyrag instructlab\u002Fmerlinite-7b-lab\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-rm`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rm.1.md)\n#### Remove the AI Model from local storage.\n- \u003Cdetails>\n    \u003Csummary>\n        Specify one or more AI Models to be removed from local storage.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama rm ollama:\u002F\u002Ftinyllama\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Remove all AI Models from local storage.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama rm --all\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-run`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-run.1.md)\n#### Run the specified AI Model as a chatbot.\n\n- \u003Cdetails>\n    \u003Csummary>\n        Run a chatbot on a model using the run command. By default, it pulls from the \u003Ca href=\"https:\u002F\u002Follama.com\u002Flibrary\">Ollama registry\u003C\u002Fa>.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    Note: RamaLama will inspect your machine for native GPU support and then will use a container engine like Podman to pull an OCI container image with the appropriate code and libraries to run the AI Model. This can take a long time to setup, but only on the first run.\n\n    ```\n    $ ramalama run instructlab\u002Fmerlinite-7b-lab\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        After the initial container image has been downloaded, you can interact with different models using the container image.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama run granite3-moe\n    ```\n    Returns for example:\n    ```\n    > Write a hello world application in python\n\n    print(\"Hello World\")\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        In a different terminal window see the running podman container.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ podman ps\n    CONTAINER ID  IMAGE                             COMMAND               CREATED        STATUS        PORTS       NAMES\n    91df4a39a360  quay.io\u002Framalama\u002Framalama:latest  \u002Fhome\u002Fdwalsh\u002Frama...  4 minutes ago  Up 4 minutes              gifted_volhard\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-serve`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-serve.1.md)\n#### Serve REST API on the specified AI Model.\n- \u003Cdetails>\n    \u003Csummary>\n        Serve a model and connect via a browser.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve llama3\n    ```\n    When the web UI is enabled, you can connect via your browser at: 127.0.0.1:\u003C port >\n    The default serving port will be 8080 if available, otherwise a free random port in the range 8081-8090. If you wish, you can specify a port to use with --port\u002F-p.\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Run two AI Models at the same time. Notice both are running within Podman Containers.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve -d -p 8080 --name mymodel ollama:\u002F\u002Fsmollm:135m\n    09b0e0d26ed28a8418fb5cd0da641376a08c435063317e89cf8f5336baf35cfa\n\n    $ ramalama serve -d -n example --port 8081 oci:\u002F\u002Fquay.io\u002Fmmortari\u002Fgguf-py-example\u002Fv1\u002Fexample.gguf\n    3f64927f11a5da5ded7048b226fbe1362ee399021f5e8058c73949a677b6ac9c\n\n    $ podman ps\n    CONTAINER ID  IMAGE                             COMMAND               CREATED         STATUS         PORTS                   NAMES\n    09b0e0d26ed2  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  32 seconds ago  Up 32 seconds  0.0.0.0:8081->8081\u002Ftcp  ramalama_sTLNkijNNP\n    3f64927f11a5  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  17 seconds ago  Up 17 seconds  0.0.0.0:8082->8082\u002Ftcp  ramalama_YMPQvJxN97\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        To disable the web UI, use the `--webui` off flag.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve --webui off llama3\n    ```\n\u003C\u002Fdetails>\n\n\n\n### [`ramalama-stop`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-stop.1.md)\n#### Stop the named container that is running the AI Model.\n- \u003Cdetails>\n    \u003Csummary>\n        Stop a running model if it is running in a container.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama stop mymodel\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        Stop all running models running in containers.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama stop --all\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-version`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-version.1.md)\n#### Display version of RamaLama.\n- \u003Cdetails>\n    \u003Csummary>\n        Print the version of RamaLama.\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama version\n    ```\n    Returns for example:\n    ```\n    ramalama version 1.2.3\n    ```\n\u003C\u002Fdetails>\n\n### Appendix\n\n| Command                                                | Description                                                |\n| ------------------------------------------------------ | ---------------------------------------------------------- |\n| [ramalama(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama.1.md)                      | primary RamaLama man page                                  |\n| [ramalama-bench(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-bench.1.md)| benchmark specified AI Model                                         |\n| [ramalama-chat(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-chat.1.md)| chat with specified OpenAI REST API                        |\n| [ramalama-containers(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-containers.1.md)| list all RamaLama containers                               |\n| [ramalama-convert(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-convert.1.md)      | convert AI Model from local storage to OCI Image           |\n| [ramalama-info(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-info.1.md)            | display RamaLama configuration information                 |\n| [ramalama-inspect(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-inspect.1.md)      | inspect the specified AI Model                             |\n| [ramalama-list(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-list.1.md)            | list all downloaded AI Models                              |\n| [ramalama-login(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-login.1.md)          | login to remote registry                                   |\n| [ramalama-logout(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-logout.1.md)        | logout from remote registry                                |\n| [ramalama-perplexity(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-perplexity.1.md)| calculate perplexity for specified AI Model                |\n| [ramalama-pull(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-pull.1.md)            | pull AI Model from Model registry to local storage         |\n| [ramalama-push(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-push.1.md)            | push AI Model from local storage to remote registry        |\n| [ramalama-rag(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rag.1.md)              | generate and convert Retrieval Augmented Generation (RAG) data from provided documents into an OCI Image|\n| [ramalama-rm(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rm.1.md)                | remove AI Model from local storage                         |\n| [ramalama-run(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-run.1.md)              | run specified AI Model as a chatbot                        |\n| [ramalama-serve(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-serve.1.md)          | serve REST API on specified AI Model                       |\n| [ramalama-stop(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-stop.1.md)            | stop named container that is running AI Model              |\n| [ramalama-version(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-version.1.md)      | display version of RamaLama\n\u003Cbr>\n\n\n## Diagram\n\n```\n+---------------------------+\n|                           |\n| ramalama run granite3-moe |\n|                           |\n+-------+-------------------+\n    |\n    |\n    |           +------------------+           +------------------+\n    |           | Pull inferencing |           | Pull model layer |\n    +-----------| runtime (cuda)   |---------->| granite3-moe     |\n                +------------------+           +------------------+\n                           | Repo options:    |\n                           +-+-------+------+-+\n                             |       |      |\n                             v       v      v\n                         +---------+ +------+ +----------+\n                         | Hugging | | OCI  | | Ollama   |\n                         | Face    | |      | | Registry |\n                         +-------+-+ +---+--+ +-+--------+\n                             |       |      |\n                             v       v      v\n                           +------------------+\n                           | Start with       |\n                           | cuda runtime     |\n                           | and              |\n                           | granite3-moe     |\n                           +------------------+\n```\n\n## In development\n\nRegarding this alpha, everything is under development, so expect breaking changes. If you need to reset your installation, see the [Uninstall](#uninstall) section above for instructions on removing RamaLama and cleaning up all data files, then reinstall.\n\n## Known Issues\n\n- On certain versions of Python on macOS, certificates may not installed correctly, potentially causing SSL errors (e.g., when accessing huggingface.co). To resolve this, run the `Install Certificates` command, typically as follows:\n\n```\n\u002FApplications\u002FPython 3.x\u002FInstall Certificates.command\n```\n\n## Credit where credit is due\n\nThis project wouldn't be possible without the help of other projects like:\n\n- [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp)\n- [vllm](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm)\n- [mlx-lm](https:\u002F\u002Fgithub.com\u002Fml-explore\u002Fmlx-examples)\n- [podman](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman)\n- [huggingface](https:\u002F\u002Fgithub.com\u002Fhuggingface)\n\nso if you like this tool, give some of these repos a :star:, and hey, give us a :star: too while you are at it.\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#containers\u002Framalama&type=date&legend=top-left\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=containers\u002Framalama&type=date&theme=dark&legend=top-left\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_5cafb11df72b.png\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_5cafb11df72b.png\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## Community\n\nFor general questions and discussion, please use RamaLama's\n\n[`Matrix`](https:\u002F\u002Fmatrix.to\u002F#\u002F#ramalama:fedoraproject.org)\n\nFor discussions around issues\u002Fbugs and features, you can use the GitHub\n[Issues](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues)\nand\n[PRs](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpulls)\ntracking system.\n\n### Community \u002F Developer Meetups\n\nWe host a public community and developer meetup on Discord every other week to discuss project direction and provide an open forum for users to get help, ask questions, and showcase new features.\n\n[**Join on Discord**](https:\u002F\u002Fdiscord.gg\u002FMkCXuTRBUn)\n[**Meeting Agenda**](https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1wiqn7ItKgc8BgyTUQ46eeY23ms_hWbkhAoiP9D1ClfY\u002Fedit?tab=t.0#heading=h.b1x47hb6d0pt)\n\n## Roadmap\n\nSee the full [Roadmap](.\u002FRoadmap.md).\n\n## Contributors\n\nOpen to contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_e318396f2637.png\" \u002F>\n\u003C\u002Fa>\n","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_c236e58ec9bf.png\" width=50%>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"未解决的问题\"\u002F>\n  \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"许可证\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Ftop\u002Fcontainers\u002Framalama?style=flat-square\" height=\"22\" alt=\"主要编程语言\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Framalama?style=flat-square\" height=\"22\" alt=\"PyPI版本\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Framalama?style=flat-square\" height=\"22\" alt=\"支持的Python版本\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FMkCXuTRBUn\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1388199960503128165?style=flat-square&logo=discord&label=discord\" height=\"22\" alt=\"加入Discord\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmatrix.to\u002F#\u002F#ramalama:fedoraproject.org\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmatrix-join-blue?style=flat-square&logo=matrix\" height=\"22\" alt=\"加入Matrix\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\u003C!-- \u003Ch3 align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.ramalama.com\u002F\">文档\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fdiscussions\" title=\"社区页面\">讨论\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fblog.ramalama.com\" title=\"RamaLama博客\">博客\u003C\u002Fa>\n\u003C\u002Fh3> -->\n\n\n\n[RamaLama](https:\u002F\u002Framalama.ai) 致力于通过使用 OCI 容器，让 AI 的使用变得简单、直接且熟悉。\n\u003Cbr>\n\u003Cbr>\n\n## 描述\nRamaLama 是一款开源工具，它通过熟悉的容器化方式，简化了从任何来源进行推理的 AI 模型的本地使用和部署。它使工程师能够将以容器为中心的开发模式及其优势扩展到 AI 场景中。\n\nRamaLama 无需配置宿主机系统，而是会拉取与宿主机上检测到的 GPU 相匹配的容器镜像，从而允许用户处理各种模型和平台。\n\n- 消除了用户为 AI 配置宿主机系统的复杂性。\n- 自动检测并拉取与宿主机 GPU 匹配的[加速容器镜像](#accelerated-images)，处理依赖关系和硬件优化。\n- RamaLama 支持多种[AI 模型仓库](#transports)，包括 OCI 容器注册表。\n- 模型的管理方式与 Podman 和 Docker 管理容器镜像的方式类似。\n- 使用常见的[容器命令](#commands)来操作 AI 模型。\n- 在无特权容器中[安全地](#security)运行 AI 模型，将模型与底层宿主机隔离。\n- 默认不访问网络，并在应用程序退出时删除所有临时数据，从而确保数据安全。\n- 可以通过 REST API 或聊天机器人与模型交互。\n\u003Cbr>\n\n## 安装\n### 在 macOS 上安装（自包含安装程序）\n下载包含 Python 和所有依赖项的自包含 macOS 安装程序：\n\n1. 从 [Releases](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Freleases) 下载最新的 `.pkg` 安装包。\n2. 双击安装，或运行：`sudo installer -pkg RamaLama-*-macOS-Installer.pkg -target \u002F`\n\n详细说明请参阅 [macOS 安装指南](docs\u002FMACOS_INSTALL.md)。\n\n### 在 Fedora 上安装\nRamaLama 已在 [Fedora](https:\u002F\u002Ffedoraproject.org\u002F) 及更高版本中提供。要安装它，请运行：\n```\nsudo dnf install ramalama\n```\n\n### Fedora Silverblue 和 Toolbox\n在 [Fedora Silverblue](https:\u002F\u002Fdocs.fedoraproject.org\u002Fen-US\u002Ffedora-silverblue\u002F) 和其他不可变发行版上，系统是只读的。您可以通过以下两种方式运行 RamaLama：\n\n- **Toolbox**：创建一个 [Toolbox](https:\u002F\u002Fdocs.fedoraproject.org\u002Fen-US\u002Ffedora-silverblue\u002Ftoolbox\u002F) 容器，并在其内安装 RamaLama（`pip install ramalama` 或 `dnf install ramalama`，如果可用）。使用宿主机上的 Podman（或 Docker），以便 RamaLama 能够启动模型容器；确保容器引擎已安装，并且 toolbox 能够访问宿主机的容器引擎（例如，通过绑定挂载套接字，或配置 toolbox 使用宿主机的 `podman` 命令）。\n- **宿主机安装或具有宿主机访问权限的 Toolbox**：如果您的镜像支持该软件包，可通过 `rpm-ostree install ramalama` 在宿主机上安装 RamaLama；或者在 toolbox 中运行 RamaLama，确保 Podman\u002FDocker 可用，并且模型存储位于可写位置（例如，您的主目录）。\n\n模型存储默认位于 `~\u002F.local\u002Fshare\u002Framalama`，在 Silverblue 上是可写的。\n\n### 通过 PyPI 安装\nRamaLama 可通过 PyPI 获取，地址为 [https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama](https:\u002F\u002Fpypi.org\u002Fproject\u002Framalama)：\n```\npip install ramalama\n```\n\n### 安装脚本（Linux 和 macOS）\n通过运行以下命令安装 RamaLama：\n```\ncurl -fsSL https:\u002F\u002Framalama.ai\u002Finstall.sh | bash\n```\n\n### 在 Windows 上安装\nRamaLama 支持 Windows 平台，需配合 Docker Desktop 或 Podman Desktop 使用：\n```powershell\npip install ramalama\n```\n\n**要求：**\n- Python 3.10 或更高版本\n- Docker Desktop 或 Podman Desktop，且后端为 WSL2\n- 如需 GPU 支持，请参阅 [WSL2 的 NVIDIA GPU 设置](docs\u002Freadme\u002Fwsl2-docker-cuda.md)\n\n**注意**：Windows 支持需要通过 Docker\u002FPodman 运行容器。模型存储使用硬链接（无需管理员权限），若硬链接不可用，则回退到文件复制。\n\n## 卸载\n\n### 通过 pip 卸载\n如果您使用 pip 安装了 RamaLama，可以使用以下命令卸载：\n```bash\npip uninstall ramalama\n```\n\n### 在 Fedora 上卸载\n如果您使用 DNF 安装了 RamaLama：\n```bash\nsudo dnf remove ramalama\n```\n\n### 在 macOS 上卸载（自包含安装程序）\n若您通过 `.pkg` 安装程序安装了 RamaLama，可按如下步骤卸载：\n```bash\n# 删除可执行文件\nsudo rm \u002Fusr\u002Flocal\u002Fbin\u002Framalama\n\n# 删除配置和数据文件\nsudo rm -rf \u002Fusr\u002Flocal\u002Fshare\u002Framalama\n\n# 删除手册页（可选）\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman1\u002Framalama*.1\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman5\u002Framalama*.5\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman7\u002Framalama*.7\n\n# 删除 shell 补全文件（可选）\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fbash-completion\u002Fcompletions\u002Framalama\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Ffish\u002Fvendor_completions.d\u002Framalama.fish\nsudo rm \u002Fusr\u002Flocal\u002Fshare\u002Fzsh\u002Fsite-functions\u002F_ramalama\n```\n\n更多详情请参阅 [macOS 安装指南](docs\u002FMACOS_INSTALL.md)。\n\n### 清除用户数据和配置\n无论使用上述哪种方法卸载 RamaLama 后，您可能还需要清除已下载的模型和配置文件：\n```bash\n# 删除已下载的模型和数据（可能占用大量空间）\nrm -rf -- \"${XDG_DATA_HOME:-~\u002F.local\u002Fshare}\u002Framalama\"\n\n# 删除配置文件\nrm -rf -- \"${XDG_CONFIG_HOME:-~\u002F.config}\u002Framalama\"\n```\n\n# 如果您以 root 用户身份运行 RamaLama，还需删除：\nsudo rm -rf \u002Fvar\u002Flib\u002Framalama\n```\n\n**注意：** 模型数据目录（默认为 `~\u002F.local\u002Fshare\u002Framalama`）可能会非常大，具体取决于您下载了多少模型。在执行上述命令之前，请确保您确实希望删除这些文件。\n\n## 加速镜像\n\n| 加速器                       | 镜像                      |\n| :---------------------------------| :------------------------- |\n|  GGML_VK_VISIBLE_DEVICES (或 CPU) | quay.io\u002Framalama\u002Framalama  |\n|  HIP_VISIBLE_DEVICES              | quay.io\u002Framalama\u002Frocm      |\n|  CUDA_VISIBLE_DEVICES             | quay.io\u002Framalama\u002Fcuda      |\n|  ASAHI_VISIBLE_DEVICES            | quay.io\u002Framalama\u002Fasahi     |\n|  INTEL_VISIBLE_DEVICES            | quay.io\u002Framalama\u002Fintel-gpu |\n|  ASCEND_VISIBLE_DEVICES           | quay.io\u002Framalama\u002Fcann      |\n|  MUSA_VISIBLE_DEVICES             | quay.io\u002Framalama\u002Fmusa      |\n\n### GPU 支持检测\n首次运行时，RamaLama 会检查您的系统是否支持 GPU；如果未检测到 GPU，则会回退到 CPU。RamaLama 使用 Podman 或 Docker 等容器引擎来拉取适合您系统配置的 OCI 镜像，其中包含运行 AI 模型所需的所有软件。\n\n\u003Cdetails>\n\u003Csummary>\nRamaLama 如何选择合适的镜像？\n\u003C\u002Fsummary>\n\u003Cbr>\n\n初始化完成后，RamaLama 会在基于 OCI 镜像的容器内运行 AI 模型。RamaLama 会根据您系统中检测到的 GPU 拉取特定的容器镜像，这些镜像与 RamaLama 的次版本号绑定。\n- 例如，在 NVIDIA 系统上运行 RamaLama 1.2.3 时，会拉取 quay.io\u002Framalama\u002Fcuda:1.2。若要覆盖默认镜像，可以使用 `--image` 选项。\n\n随后，RamaLama 会从模型仓库中拉取 AI 模型，并通过一条简单的命令启动聊天机器人或 REST API 服务。模型的处理方式与 Podman 和 Docker 处理容器镜像的方式类似。\n\u003C\u002Fdetails>\n\u003Cbr>\n\n## 硬件支持\n\n| 硬件                           | 已启用                     |\n| :--------------------------------- | :-------------------------: |\n| CPU                                | &check;                     |\n| Apple Silicon GPU（Linux \u002F Asahi）  | &check;                     |\n| Apple Silicon GPU（macOS）          | &check; llama.cpp 或 MLX    |\n| Apple Silicon GPU（podman-machine） | &check;                     |\n| Nvidia GPU（cuda）                  | &check; 请参阅下方说明      |\n| AMD GPU（rocm、vulkan）             | &check;                     |\n| Ascend NPU（Linux）                 | &check;                     |\n| Intel ARC GPUs（Linux）             | &check; 请参阅下方说明      |\n| Intel GPUs（vulkan \u002F Linux）        | &check;                     |\n| Moore Threads GPU（musa \u002F Linux）   | &check; 请参阅下方说明      |\n| Windows（配合 Docker\u002FPodman）       | &check; 需要 WSL2       |\n\n### Nvidia GPUs\n在配备 NVIDIA GPU 的系统上，请参阅 [ramalama-cuda](docs\u002Framalama-cuda.7.md) 文档，了解正确的主机系统配置。\n\n### Intel GPUs\n以下 Intel GPU 将由 RamaLama 自动检测：\n\n| GPU ID  | 描述                        |\n| :------ | :--------------------------------- |\n|`0xe20b` | Intel® Arc™ B580 Graphics          |\n|`0xe20c` | Intel® Arc™ B570 Graphics          |\n|`0x7d51` | Intel® Graphics - Arrow Lake-H     |\n|`0x7dd5` | Intel® Graphics - Meteor Lake      |\n|`0x7d55` | Intel® Arc™ Graphics - Meteor Lake |\n\n更多信息请参阅 [Intel 硬件表](https:\u002F\u002Fdgpu-docs.intel.com\u002Fdevices\u002Fhardware-table.html)。\n\u003Cbr>\n\u003Cbr>\n\n### Moore Threads GPUs\n在配备 Moore Threads GPU 的系统上，请参阅 [ramalama-musa](docs\u002Framalama-musa.7.md) 文档，了解正确的主机系统配置。\n\n### MLX 运行时（仅限 macOS）\nMLX 运行时为 Apple Silicon Mac 提供优化的推理能力。MLX 需要：\n- macOS 操作系统\n- Apple Silicon 硬件（M1、M2、M3 或更高版本）\n- 必须使用 `--nocontainer` 选项（不支持容器）\n- 主机系统上已安装 `mlx-lm` uv 包作为 uv 工具\n\n要在 MLX 上安装并运行 Phi-4，请使用 `uv`。如果尚未安装 `uv`，可以通过以下命令进行安装：`curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh`：\n```bash\nuv tool install mlx-lm\n# 或升级到最新版本：\nuv tool upgrade mlx-lm\n\nramalama --runtime=mlx serve hf:\u002F\u002Fmlx-community\u002FUnsloth-Phi-4-4bit\n```\n\n#### 默认容器引擎\n当同时安装了 Podman 和 Docker 时，RamaLama 默认使用 Podman。可通过设置环境变量 `RAMALAMA_CONTAINER_ENGINE=docker` 来覆盖此行为。如果两者均未安装，RamaLama 将尝试在本地系统上直接运行模型。\n\u003Cbr>\n\u003Cbr>\n\n## 安全性\n\n### 更安全地测试和运行您的模型\n由于 RamaLama 默认使用 Podman 或 Docker 在无根容器中运行 AI 模型，这些容器可将 AI 模型与底层主机上的信息隔离开来。在 RamaLama 容器中，AI 模型以只读模式挂载为卷。\n\n这使得运行模型的进程（llama.cpp 或 vLLM）与主机完全隔离。此外，由于 `ramalama run` 使用了 `--network=none` 选项，容器无法访问网络，从而防止任何信息泄露到系统外部。最后，容器以 `--rm` 选项运行，这意味着在应用程序退出时，容器内写入的所有内容都会被删除。\n\n### RamaLama 如何提供强大的安全保护：\n- **容器隔离** – AI 模型在隔离的容器中运行，防止直接访问主机系统。\n- **只读卷挂载** – AI 模型以只读模式挂载，因此容器内的进程无法修改主机文件。\n- **无网络访问** – `ramalama run` 使用 `--network=none` 选项，模型没有出站连接，不会泄露任何信息。\n- **自动清理** – 容器以 `--rm` 选项运行，会话结束后所有临时数据都会被清除。\n- **丢弃所有 Linux 能力** – 不允许访问 Linux 能力来攻击底层主机。\n- **禁止新增权限** – Linux 内核功能，可阻止容器进程获得额外权限。\n\u003Cbr>\n\n\n## 传输方式\nRamaLama 支持多种称为“传输方式”的 AI 模型注册中心类型。\n\n### 支持的传输方式\n\n| 传输方式               | 网站                                            |\n| :-------------           | :--------------------------------------------------- |\n| HuggingFace              | [`huggingface.co`](https:\u002F\u002Fwww.huggingface.co)       |\n| ModelScope               | [`modelscope.cn`](https:\u002F\u002Fwww.modelscope.cn)         |\n| Ollama                   | [`ollama.com`](https:\u002F\u002Fwww.ollama.com)               |\n| RamaLama 实验室容器注册表 | [`ramalama.com`](https:\u002F\u002Fregistry.ramalama.com) |\n| OCI 容器注册表           | [`opencontainers.org`](https:\u002F\u002Fopencontainers.org)   |\n|                          |示例：[`quay.io`](https:\u002F\u002Fquay.io)、[`Docker Hub`](https:\u002F\u002Fdocker.io)、[`Pulp`](https:\u002F\u002Fpulpproject.org) 和 [`Artifactory`](https:\u002F\u002Fjfrog.com\u002Fartifactory\u002F)|\n\n### 默认传输方式\nRamaLama 默认使用 Ollama 注册表传输方式。\n\n\u003Cdetails>\n\u003Csummary>\n如何更改传输方式。\n\u003C\u002Fsummary>\n\u003Cbr>\n\n使用 `RAMALAMA_TRANSPORT` 环境变量来修改默认设置。例如，`export RAMALAMA_TRANSPORT=huggingface` 将使 RamaLama 使用 HuggingFace 传输方式。\n\n在指定模型时，可以通过 `huggingface:\u002F\u002F`、`oci:\u002F\u002F`、`modelscope:\u002F\u002F`、`ollama:\u002F\u002F` 或 `rlcr:\u002F\u002F` 前缀来单独修改各个模型的传输方式。\n\n示例：\n```\nramalama pull huggingface:\u002F\u002Fafrideva\u002FTiny-Vicuna-1B-GGUF\u002Ftiny-vicuna-1b.q2_k.gguf\n```\n\u003C\u002Fdetails>\n\n### 传输方式简写\n为了方便用户，RamaLama 使用简写文件，其中包含全名 AI 模型的别名，允许用户用较短的名字来引用模型。\n\n\u003Cdetails>\n\u003Csummary>\n关于简写的更多信息。\n\u003C\u002Fsummary>\n\u003Cbr>\n\nRamaLama 会读取存在的 `shortnames.conf` 文件。这些文件包含一系列名称-值对，用于指定模型。下表列出了 RamaLama 读取文件的顺序。如果出现重复名称，则会覆盖之前定义的简写。\n\u003Cbr>\n| 简写类型    | 路径                                                       |\n| :----------------  | :-------------------------------------------               |\n| 开发阶段        | .\u002Fshortnames.conf                                          |\n| 用户（配置）      | $XDG\\_CONFIG\\_HOME\u002Framalama\u002Fshortnames.conf                |\n| 用户（数据）        | $XDG\\_DATA\\_HOME\u002Framalama\u002Fshortnames.conf                  |\n| 管理员            | \u002Fetc\u002Framalama\u002Fshortnames.conf                              |\n| 发行版            | \u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf                        |\n| 本地发行版        | \u002Fusr\u002Flocal\u002Fshare\u002Framalama\u002Fshortnames.conf                  |\n\u003Cbr>\n\n```\n$ cat \u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\n[shortnames]\n  \"tiny\" = \"ollama:\u002F\u002Ftinyllama\"\n  \"granite\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"granite:7b\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"ibm\u002Fgranite\" = \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\"\n  \"merlinite\" = \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\"\n  \"merlinite:7b\" = \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\"\n  ...\n```\n\u003C\u002Fdetails>\n\u003Cbr>\n\u003Cbr>\n\n\n## 命令\n\n### [`ramalama-bench`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-bench.1.md)\n#### 对指定的 AI 模型进行基准测试。\n- \u003Cdetails>\n    \u003Csummary>\n        对指定的 AI 模型进行基准测试\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama bench granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-containers`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-containers.1.md)\n#### 列出所有 RamaLama 容器。\n- \u003Cdetails>\n    \u003Csummary>\n        列出所有正在运行 AI 模型的容器\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama containers\n    ```\n    返回示例：\n    ```\n    CONTAINER ID  IMAGE                             COMMAND               CREATED        STATUS                    PORTS                   NAMES\n    85ad75ecf866  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  5 小时前    Up 5 小时                0.0.0.0:8080->8080\u002Ftcp  ramalama_s3Oh6oDfOP\n    85ad75ecf866  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  4 分钟前  已退出 (0) 4 分钟前                          granite-server\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        以特定格式列出所有容器\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama ps --noheading --format \"{{ .Names }}\"\n    ```\n    返回示例：\n\n    ```\n    ramalama_s3Oh6oDfOP\n    granite-server\n    ```\n\u003C\u002Fdetails。\n\n### [`ramalama-convert`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-convert.1.md)\n#### 将 AI 模型从本地存储转换为 OCI 镜像。\n- \u003Cdetails>\n    \u003Csummary>\n        从 Ollama 模型生成 OCI 模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama convert ollama:\u002F\u002Ftinyllama:latest oci:\u002F\u002Fquay.io\u002Frhatdan\u002Ftiny:latest\n    ```\n    返回示例：\n    ```\n    正在构建 quay.io\u002Frhatdan\u002Ftiny:latest...\n    第 1 步\u002F共 2 步：FROM scratch\n    第 2 步\u002F共 2 步：复制 sha256:2af3b81862c6be03c769683af18efdadb2c33f60ff32ab6f83e42c043d6c7816 \u002Fmodel\n    --> 使用缓存 69db4a10191c976d2c3c24da972a2a909adec45135a69dbb9daeaaf2a3a36344\n    提交 quay.io\u002Frhatdan\u002Ftiny:latest\n    --> 69db4a10191c\n    成功标记 quay.io\u002Frhatdan\u002Ftiny:latest\n    69db4a10191c976d2c3c24da972a2a909adec45135a69dbb9daeaaf2a3a36344\n    ```\n\u003C\u002Fdetails。\n\n- \u003Cdetails>\n    \u003Csummary>\n        生成并运行一个由 Safetensors 转换而来的量化 GGUF 的 OCI 模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    生成 OCI 模型\n    ```\n    $ ramalama --image quay.io\u002Framalama\u002Framalama-rag convert --gguf Q4_K_M hf:\u002F\u002Fibm-granite\u002Fgranite-3.2-2b-instruct oci:\u002F\u002Fquay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest\n    ```\n\n    返回示例：\n    ```\n    正在将 \u002FUsers\u002Fkugupta\u002F.local\u002Fshare\u002Framalama\u002Fmodels\u002Fhuggingface\u002Fibm-granite\u002Fgranite-3.2-2b-instruct 转换为 quay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest...\n    正在构建 quay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest...\n    ```\n\n    运行生成的模型\n    ```\n    $ ramalama run oci:\u002F\u002Fquay.io\u002Fkugupta\u002Fgranite-3.2-q4-k-m:latest\n    ```\n\u003C\u002Fdetails。\n\n### [`ramalama-info`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-info.1.md)\n#### 显示 RamaLama 的配置信息。\n- \u003Cdetails>\n    \u003Csummary>\n        不使用容器引擎时的信息。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n```\n    $ ramalama info\n    ```\n    返回示例如下：\n    ```\n    {\n        \"Accelerator\": \"cuda\",\n        \"Engine\": {\n        \"Name\": \"\"\n        },\n        \"Image\": \"quay.io\u002Framalama\u002Fcuda:0.7\",\n        \"Inference\": {\n            \"Default\": \"llama.cpp\",\n            \"Engines\": {\n                \"llama.cpp\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fllama.cpp.yaml\",\n                \"mlx\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fmlx.yaml\",\n                \"vllm\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fvllm.yaml\"\n            },\n            \"Schema\": {\n                \"1-0-0\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fschema\u002Fschema.1-0-0.json\"\n            }\n        },\n        \"Shortnames\": {\n        \"Names\": {\n            \"cerebrum\": \"huggingface:\u002F\u002Ffroggeric\u002FCerebrum-1.0-7b-GGUF\u002FCerebrum-1.0-7b-Q4_KS.gguf\",\n            \"deepseek\": \"ollama:\u002F\u002Fdeepseek-r1\",\n            \"dragon\": \"huggingface:\u002F\u002Fllmware\u002Fdragon-mistral-7b-v0\u002Fdragon-mistral-7b-q4_k_m.gguf\",\n            \"gemma3\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n            \"gemma3:12b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-12b-it-GGUF\u002Fgoogle_gemma-3-12b-it-IQ2_M.gguf\",\n            \"gemma3:1b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-1b-it-GGUF\u002Fgoogle_gemma-3-1b-it-IQ2_M.gguf\",\n            \"gemma3:27b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-27b-it-GGUF\u002Fgoogle_gemma-3-27b-it-IQ2_M.gguf\",\n            \"gemma3:4b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n            \"granite\": \"ollama:\u002F\u002Fgranite3.1-dense\",\n            \"granite-code\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n            \"granite-code:20b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-20b-code-base-8k-GGUF\u002Fgranite-20b-code-base.Q4_K_M.gguf\",\n            \"granite-code:34b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-34b-code-base-8k-GGUF\u002Fgranite-34b-code-base.Q4_K_M.gguf\",\n            \"granite-code:3b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n            \"granite-code:8b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-4k-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n            \"granite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite-lab-8b\": \"huggingface:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n            \"granite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n            \"granite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"granite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"hermes\": \"huggingface:\u002F\u002FNousResearch\u002FHermes-2-Pro-Mistral-7B-GGUF\u002FHermes-2-Pro-Mistral-7B.Q4_K_M.gguf\",\n            \"ibm\u002Fgranite\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"ibm\u002Fgranite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n            \"ibm\u002Fgranite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n            \"ibm\u002Fgranite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n            \"merlinite\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"merlinite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n            \"mistral\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b-v1\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.1-GGUF\u002Fmistral-7b-instruct-v0.1.Q5_K_M.gguf\",\n            \"mistral:7b-v2\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n            \"mistral:7b-v3\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMistral-7B-Instruct-v0.3-GGUF\u002FMistral-7B-Instruct-v0.3.Q4_K_M.gguf\",\n            \"mistral_code_16k\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Code-16K-qlora-GGUF\u002Fmistral-7b-code-16k-qlora.Q4_K_M.gguf\",\n            \"mistral_codealpaca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-codealpaca-lora-GGUF\u002Fmistral-7b-codealpaca-lora.Q4_K_M.gguf\",\n            \"mixtao\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\",\n            \"openchat\": \"huggingface:\u002F\u002FTheBloke\u002Fopenchat-3.5-0106-GGUF\u002Fopenchat-3.5-0106.Q4_K_M.gguf\",\n            \"openorca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-OpenOrca-GGUF\u002Fmistral-7b-openorca.Q4_K_M.gguf\",\n            \"phi2\": \"huggingface:\u002F\u002FMaziyarPanahi\u002Fphi-2-GGUF\u002Fphi-2.Q4_K_M.gguf\",\n            \"smollm:135m\": \"ollama:\u002F\u002Fsmollm:135m\",\n            \"tiny\": \"ollama:\u002F\u002Ftinyllama\"\n        },\n        \"Files\": [\n            \"\u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\",\n            \"\u002Fhome\u002Fdwalsh\u002F.config\u002Framalama\u002Fshortnames.conf\",\n        ]\n        },\n        \"Store\": \"\u002Fusr\u002Fshare\u002Framalama\",\n        \"UseContainer\": true,\n        \"Version\": \"0.7.5\"\n    }\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        使用 Podman 引擎的信息。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n```\n    $ ramalama info\n    ```\n    返回示例如下：\n    ```\n    {\n        \"Accelerator\": \"cuda\",\n        \"Engine\": {\n        \"Info\": {\n            \"host\": {\n            \"arch\": \"amd64\",\n            \"buildahVersion\": \"1.39.4\",\n            \"cgroupControllers\": [\n                \"cpu\",\n                \"io\",\n                \"memory\",\n                \"pids\"\n            ],\n            \"cgroupManager\": \"systemd\",\n            \"cgroupVersion\": \"v2\",\n            \"conmon\": {\n                \"package\": \"conmon-2.1.13-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Fbin\u002Fconmon\",\n                \"version\": \"conmon version 2.1.13, commit: \"\n            },\n            \"cpuUtilization\": {\n                \"idlePercent\": 97.36,\n                \"systemPercent\": 0.64,\n                \"userPercent\": 2\n            },\n            \"cpus\": 32,\n            \"databaseBackend\": \"sqlite\",\n            \"distribution\": {\n                \"distribution\": \"fedora\",\n                \"variant\": \"workstation\",\n                \"version\": \"42\"\n            },\n            \"eventLogger\": \"journald\",\n            \"freeLocks\": 2043,\n            \"hostname\": \"danslaptop\",\n            \"idMappings\": {\n                \"gidmap\": [\n                {\n                    \"container_id\": 0,\n                    \"host_id\": 3267,\n                    \"size\": 1\n                },\n                {\n                    \"container_id\": 1,\n                    \"host_id\": 524288,\n                    \"size\": 65536\n                }\n                ],\n                \"uidmap\": [\n                {\n                    \"container_id\": 0,\n                    \"host_id\": 3267,\n                    \"size\": 1\n                },\n                {\n                    \"container_id\": 1,\n                    \"host_id\": 524288,\n                    \"size\": 65536\n                }\n                ]\n            },\n            \"kernel\": \"6.14.2-300.fc42.x86_64\",\n            \"linkmode\": \"dynamic\",\n            \"logDriver\": \"journald\",\n            \"memFree\": 65281908736,\n            \"memTotal\": 134690979840,\n            \"networkBackend\": \"netavark\",\n            \"networkBackendInfo\": {\n                \"backend\": \"netavark\",\n                \"dns\": {\n                \"package\": \"aardvark-dns-1.14.0-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Flibexec\u002Fpodman\u002Faardvark-dns\",\n                \"version\": \"aardvark-dns 1.14.0\"\n                },\n                \"package\": \"netavark-1.14.1-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Flibexec\u002Fpodman\u002Fnetavark\",\n                \"version\": \"netavark 1.14.1\"\n            },\n            \"ociRuntime\": {\n                \"name\": \"crun\",\n                \"package\": \"crun-1.21-1.fc42.x86_64\",\n                \"path\": \"\u002Fusr\u002Fbin\u002Fcrun\",\n                \"version\": \"crun version 1.21\\ncommit: 10269840aa07fb7e6b7e1acff6198692d8ff5c88\\nrundir: \u002Frun\u002Fuser\u002F3267\u002Fcrun\\nspec: 1.0.0\\n+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL\"\n            },\n            \"os\": \"linux\",\n            \"pasta\": {\n                \"executable\": \"\u002Fbin\u002Fpasta\",\n                \"package\": \"passt-0^20250415.g2340bbf-1.fc42.x86_64\",\n                \"version\": \"\"\n            },\n            \"remoteSocket\": {\n                \"exists\": true,\n                \"path\": \"\u002Frun\u002Fuser\u002F3267\u002Fpodman\u002Fpodman.sock\"\n            },\n            \"rootlessNetworkCmd\": \"pasta\",\n            \"security\": {\n                \"apparmorEnabled\": false,\n                \"capabilities\": \"CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT\",\n                \"rootless\": true,\n                \"seccompEnabled\": true,\n                \"seccompProfilePath\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fseccomp.json\",\n                \"selinuxEnabled\": true\n            },\n            \"serviceIsRemote\": false,\n            \"slirp4netns\": {\n                \"executable\": \"\u002Fbin\u002Fslirp4netns\",\n                \"package\": \"slirp4netns-1.3.1-2.fc42.x86_64\",\n                \"version\": \"slirp4netns version 1.3.1\\ncommit: e5e368c4f5db6ae75c2fce786e31eef9da6bf236\\nlibslirp: 4.8.0\\nSLIRP_CONFIG_VERSION_MAX: 5\\nlibseccomp: 2.5.5\"\n            },\n            \"swapFree\": 8589930496,\n            \"swapTotal\": 8589930496,\n            \"uptime\": \"116h 35m 40.00s (Approximately 4.83 days)\",\n            \"variant\": \"\"\n            },\n            \"plugins\": {\n            \"authorization\": null,\n            \"log\": [\n                \"k8s-file\",\n                \"none\",\n                \"passthrough\",\n                \"journald\"\n            ],\n            \"network\": [\n                \"bridge\",\n                \"macvlan\",\n                \"ipvlan\"\n            ],\n            \"volume\": [\n                \"local\"\n            ]\n            },\n            \"registries\": {\n            \"search\": [\n                \"registry.fedoraproject.org\",\n                \"registry.access.redhat.com\",\n                \"docker.io\"\n            ]\n            },\n            \"store\": {\n            \"configFile\": \"\u002Fhome\u002Fdwalsh\u002F.config\u002Fcontainers\u002Fstorage.conf\",\n            \"containerStore\": {\n                \"number\": 5,\n                \"paused\": 0,\n                \"running\": 0,\n                \"stopped\": 5\n            },\n            \"graphDriverName\": \"overlay\",\n            \"graphOptions\": {},\n            \"graphRoot\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fstorage\",\n            \"graphRootAllocated\": 2046687182848,\n            \"graphRootUsed\": 399990419456,\n            \"graphStatus\": {\n                \"Backing Filesystem\": \"btrfs\",\n                \"Native Overlay Diff\": \"true\",\n                \"Supports d_type\": \"true\",\n                \"Supports shifting\": \"false\",\n                \"Supports volatile\": \"true\",\n                \"Using metacopy\": \"false\"\n            },\n            \"imageCopyTmpDir\": \"\u002Fvar\u002Ftmp\",\n            \"imageStore\": {\n                \"number\": 297\n            },\n            \"runRoot\": \"\u002Frun\u002Fuser\u002F3267\u002Fcontainers\",\n            \"transientStore\": false,\n            \"volumePath\": \"\u002Fusr\u002Fshare\u002Fcontainers\u002Fstorage\u002Fvolumes\"\n            },\n            \"version\": {\n            \"APIVersion\": \"5.4.2\",\n            \"BuildOrigin\": \"Fedora Project\",\n            \"Built\": 1743552000,\n            \"BuiltTime\": \"Tue Apr  1 19:00:00 2025\",\n            \"GitCommit\": \"be85287fcf4590961614ee37be65eeb315e5d9ff\",\n            \"GoVersion\": \"go1.24.1\",\n            \"Os\": \"linux\",\n            \"OsArch\": \"linux\u002Famd64\",\n            \"Version\": \"5.4.2\"\n            }\n        },\n        \"Name\": \"podman\"\n        },\n        \"Image\": \"quay.io\u002Framalama\u002Fcuda:0.7\",\n        \"Inference\": {\n            \"Default\": \"llama.cpp\",\n            \"Engines\": {\n                \"llama.cpp\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fllama.cpp.yaml\",\n                \"mlx\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fmlx.yaml\",\n                \"vllm\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fengines\u002Fvllm.yaml\"\n            },\n            \"Schema\": {\n                \"1-0-0\": \"\u002Fusr\u002Fshare\u002Framalama\u002Finference-spec\u002Fschema\u002Fschema.1-0-0.json\"\n            }\n        },\n        \"Shortnames\": {\n            \"Names\": {\n                \"cerebrum\": \"huggingface:\u002F\u002Ffroggeric\u002FCerebrum-1.0-7b-GGUF\u002FCerebrum-1.0-7b-Q4_KS.gguf\",\n                \"deepseek\": \"ollama:\u002F\u002Fdeepseek-r1\",\n                \"dragon\": \"huggingface:\u002F\u002Fllmware\u002Fdragon-mistral-7b-v0\u002Fdragon-mistral-7b-q4_k_m.gguf\",\n                \"gemma3\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n                \"gemma3:12b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-12b-it-GGUF\u002Fgoogle_gemma-3-12b-it-IQ2_M.gguf\",\n                \"gemma3:1b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-1b-it-GGUF\u002Fgoogle_gemma-3-1b-it-IQ2_M.gguf\",\n                \"gemma3:27b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-27b-it-GGUF\u002Fgoogle_gemma-3-27b-it-IQ2_M.gguf\",\n                \"gemma3:4b\": \"hf:\u002F\u002Fbartowski\u002Fgoogle_gemma-3-4b-it-GGUF\u002Fgoogle_gemma-3-4b-it-IQ2_M.gguf\",\n                \"granite\": \"ollama:\u002F\u002Fgranite3.1-dense\",\n                \"granite-code\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n                \"granite-code:20b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-20b-code-base-8k-GGUF\u002Fgranite-20b-code-base.Q4_K_M.gguf\",\n                \"granite-code:34b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-34b-code-base-8k-GGUF\u002Fgranite-34b-code-base.Q4_K_M.gguf\",\n                \"granite-code:3b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-3b-code-base-2k-GGUF\u002Fgranite-3b-code-base.Q4_K_M.gguf\",\n                \"granite-code:8b\": \"hf:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-4k-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n                \"granite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite-lab-8b\": \"huggingface:\u002F\u002Fibm-granite\u002Fgranite-8b-code-base-GGUF\u002Fgranite-8b-code-base.Q4_K_M.gguf\",\n                \"granite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n                \"granite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"granite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"hermes\": \"huggingface:\u002F\u002FNousResearch\u002FHermes-2-Pro-Mistral-7B-GGUF\u002FHermes-2-Pro-Mistral-7B.Q4_K_M.gguf\",\n                \"ibm\u002Fgranite\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"ibm\u002Fgranite:2b\": \"ollama:\u002F\u002Fgranite3.1-dense:2b\",\n                \"ibm\u002Fgranite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fgranite-7b-lab-GGUF\u002Fgranite-7b-lab-Q4_K_M.gguf\",\n                \"ibm\u002Fgranite:8b\": \"ollama:\u002F\u002Fgranite3.1-dense:8b\",\n                \"merlinite\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite-lab-7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite-lab:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"merlinite:7b\": \"huggingface:\u002F\u002Finstructlab\u002Fmerlinite-7b-lab-GGUF\u002Fmerlinite-7b-lab-Q4_K_M.gguf\",\n                \"mistral\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b-v1\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.1-GGUF\u002Fmistral-7b-instruct-v0.1.Q5_K_M.gguf\",\n                \"mistral:7b-v2\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Instruct-v0.2-GGUF\u002Fmistral-7b-instruct-v0.2.Q4_K_M.gguf\",\n                \"mistral:7b-v3\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMistral-7B-Instruct-v0.3-GGUF\u002FMistral-7B-Instruct-v0.3.Q4_K_M.gguf\",\n                \"mistral_code_16k\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-Code-16K-qlora-GGUF\u002Fmistral-7b-code-16k-qlora.Q4_K_M.gguf\",\n                \"mistral_codealpaca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-codealpaca-lora-GGUF\u002Fmistral-7b-codealpaca-lora.Q4_K_M.gguf\",\n                \"mixtao\": \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\",\n                \"openchat\": \"huggingface:\u002F\u002FTheBloke\u002Fopenchat-3.5-0106-GGUF\u002Fopenchat-3.5-0106.Q4_K_M.gguf\",\n                \"openorca\": \"huggingface:\u002F\u002FTheBloke\u002FMistral-7B-OpenOrca-GGUF\u002Fmistral-7b-openorca.Q4_K_M.gguf\",\n                \"phi2\": \"huggingface:\u002F\u002FMaziyarPanahi\u002Fphi-2-GGUF\u002Fphi-2.Q4_K_M.gguf\",\n                \"smollm:135m\": \"ollama:\u002F\u002Fsmollm:135m\",\n                \"tiny\": \"ollama:\u002F\u002Ftinyllama\"\n            },\n            \"Files\": [\n                \"\u002Fusr\u002Fshare\u002Framalama\u002Fshortnames.conf\",\n                \"\u002Fhome\u002Fdwalsh\u002F.config\u002Framalama\u002Fshortnames.conf\",\n            ]\n        },\n        \"Store\": \"\u002Fusr\u002Fshare\u002Framalama\",\n        \"UseContainer\": true,\n        \"Version\": \"0.7.5\"\n    }\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        使用 jq 打印特定的 `ramalama info` 内容。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama info |  jq .Shortnames.Names.mixtao\n    ```\n    返回示例：\n    ```\n   \"huggingface:\u002F\u002FMaziyarPanahi\u002FMixTAO-7Bx2-MoE-Instruct-v7.0-GGUF\u002FMixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf\"\n    ```\n\u003C\u002Fdetails>\n\n\n\n### [`ramalama-inspect`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-inspect.1.md)\n#### 检查指定的人工智能模型。\n- \u003Cdetails>\n    \u003Csummary>\n        检查 smollm:135m 模型的基本信息。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama inspect smollm:135m\n    ```\n    返回示例：\n    ```\n    smollm:135m\n       路径：\u002Fvar\u002Flib\u002Framalama\u002Fmodels\u002Follama\u002Fsmollm:135m\n       注册表：ollama\n       格式：GGUF\n       版本：3\n       字节序：小端\n       元数据：39 条\n       张量：272 条\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        以 JSON 格式检查 smollm:135m 模型的所有信息。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama inspect smollm:135m --all --json\n    ```\n    返回示例：\n    ```\n    {\n        \"Name\": \"smollm:135m\",\n        \"Path\": \"\u002Fhome\u002Fmengel\u002F.local\u002Fshare\u002Framalama\u002Fmodels\u002Follama\u002Fsmollm:135m\",\n        \"Registry\": \"ollama\",\n        \"Format\": \"GGUF\",\n        \"Version\": 3,\n        \"LittleEndian\": true,\n        \"Metadata\": {\n        \"general.architecture\": \"llama\",\n        \"general.base_model.0.name\": \"SmolLM 135M\",\n        \"general.base_model.0.organization\": \"HuggingFaceTB\",\n        \"general.base_model.0.repo_url\": \"https:\u002F\u002Fhuggingface.co\u002FHuggingFaceTB\u002FSmolLM-135M\",\n        ...\n        },\n        \"Tensors\": [\n        {\n            \"dimensions\": [\n            576,\n            49152\n            ],\n            \"n_dimensions\": 2,\n            \"name\": \"token_embd.weight\",\n            \"offset\": 0,\n            \"type\": 8\n        },\n        ...\n        ]\n    }\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-list`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-list.1.md)\n#### 列出所有已下载的人工智能模型。\n- \u003Cdetails>\n    \u003Csummary>\n        可以列出所有拉取到本地存储的模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama list\n    ```\n    返回示例：\n    ```\n    NAME                                                                    MODIFIED      SIZE\n    ollama:\u002F\u002Fsmollm:135m                                                    16 hours ago  5.5M\n    huggingface:\u002F\u002Fafrideva\u002FTiny-Vicuna-1B-GGUF\u002Ftiny-vicuna-1b.q2_k.gguf     14 hours ago  460M\n    ollama:\u002F\u002Fmoondream:latest                                               6 days ago    791M\n    ollama:\u002F\u002Fphi4:latest                                                    6 days ago    8.43 GB\n    ollama:\u002F\u002Ftinyllama:latest                                               1 week ago    608.16 MB\n    ollama:\u002F\u002Fgranite3-moe:3b                                                1 week ago    1.92 GB\n    ollama:\u002F\u002Fgranite3-moe:latest                                            3 months ago  1.92 GB\n    ollama:\u002F\u002Fllama3.1:8b                                                    2 months ago  4.34 GB\n    ollama:\u002F\u002Fllama3.1:latest                                                2 months ago  4.34 GB\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-login`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-login.1.md)\n#### 登录远程注册表。\n- \u003Cdetails>\n    \u003Csummary>\n        登录 quay.io\u002Fusername OCI 注册表\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=quay.io\u002Fusername\n    $ ramalama login -u username\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        登录 Ollama 注册表\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=ollama\n    $ ramalama login\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        登录 Hugging Face 注册表\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ export RAMALAMA_TRANSPORT=huggingface\n    $ ramalama login --token=XYZ\n    ```\n\n    登录 Hugging Face 需要使用 `hf 工具`。有关安装和使用说明，请参阅 [Hugging Face 命令行界面](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhuggingface_hub\u002Fen\u002Fguides\u002Fcli) 的文档。\n\u003C\u002Fdetails>\n\n### [`ramalama-logout`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-logout.1.md)\n#### 从远程注册表登出。\n- \u003Cdetails>\n    \u003Csummary>\n        从 quay.io\u002Fusername OCI 仓库登出\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout quay.io\u002Fusername\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        从 Ollama 注册表登出\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout ollama\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        从 Hugging Face 登出\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama logout huggingface\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-perplexity`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-perplexity.1.md)\n#### 计算指定人工智能模型的困惑度。\n- \u003Cdetails>\n    \u003Csummary>\n        计算人工智能模型的困惑度。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    困惑度用于衡量模型预测下一个标记的能力，数值越低表示性能越好。\n    ```\n    $ ramalama perplexity granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-pull`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-pull.1.md)\n#### 从模型注册表将人工智能模型拉取到本地存储。\n- \u003Cdetails>\n    \u003Csummary>\n        拉取一个模型\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    可以使用 `pull` 命令拉取模型。默认情况下，它会从 \u003Ca href=\"https:\u002F\u002Follama.com\u002Flibrary\">Ollama 注册表\u003C\u002Fa> 拉取。\n    ```\n    $ ramalama pull granite3-moe\n    ```\n\u003C\u002Fdetails>\n\n\n### [`ramalama-push`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-push.1.md)\n#### 将人工智能模型从本地存储推送到远程注册表。\n- \u003Cdetails>\n    \u003Csummary>\n        推送指定的人工智能模型（目前仅支持 OCI）\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    模型可以来自 RamaLama 模型存储中的 Huggingface、Ollama 或 OCI 模型格式。该模型也可以只是存储在磁盘上的模型。\n    ```\n    $ ramalama push oci:\u002F\u002Fquay.io\u002Frhatdan\u002Ftiny:latest\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-rag`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rag.1.md)\n#### 从提供的文档中生成并转换检索增强生成（RAG）数据，将其打包成 OCI 镜像。\n\n>[!注意]\n> 此命令需要容器引擎才能运行。\n\n- \u003Cdetails>\n    \u003Csummary>\n        从提供的文档中生成 RAG 数据，并将其转换为 OCI 镜像。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    该命令使用包含 docling 工具的特定容器镜像，将指定内容转换为 RAG 向量数据库。如果本地不存在该镜像，RamaLama 将会拉取镜像并启动容器来处理数据。\n\n    **位置参数：**\n\n    PATH 包含 PDF、DOCX、PPTX、XLSX、HTML、AsciiDoc 和 Markdown 格式文件的文件或目录，可多次指定。\n\n    IMAGE 用于存放处理后的 RAG 数据的 OCI 镜像名称\n\n    ```\n    ramalama rag .\u002FREADME.md https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman\u002Fblob\u002Fmain\u002FREADME.md quay.io\u002Framalama\u002Fmyrag\n    100% |███████████████████████████████████████████████████████|  114.00 KB\u002F    0.00 B 922.89 KB\u002Fs   59m 59s\n    Building quay.io\u002Framalama\u002Fmyrag...\n    adding vectordb...\n    c857ebc65c641084b34e39b740fdb6a2d9d2d97be320e6aa9439ed0ab8780fe0\n    ```\n\n    之后可以使用该镜像：\n\n    ```\n    ramalama run --rag quay.io\u002Framalama\u002Fmyrag instructlab\u002Fmerlinite-7b-lab\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-rm`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rm.1.md)\n#### 从本地存储中移除 AI 模型。\n- \u003Cdetails>\n    \u003Csummary>\n        指定一个或多个要从本地存储中移除的 AI 模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama rm ollama:\u002F\u002Ftinyllama\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        移除本地存储中的所有 AI 模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama rm --all\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-run`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-run.1.md)\n#### 将指定的 AI 模型作为聊天机器人运行。\n\n- \u003Cdetails>\n    \u003Csummary>\n        使用 run 命令在模型上运行聊天机器人。默认情况下，它会从 \u003Ca href=\"https:\u002F\u002Follama.com\u002Flibrary\">Ollama 注册表\u003C\u002Fa> 中拉取镜像。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    注意：RamaLama 会检查您的机器是否支持原生 GPU，然后使用 Podman 等容器引擎拉取包含适当代码和库的 OCI 容器镜像来运行 AI 模型。这可能需要较长时间进行设置，但仅在首次运行时发生。\n\n    ```\n    $ ramalama run instructlab\u002Fmerlinite-7b-lab\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        在初始容器镜像下载完成后，您可以使用该容器镜像与不同的模型进行交互。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama run granite3-moe\n    ```\n    例如返回：\n    ```\n    > 写一个 Python 的 Hello World 程序\n\n    print(\"Hello World\")\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        在另一个终端窗口中查看正在运行的 Podman 容器。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ podman ps\n    CONTAINER ID  IMAGE                             COMMAND               CREATED        STATUS        PORTS       NAMES\n    91df4a39a360  quay.io\u002Framalama\u002Framalama:latest  \u002Fhome\u002Fdwalsh\u002Frama...  4 minutes ago  Up 4 minutes              gifted_volhard\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-serve`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-serve.1.md)\n#### 在指定的 AI 模型上提供 REST API 服务。\n- \u003Cdetails>\n    \u003Csummary>\n        提供模型服务并通过浏览器连接。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve llama3\n    ```\n    当启用 Web UI 时，您可以通过浏览器访问：127.0.0.1:\u003C端口>。默认的服务端口为 8080（如果可用），否则会在 8081–8090 范围内随机选择一个空闲端口。如果您愿意，可以使用 --port\u002F-p 参数指定要使用的端口。\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        同时运行两个 AI 模型。请注意，这两个模型都在 Podman 容器中运行。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve -d -p 8080 --name mymodel ollama:\u002F\u002Fsmollm:135m\n    09b0e0d26ed28a8418fb5cd0da641376a08c435063317e89cf8f5336baf35cfa\n\n    $ ramalama serve -d -n example --port 8081 oci:\u002F\u002Fquay.io\u002Fmmortari\u002Fgguf-py-example\u002Fv1\u002Fexample.gguf\n    3f64927f11a5da5ded7048b226fbe1362ee399021f5e8058c73949a677b6ac9c\n\n    $ podman ps\n    CONTAINER ID  IMAGE                             COMMAND               CREATED         STATUS         PORTS                   NAMES\n    09b0e0d26ed2  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  32 seconds ago  Up 32 seconds  0.0.0.0:8081->8081\u002Ftcp  ramalama_sTLNkijNNP\n    3f64927f11a5  quay.io\u002Framalama\u002Framalama:latest  \u002Fusr\u002Fbin\u002Framalama...  17 seconds ago  Up 17 seconds  0.0.0.0:8082->8082\u002Ftcp  ramalama_YMPQvJxN97\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        若要禁用 Web UI，请使用 `--webui` off 标志。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama serve --webui off llama3\n    ```\n\u003C\u002Fdetails>\n\n\n\n### [`ramalama-stop`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-stop.1.md)\n#### 停止正在运行 AI 模型的命名容器。\n- \u003Cdetails>\n    \u003Csummary>\n        如果模型正在容器中运行，则停止该模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama stop mymodel\n    ```\n\u003C\u002Fdetails>\n\n- \u003Cdetails>\n    \u003Csummary>\n        停止所有正在容器中运行的模型。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama stop --all\n    ```\n\u003C\u002Fdetails>\n\n### [`ramalama-version`](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-version.1.md)\n#### 显示 RamaLama 的版本。\n- \u003Cdetails>\n    \u003Csummary>\n        打印 RamaLama 的版本。\n    \u003C\u002Fsummary>\n    \u003Cbr>\n\n    ```\n    $ ramalama version\n    ```\n    例如返回：\n    ```\n    ramalama version 1.2.3\n    ```\n\u003C\u002Fdetails>\n\n### 附录\n\n| 命令                                                | 描述                                                |\n| ------------------------------------------------------ | ---------------------------------------------------------- |\n| [ramalama(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama.1.md)                      | RamaLama 主手册页                                  |\n| [ramalama-bench(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-bench.1.md)| 对指定的 AI 模型进行基准测试                                         |\n| [ramalama-chat(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-chat.1.md)| 与指定的 OpenAI REST API 进行对话                        |\n| [ramalama-containers(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-containers.1.md)| 列出所有 RamaLama 容器                               |\n| [ramalama-convert(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-convert.1.md)      | 将本地存储中的 AI 模型转换为 OCI 镜像           |\n| [ramalama-info(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-info.1.md)            | 显示 RamaLama 的配置信息                 |\n| [ramalama-inspect(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-inspect.1.md)      | 检查指定的 AI 模型                             |\n| [ramalama-list(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-list.1.md)            | 列出所有已下载的 AI 模型                              |\n| [ramalama-login(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-login.1.md)          | 登录远程注册表                                   |\n| [ramalama-logout(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-logout.1.md)        | 从远程注册表登出                                |\n| [ramalama-perplexity(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-perplexity.1.md)| 计算指定 AI 模型的困惑度                |\n| [ramalama-pull(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-pull.1.md)            | 从模型注册表拉取 AI 模型到本地存储         |\n| [ramalama-push(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-push.1.md)            | 将本地存储中的 AI 模型推送到远程注册表        |\n| [ramalama-rag(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rag.1.md)              | 根据提供的文档生成并转换检索增强生成 (RAG) 数据为 OCI 镜像|\n| [ramalama-rm(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-rm.1.md)                | 从本地存储中移除 AI 模型                         |\n| [ramalama-run(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-run.1.md)              | 将指定的 AI 模型作为聊天机器人运行                        |\n| [ramalama-serve(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-serve.1.md)          | 在指定的 AI 模型上提供 REST API服务                       |\n| [ramalama-stop(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-stop.1.md)            | 停止正在运行指定 AI 模型的命名容器              |\n| [ramalama-version(1)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fblob\u002Fmain\u002Fdocs\u002Framalama-version.1.md)      | 显示 RamaLama 的版本\n\u003Cbr>\n\n\n## 图表\n\n```\n+---------------------------+\n|                           |\n| ramalama run granite3-moe |\n|                           |\n+-------+-------------------+\n    |\n    |\n    |           +------------------+           +------------------+\n    |           | 拉取推理       |           | 拉取模型层       |\n    +-----------| 运行时 (cuda)   |---------->| granite3-moe     |\n                +------------------+           +------------------+\n                           | 仓库选项：    |\n                           +-+-------+------+-+\n                             |       |      |\n                             v       v      v\n                         +---------+ +------+ +----------+\n                         | Hugging | | OCI  | | Ollama   |\n                         | Face    | |      | | Registry |\n                         +-------+-+ +---+--+ +-+--------+\n                             |       |      |\n                             v       v      v\n                           +------------------+\n                           | 使用       |\n                           | cuda 运行时     |\n                           | 和             |\n                           | granite3-moe     |\n                           +------------------+\n```\n\n## 开发中\n\n关于这个 Alpha 版本，所有功能仍在开发中，因此可能会有不兼容的更改。如果您需要重置安装，请参阅上方的“卸载”部分，了解如何移除 RamaLama 并清理所有数据文件，然后重新安装。\n\n## 已知问题\n\n- 在 macOS 的某些 Python 版本上，证书可能未正确安装，从而导致 SSL 错误（例如，在访问 huggingface.co 时）。要解决这个问题，请运行“Install Certificates”命令，通常如下所示：\n\n```\n\u002FApplications\u002FPython 3.x\u002FInstall Certificates.command\n```\n\n## 感谢支持\n\n没有以下项目的帮助，本项目将无法实现：\n\n- [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp)\n- [vllm](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm)\n- [mlx-lm](https:\u002F\u002Fgithub.com\u002Fml-explore\u002Fmlx-examples)\n- [podman](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman)\n- [huggingface](https:\u002F\u002Fgithub.com\u002Fhuggingface)\n\n所以，如果您喜欢这个工具，请给这些仓库点个赞，顺便也给我们点个赞吧。\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#containers\u002Framalama?type=date&legend=top-left\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=containers\u002Framalama&type=date&theme=dark&legend=top-left\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_5cafb11df72b.png\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_5cafb11df72b.png\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## 社区\n\n如需一般性问题或讨论，请使用 RamaLama 的\n\n[`Matrix`](https:\u002F\u002Fmatrix.to\u002F#\u002F#ramalama:fedoraproject.org)\n\n对于问题\u002F错误及功能相关的讨论，您可以使用 GitHub 的\n[Issues](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues)\n和\n[PRs](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpulls)\n跟踪系统。\n\n### 社区\u002F开发者聚会\n\n我们每隔一周在 Discord 上举办一次面向公众的社区和开发者聚会，讨论项目发展方向，并为用户提供一个开放的交流平台，以便获得帮助、提问以及展示新功能。\n\n[**加入 Discord**](https:\u002F\u002Fdiscord.gg\u002FMkCXuTRBUn)\n[**会议议程**](https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1wiqn7ItKgc8BgyTUQ46eeY23ms_hWbkhAoiP9D1ClfY\u002Fedit?tab=t.0#heading=h.b1x47hb6d0pt)\n\n## 路线图\n\n查看完整的[路线图](.\u002FRoadmap.md)。\n\n## 贡献者\n\n欢迎贡献者\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_readme_e318396f2637.png\" \u002F>\n\u003C\u002Fa>","# RamaLama 快速上手指南\n\nRamaLama 是一款开源工具，旨在通过 OCI 容器技术简化 AI 模型的本地运行与服务部署。它自动检测主机硬件（如 GPU），拉取对应的加速容器镜像，让开发者无需配置复杂的环境依赖即可运行各类大模型。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux (推荐 Fedora\u002FUbuntu), macOS, Windows (需 WSL2)\n- **Python 版本**：3.10 或更高\n- **容器引擎**（二选一）：\n  - **Podman**（默认推荐，支持无根运行）\n  - **Docker**\n- **Windows 用户额外要求**：\n  - 安装 Docker Desktop 或 Podman Desktop\n  - 启用 WSL2 后端\n\n### 硬件支持\nRamaLama 会自动检测以下硬件并拉取对应优化的镜像：\n- **CPU**: 通用支持\n- **NVIDIA GPU**: 自动识别 CUDA 环境\n- **AMD GPU**: 支持 ROCm 和 Vulkan\n- **Apple Silicon**: 支持 macOS (MLX\u002Fllama.cpp) 及 Linux Asahi\n- **其他**: 支持 Intel ARC, 华为 Ascend (CANN), 摩尔线程 (MUSA) 等\n\n## 安装步骤\n\n根据您的需求选择一种安装方式：\n\n### 方式一：一键脚本安装（推荐 Linux\u002FmacOS）\n最简便的安装方式，自动处理依赖：\n```bash\ncurl -fsSL https:\u002F\u002Framalama.ai\u002Finstall.sh | bash\n```\n\n### 方式二：通过 PyPI 安装\n如果您已配置好 Python 环境：\n```bash\npip install ramalama\n```\n\n### 方式三：Fedora 系统安装\n```bash\nsudo dnf install ramalama\n```\n\n### 方式四：macOS 安装包\n1. 从 [Releases 页面](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Freleases) 下载最新的 `.pkg` 文件。\n2. 双击安装或运行命令：\n```bash\nsudo installer -pkg RamaLama-*-macOS-Installer.pkg -target \u002F\n```\n\n### 方式五：Windows 安装\n确保已安装 Docker\u002FPodman 和 WSL2 后，在 PowerShell 中运行：\n```powershell\npip install ramalama\n```\n\n> **提示**：若需加速下载，可配置国内 PyPI 镜像源：`pip install ramalama -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 基本使用\n\nRamaLama 的使用逻辑类似于 `docker run`，但针对 AI 模型进行了优化。\n\n### 1. 运行交互式聊天 (Run)\n直接运行一个模型并进行对话。RamaLama 会自动下载模型并启动容器。\n以下示例运行 Meta 的 Llama 3 模型（8B 参数量化版）：\n\n```bash\nramalama run hf:\u002F\u002Fmeta-llama\u002FLlama-3.2-3B-Instruct\n```\n*注：首次运行会自动拉取模型和对应的容器镜像，请稍作等待。*\n\n### 2. 启动 API 服务 (Serve)\n将模型作为 REST API 服务运行，供其他应用调用：\n\n```bash\nramalama serve hf:\u002F\u002Fmeta-llama\u002FLlama-3.2-3B-Instruct\n```\n服务默认监听在 `http:\u002F\u002Flocalhost:8080`。\n\n### 3. 指定运行时或硬件\n虽然 RamaLama 通常能自动检测硬件，您也可以手动指定：\n\n- **强制使用 CPU 运行**：\n  ```bash\n  ramalama run --runtime=llama.cpp hf:\u002F\u002Fmeta-llama\u002FLlama-3.2-3B-Instruct\n  ```\n\n- **macOS 上使用 MLX 加速**（需先安装 `mlx-lm`）：\n  ```bash\n  ramalama --runtime=mlx serve hf:\u002F\u002Fmlx-community\u002FUnsloth-Phi-4-4bit\n  ```\n\n- **切换容器引擎**（默认为 Podman，若需使用 Docker）：\n  ```bash\n  RAMALAMA_CONTAINER_ENGINE=docker ramalama run hf:\u002F\u002Fmeta-llama\u002FLlama-3.2-3B-Instruct\n  ```\n\n### 4. 清理数据\n卸载工具后，若需删除下载的模型和配置文件以释放空间：\n\n```bash\n# 删除模型数据 (可能占用较大空间)\nrm -rf ~\u002F.local\u002Fshare\u002Framalama\n\n# 删除配置文件\nrm -rf ~\u002F.config\u002Framalama\n```","某金融科技公司的后端工程师需要在本地开发环境中快速集成并测试一个最新的开源欺诈检测大模型，以便在明天晨会前验证其推理效果。\n\n### 没有 ramalama 时\n- **环境配置繁琐**：工程师需手动安装特定版本的 CUDA、PyTorch 及各类依赖库，极易与主机现有的 Python 环境发生冲突，导致“依赖地狱”。\n- **硬件适配困难**：不同开发者的显卡型号各异，需反复查阅文档调整底层驱动和容器镜像，耗费大量时间在排查硬件兼容性上。\n- **安全隐患高**：直接在宿主机运行未经验证的模型代码，缺乏隔离机制，一旦模型包含恶意逻辑可能危及整个开发机安全。\n- **清理工作耗时**：测试结束后，残留的大型模型文件和临时缓存占用大量磁盘空间，手动清理过程容易遗漏或误删系统文件。\n\n### 使用 ramalama 后\n- **一键自动适配**：ramalama 自动识别本机 GPU 型号，直接拉取预配置好的加速容器镜像，无需人工干预任何底层依赖安装。\n- **统一操作体验**：工程师像使用 Docker 拉取普通镜像一样，通过简单的 `ramalama run` 命令即可加载任意来源的 AI 模型，流程标准化。\n- **原生安全隔离**：模型默认在无网络权限的无根（rootless）容器中运行，既保护了主机数据，又在退出时自动清除所有临时痕迹。\n- **即时交互验证**：启动后立刻获得可用的 REST API 或聊天机器人接口，工程师可立即编写脚本进行欺诈场景的推理测试。\n\nramalama 通过将复杂的 AI 基础设施抽象为熟悉的容器操作，让开发者从繁琐的环境配置中解放出来，专注于核心业务逻辑的验证与创新。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_ramalama_c236e58e.png","containers","Containers","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcontainers_378d91fc.png","Open Repository for Container Tools",null,"https:\u002F\u002Fgithub.com\u002Fcontainers",[82,86,90,94,98,102,105,109,112,116],{"name":83,"color":84,"percentage":85},"Python","#3572A5",85.8,{"name":87,"color":88,"percentage":89},"Shell","#89e051",8.5,{"name":91,"color":92,"percentage":93},"Perl","#0298c3",2.8,{"name":95,"color":96,"percentage":97},"TypeScript","#3178c6",0.8,{"name":99,"color":100,"percentage":101},"Dockerfile","#384d54",0.7,{"name":103,"color":104,"percentage":101},"Makefile","#427819",{"name":106,"color":107,"percentage":108},"MDX","#fcb32c",0.3,{"name":110,"color":111,"percentage":108},"CSS","#663399",{"name":113,"color":114,"percentage":115},"Nix","#7e7eff",0.1,{"name":117,"color":118,"percentage":115},"HTML","#e34c26",2689,322,"2026-04-04T20:37:50","MIT","Linux, macOS, Windows","非必需（支持 CPU 回退）。支持多种硬件：NVIDIA GPU (CUDA), AMD GPU (ROCm\u002FVulkan), Apple Silicon (M1\u002FM2\u002FM3+ via MLX 或 Asahi), Intel ARC\u002FiGPU, Ascend NPU, Moore Threads GPU。Windows 需 WSL2 后端。具体显存大小未说明，取决于所选模型。","未说明",{"notes":127,"python":128,"dependencies":129},"1. 核心机制：默认通过 Podman 或 Docker 拉取针对宿主机的特定加速容器镜像运行，无需在宿主机配置复杂的 AI 依赖。2. Windows 支持：必须安装 Docker Desktop 或 Podman Desktop 并启用 WSL2 后端。3. macOS 特殊模式：若使用 MLX 运行时优化，需添加 `--nocontainer` 参数且在宿主机安装 `mlx-lm`，此时不使用容器。4. 安全性：默认以 rootless 模式运行，网络隔离 (`--network=none`)，模型以只读方式挂载。5. 存储：模型默认存储在 `~\u002F.local\u002Fshare\u002Framalama`，可能占用大量空间。","3.10+",[130,131,132],"Podman 或 Docker (容器引擎)","llama.cpp 或 vLLM (容器内运行时)","mlx-lm (仅 macOS MLX 模式需要)",[14,26,13,15],[135,75,136,137,138,139,140,141,142,143,144],"ai","cuda","hip","inference-server","intel","llamacpp","llm","podman","vllm","hacktoberfest","2026-03-27T02:49:30.150509","2026-04-06T08:15:54.110532",[148,153,158,163,167,171],{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},16153,"为什么在使用 Intel 集成显卡运行模型时，容器会崩溃并提示找不到 GPU 平台？","这通常是由于用户权限配置问题导致的。要使用 Intel GPU，用户必须有权访问主机上的设备文件（如 \u002Fdev\u002Fdri\u002Fcard* 和 \u002Fdev\u002Fdri\u002FrenderD*）。\n\n在 Ubuntu 19+、Fedora 31+ 等系统上，这些设备通常属于 \"render\" 组；在旧版系统上可能属于 \"video\" 组。\n\n解决方法：\n1. 将当前用户添加到相应的组中（例如：sudo usermod -aG render $USER），然后注销并重新登录。\n2. 如果无法修改用户组或希望保持设备仅限 root 访问，则必须以 root 身份运行容器（rootful container），因为如果宿主机上用户无法访问设备，容器内也不会自动获得访问权限。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\u002F1585",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},16154,"为什么在没有独立显卡的机器上运行模型性能极差？","如果在没有可用 GPU 的情况下运行，系统可能会回退到使用 llvmpipe（软件渲染）。llvmpipe 的设计初衷是为了在没有 GPU 时能够显示图形界面，而不是用于高强度的计算任务，因此其推理速度会非常慢。\n\n此外，如果没有检测到 Vulkan GPU，ggml-vulkan 后端会被自动跳过以避免性能问题。建议确保正确安装并配置了 GPU 驱动程序，以便 ramalama 能够调用硬件加速。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\u002F1479",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},16155,"对话进行几次后程序崩溃，或者提示请求超出上下文大小限制，该如何解决？","这通常是因为上下文窗口（context size）已满。虽然预期 \"context shift\" 功能应能防止此问题，但在某些版本或配置下可能需要手动干预。\n\n当出现错误 \"the request exceeds the available context size\" 时，可以尝试以下方法：\n1. 增加上下文大小配置。\n2. 在运行命令中显式添加参数启用上下文移位或限制预测长度，例如：\nramalama serve \u003Cmodel_name> --runtime-args=\"--context-shift --keep -128 -sp --n-predict 2048\"\n这将允许更长的对话，并在达到限制时更好地处理上下文。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\u002F1914",{"id":164,"question_zh":165,"answer_zh":166,"source_url":162},16156,"更新版本后模型输出乱码或完全不可读，是什么原因？","如果在升级 ramalama 版本（例如从 0.12 升级到 0.14）后出现输出乱码（如大量重复字符或无意义符号），即使重新下载模型也无法解决，这可能是新版本与特定模型或运行时环境的兼容性问题。\n\n建议步骤：\n1. 尝试切换不同的模型文件进行测试，以排除特定模型损坏的可能。\n2. 检查是否回退到之前的稳定版本可以解决问题。\n3. 确认运行时参数（如温度、上下文大小）在新版本中是否有变更，必要时重置配置文件。此类问题通常需要等待维护者发布修复补丁。",{"id":168,"question_zh":169,"answer_zh":170,"source_url":152},16157,"如何验证 ramalama 是否正确识别并使用了 Intel GPU？","可以通过查看运行日志来确认。如果配置正确，启动日志中不应出现 \"can not find preferred GPU platform\" 的错误。\n\n此外，确保满足以下前提条件：\n1. 已安装 Intel oneAPI 或相关的 GPU 驱动。\n2. 当前用户已加入 \"render\" 或 \"video\" 组以拥有设备访问权限。\n3. 如果使用 Podman\u002FDocker，确保容器启动时挂载了 \u002Fdev\u002Fdri 设备（ramalama 通常会自动处理，但需确保宿主机权限正确）。\n如果仍然失败，可以尝试以 root 身份运行以排除权限干扰。",{"id":172,"question_zh":173,"answer_zh":174,"source_url":175},16158,"为什么在 Mac M3 Pro 上使用 ramalama rag 命令会失败？","在 macOS (Apple Silicon) 上使用 ramalama 时，需要确保 Podman 正确配置为使用 GPU 机器（GPU Machine）。\n\n检查步骤：\n1. 确认 Podman 版本支持 macOS 加速。\n2. 运行 `podman machine list` 查看是否存在启用的机器。\n3. 如果是首次设置，可能需要初始化并启动一个支持虚拟化的 Podman 机器：`podman machine init` 和 `podman machine start`。\n4. 确保通过 Homebrew 安装的 Podman 具有正确的权限访问系统资源。如果问题依旧，建议检查 ramalama 是否通过 curl 脚本正确安装了适用于 Darwin 架构的二进制文件。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fissues\u002F1114",[177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267,272],{"id":178,"version":179,"summary_zh":180,"released_at":181},90800,"v0.17.0","## 变更内容\n* 由 @dominikkawka 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2255 中将 mikebonnet 添加为 ramalama 的维护者\n* 由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2256 中修复 llama-stack 的 CUDA OCI 运行时\n* 在检查预期异常的测试中使用 “with pytest.raises”。由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2257 中完成\n* 由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2261 中修复 llama-stack 的 Kubernetes 资源标签\n* ci：修复 nvidia GPU 的 podman-in-podman 设置。由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2251 中完成\n* 杂项（依赖）：更新 konflux 引用。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2263 中完成\n* 杂项（依赖）：将 registry.access.redhat.com\u002Fubi9\u002Fubi 的 Docker 标签更新至 v9.7-1766364927。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2266 中完成\n* 杂项（依赖）：维护锁定文件。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2264 中完成\n* 由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2259 中添加 --quiet\u002F-q 标志以静默警告\n* 杂项（依赖）：将 konflux 引用更新至 0b10508。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2270 中完成\n* 杂项（依赖）：维护锁定文件。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2271 中完成\n* 由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2268 中添加 info 命令的端到端 pytest 测试\n* 由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2267 中添加 convert 命令的端到端 pytest 测试\n* 杂项（依赖）：将 registry.access.redhat.com\u002Fubi9\u002Fubi 的 Docker 标签更新至 v9.7-1767674301。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2276 中完成\n* 杂项：由 @nathan-weinberg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2274 中添加 CLAUDE.md 文件\n* 杂项（依赖）：维护锁定文件。由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2273 中完成\n* 由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2272 中更新 pyproject.toml 中的维护者列表\n* 由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2248 中修复多部分模型的 quadlet 生成问题\n* 杂项：类型注解及一些错误修复。由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2241 中完成\n* 056-artifact.bats：由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2279 中修复 OSErrors 的预期返回码\n* 由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2280 中为 BaseEngine 和 info_cli 添加类型注解\n* 由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2227 中添加 pull 命令的端到端 pytest 测试\n* 由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2281 中为 llama-cpp 构建设置 GGML_CPU_ALL_VARIANTS\n* 由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2278 中升级 whisper.cpp 和 llama.cpp 的版本\n* ci：在 macOS 上安装 coreutils。由 @olliewalsh 在 ht","2026-02-04T19:54:46",{"id":183,"version":184,"summary_zh":185,"released_at":186},90801,"v0.16.0","## 变更内容\n* 添加支持 Podman 的 Windows 端到端测试套件，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2159 中完成\n* chore(deps): 更新依赖 huggingface-hub 至 ~=1.2.1，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2218 中完成\n* chore(deps): 更新 pre-commit 钩子 psf\u002Fblack 至 v25.12.0，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2223 中完成\n* chore(deps): 锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2222 中完成\n* [skip-ci] 将 actions\u002Fsetup-python 操作更新至 v6，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2220 中完成\n* chore(deps): 更新 konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2219 中完成\n* 增强 Ollama 缓存查找功能，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2216 中完成\n* [skip-ci] 将 actions\u002Fupload-artifact 操作更新至 v5，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2221 中完成\n* 修复 Windows 模型存储名称问题，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2228 中完成\n* 修复 Python 3.10 相关问题，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2230 中完成\n* packit: 在 V100 GPU 上运行无 RPM 测试，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2231 中完成\n* chore(deps): 更新 React 单体仓库至 v19.2.2，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2234 中完成\n* ci: 清理不必要的\u002F过时的工作流，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2233 中完成\n* 在 ramalama 和 cuda 镜像中安装 ramalama Python 库，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2236 中完成\n* fix(deps): 更新 React 单体仓库至 v19.2.3，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2235 中完成\n* 为 ramalama ls 添加 --sort 和 --order 选项，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2238 中完成\n* chore(deps): 更新 konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2242 中完成\n* [skip-ci] 将 actions\u002Fupload-artifact 操作更新至 v6，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2240 中完成\n* Windows 支持第二部分，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2239 中完成\n* chore(deps): 锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2244 中完成\n* 添加对转换为 OCI 工件的支持，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2046 中完成\n* 还原“针对 CUDA 镜像未指向 ld.so.conf 中的 libcuda.so.1 的临时解决方案”，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2247 中完成\n* 在 README 中添加全面的卸载说明，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2245 中完成\n* 修复使用硬链接\u002F复制时删除 blob 的问题，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2249 中完成\n* 版本升级至 v0.16.0，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F 中完成","2025-12-18T18:56:43",{"id":188,"version":189,"summary_zh":190,"released_at":191},90802,"v0.15.0","## 变更内容\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2095 中进行的锁文件维护\n* RamaLama 贡献者等级制度，由 @dominikkawka 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2090 中实现\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2099 中进行的锁文件维护\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2097 中更新 Konflux 引用\n* 将 DEFAULT_PORT_RANGE 切换为使用 100 个端口，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2091 中完成\n* konflux: 重新启用 s390x 构建，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2102 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2103 中进行的锁文件维护\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2106 中进行的锁文件维护\n* 修复 HuggingFace 登录\u002F登出 CLI 命令，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2107 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2112 中进行的锁文件维护\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2109 中将依赖 huggingface-hub 更新至 ~=1.1.2\n* 在 README 中添加社区聚会相关链接，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2111 中完成\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2115 中更新注册表 URL 链接\n* 添加 HTTPS 到特定传输方式的映射，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2117 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2116 中进行的锁文件维护\n* 添加针对 GPU 的 VLLM 镜像支持，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2119 中完成\n* 修复 Nix Flake，由 @poelzi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2121 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2123 中更新 Konflux 引用\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2122 中进行的锁文件维护\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2127 中进行的锁文件维护\n* 禁用 black 格式化工具的预览标志，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2134 中完成\n* 修复：通过停止日志记录器传播来防止重复的 CLI 调试日志，由 @kush-gupt 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2135 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2131 中进行的锁文件维护\n* 为 serve 命令添加端到端 pytest 测试，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2085 中完成\n* chore(deps): 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.c 中将 pre-commit hook psf\u002Fblack 更新至 v25.11.0","2025-12-05T02:00:56",{"id":193,"version":194,"summary_zh":195,"released_at":196},90803,"v0.14.0","## 变更内容\n* 文档站点构建移除多余的 manpage 编号标签，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2037 中完成\n* 升级至最新的 llama.cpp 和 whisper.cpp，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2039 中完成\n* 为 info 命令添加推理规范文件，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2049 中完成\n* 将 Docusaurus 单体仓库更新至 v3.9.2，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2055 中完成\n* 将 macOS CI 的 Python 版本锁定在 \u003C3.14，直至 mlx 更新，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2051 中完成\n* 为 llama.cpp 推理规范添加 --max-tokens 参数，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2057 中完成\n* 锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2056 中完成\n* 对于 Ollama 模型，优先使用嵌入式聊天模板，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2040 中完成\n* 将 GGUF 量化默认设置为 Q4_K_M，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2050 中完成\n* 将依赖 huggingface-hub 更新至 ~=0.36.0，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2059 中完成\n* 更新 Konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2044 中完成\n* 锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2060 中完成\n* docker：修复在非 UTC 时区运行时对 OCI 镜像的 list 命令，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2067 中完成\n* 将依赖 huggingface-hub 更新至 v1，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2066 中完成\n* 修复 arm64 架构下 AMD GPU 镜像选择问题（issue #2045），由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2048 中完成\n* 在独立容器中运行 RAG 操作，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2053 中完成\n* konflux：在构建和测试 PR 之前先合并，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2069 中完成\n* 修复 docker 下的 “ramalama rag” 相关问题，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2068 中完成\n* 杂项（依赖）：锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2070 中完成\n* 将 huggingface-cli 重命名为 hf，由 @Yarboa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2047 中完成\n* 为 CONTRIBUTING.md 添加“发言与倡导”章节，由 @dominikkawka 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2073 中完成\n* 修复文档中的 RPM 名称，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2083 中完成\n* 更新 SECURITY.md。对于安全漏洞，使用 GitHub Issues 进行报告，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2077 中完成\n* 改进 README.md 中的 ramalama RAG 部分，由 @jpodivin 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2076 中完成\n* 杂项（依赖）：锁定文件维护，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2074 中完成\n* 修复","2025-10-31T21:53:56",{"id":198,"version":199,"summary_zh":200,"released_at":201},90804,"v0.13.0","## 变更内容\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1987 中重新引入 README 更新，并添加了更多文档。\n* 功能：支持跨运行时的仅 safetensors 仓库，由 @kush-gupt 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1976 中实现。\n* 杂项（依赖）：更新 Konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1984 中完成。\n* [跳过 CI] 将 astral-sh\u002Fsetup-uv 操作更新至 v7，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2006 中完成。\n* 移除健康检查中模型名称中的标签，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2008 中完成。\n* 添加 safetensor 快照文件类型，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2009 中实现。\n* 修复 macOS 用户的默认引擎检测问题，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2010 中完成。\n* 不尝试重新标记镜像挂载点，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2012 中实现。\n* 链接到 Ollama 注册表目录并修正大小写，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2011 中完成。\n* 添加对拆分模型文件 URL 的支持，由 @fozzee 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2001 中实现。\n* 将 pre-commit 钩子 pycqa\u002Fisort 更新至 v7，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2021 中完成。\n* 将依赖 isort 更新至 v7，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2020 中完成。\n* 更新 Konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2018 中完成。\n* 添加依赖组，使 uv 自动配置开发依赖，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2015 中实现。\n* 始终选择通过 CLI 参数传递的端口，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2013 中完成。\n* 为 Docker 用户修复守护进程错误，并改进拉取配置的处理，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2005 中完成。\n* 将 registry.access.redhat.com\u002Fubi9\u002Fubi Docker 标签更新至 v9.6-1760340943，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2023 中完成。\n* 在源目录中搜索推理规范文件，由 @kpouget 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2014 中完成。\n* 文档：更新 README，包含正确的 MLX 安装说明，由 @kush-gupt 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2024 中完成。\n* 将 data-files 路径添加到默认配置目录列表中，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2028 中完成。\n* 模板转换系统及 Go 模板的消息包装，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1947 中实现。\n* 修复在使用 --nocontainer 运行时的模型路径问题，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2030 中完成。\n* 为 `ramalama serve` 的 quadlet 生成添加 NVIDIA GPU 支持，由 @wang7x 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1955 中实现。\n* build_rag.sh：添加 opencv-python 所需的库，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2031 中完成。\n* 版本升级至 v0.13。","2025-10-15T22:59:20",{"id":203,"version":204,"summary_zh":205,"released_at":206},90805,"v0.12.4","## 变更内容\n* 修复：由 @fozzee 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1952 中实现，将模型正则匹配逻辑与路径分离。\n* konflux：修复在推送标签时 PipelineRun 的创建问题，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1961 中完成。\n* 添加针对 list 和 rm 命令的端到端 pytest 测试，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1949 中完成。\n* konflux：在 NVIDIA 硬件上测试 CUDA 镜像，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1800 中完成。\n* 修复：使用 OpenVINO 2025.3 版本，由 @jeffmaury 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1968 中完成。\n* 杂项（依赖）：将 pre-commit 钩子 psf\u002Fblack 更新至 v25.9.0，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1965 中完成。\n* 杂项（依赖）：更新 konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1964 中完成。\n* 杂项（配置）：迁移 renovate 配置，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1966 中完成。\n* 修复 CUDA-vLLM 镜像构建步骤，由 @mcornea 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1963 中完成。\n* 修复（英特尔）：检测 Xe 驱动程序，由 @futursolo 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1980 中完成。\n* 杂项（依赖）：将 konflux 引用更新至 abf231c，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1975 中完成。\n* 添加针对 help 命令的端到端 pytest 测试，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1973 中完成。\n* 修复：重命名文件名中包含冒号的文件，由 @jeffmaury 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1972 中完成。\n* 杂项（依赖）：将 macOS 依赖更新至 v15，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1970 中完成。\n* 修复 ramalama 聊天中 API_KEY 的处理问题，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1958 中完成。\n* 推理引擎规范，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1959 中完成。\n* 添加针对 run 命令的端到端 pytest 测试，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1978 中完成。\n* 添加困惑度和基准测试相关内容，由 @engelmi 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1986 中完成。\n* 将 React 单仓库更新至 v19.2.0，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1992 中完成。\n* 将 pre-commit 钩子 pycqa\u002Fisort 更新至 v6.1.0，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1991 中完成。\n* 修复 Makefile 中 grep 命令的 --exclude-dir 参数，并添加 .tox 目录，由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1990 中完成。\n* 更新文档站点，并将其加入 make docs 流程，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1988 中完成。\n* 修复 llama.cpp 引擎规范中的拼写错误，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1998 中完成。\n* 杂项：根据开发会议演示内容更新基于 RAG 和 MCP 的演示脚本，由 @bmahabirbu 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1994 中完成。\n* 修复 llama.cpp 构建指令集，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2000 中完成。\n* 添加统一的 --max-tokens CLI 参数，用于限制输出 token 数量，由 @rhatdan 在","2025-10-07T03:14:12",{"id":208,"version":209,"summary_zh":210,"released_at":211},90806,"v0.12.3","## 变更内容\n* konflux：当标签被推送到 Git 仓库时发布镜像，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1926 中完成\n* konflux：为 s390x 和 ppc64le 构建 ramalama 镜像，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1842 中完成\n* konflux：将 clamav-scan 作为矩阵任务运行，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1922 中完成\n* s390x：切换到更小的 bigendian 模型进行测试，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1930 中完成\n* --flash-attn 现在需要在 llama-server 中指定选项，由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1928 中完成\n* 将 encoding 参数传递给 run_cmd() 函数，由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1931 中完成\n* 改进 NVIDIA CDI 检查，由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1903 中完成\n* [ci] 更新 Ubuntu Podman 5 的仓库，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1940 中完成\n* 杂项（依赖）：更新 konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1932 中完成\n* 杂项（依赖）：将依赖 huggingface-hub 更新至 ~=0.35.0，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1935 中完成\n* 修复：配合新的 llama.cpp 版本和聊天模板，rag_framework …，由 @bmahabirbu 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1937 中完成\n* 引入 tox 进行测试，并添加端到端框架，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1938 中完成\n* 文档：撤销错误的文档更改，由 @cdoern 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1936 中完成\n* 添加 bats 测试以覆盖 serve 中的 docker-compose，由 @abhibongale 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1934 中完成\n* konflux：在覆盖快照上设置 source-repo-url 注解，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1941 中完成\n* 添加 Compose 相关文档，由 @abhibongale 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1943 中完成\n* 杂项（依赖）：将 registry.access.redhat.com\u002Fubi9\u002Fubi Docker 标签更新至 v9.6-1758184894，由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1944 中完成\n* 增加路线图文档，用于跟踪未来的工作和目标，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1893 中完成\n* konflux：在创建覆盖快照时处理“传入”事件，由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1945 中完成\n* 向聊天中添加 mcp，由 @bmahabirbu 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1923 中完成\n* 为标准 Python mcp 客户端引入了一些提升用户体验的修复，由 @bmahabirbu 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1953 中完成\n* 杂项（依赖）：更新 konflux 引用，由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1954 中完成\n* 在 GitHub CI 中添加端到端 pytest 工作流，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1950 中完成\n* 为 bench 命令添加端到端 pytest 测试，由 @telemaco 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1942 中完成\n* 重新组织传输方式，并新增 rlcr 传输选项，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framal","2025-09-28T17:02:10",{"id":213,"version":214,"summary_zh":215,"released_at":216},90807,"v0.12.2","## 有哪些变化\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1839 中，由 @abhibongale 添加了 Docker Compose 生成器。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1867 中，由 @rhatdan 捕获了 KeyError 异常。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1871 中，由 @rhatdan 实现了当 CUDA 版本过时时回退到默认镜像的功能。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1876 中，由 @AlexonOliveiraRH 将默认浏览器从 Google Chrome 更改为 Firefox。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1875 中，由 @olliewalsh 将模型重新切换回 Ollama 的 Granite-Code 模型。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1887 中，由 @renovate[bot] 将 registry.access.redhat.com\u002Fubi9\u002Fubi Docker 标签更新为 v9.6-1756799158。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1885 中，由 @renovate[bot] 将依赖项 @mdx-js\u002Freact 更新至 v3.1.1。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1881 中，由 @booxter 修改了代码，仅在显式传递 --debug 参数时才打印 Llama 堆栈 API 端点信息。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1879 中，由 @AlexonOliveiraRH 新增了浏览器覆盖功能并优化了服务启动流程。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1891 中，由 @booxter 为 Ollama pull 测试用例生成了临时目录存储。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1884 中，由 @red-hat-konflux-kflux-prd-rh03[bot] 更新了 konflux 的引用。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1896 中，由 @renovate[bot] 跳过 CI 测试，将 actions\u002Fstale action 更新至 v10。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1895 中，由 @red-hat-konflux-kflux-prd-rh03[bot] 将 registry.access.redhat.com\u002Fubi9\u002Fubi Docker 标签更新为 v9.6-1756915113。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1890 中，由 @engelmi 添加了 GGUF 字段 tokenizer.chat_template，用于获取聊天模板。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1880 中，由 @booxter 在不使用容器的情况下进行聊天时抑制了 stderr 输出。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1897 中，由 @mikebonnet 阻止构建不必要的镜像。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1894 中，由 @ieaves 更新了 README 文档并添加了 Python 分类信息。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1874 中，由 @rhatdan 更新了 llama.cpp 和 whisper.cpp 的版本。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1906 中，由 @red-hat-konflux-kflux-prd-rh03[bot] 更新了 konflux 的引用。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1889 中，由 @engelmi 扩展了 inspect 命令的 --get 选项，并实现了自动补全功能。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1909 中，由 @kpouget 允许在没有 GPU 的情况下运行 `ramalama`。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1911 中，由 @kpouget 添加了针对 `--device none` 的测试。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1910 中，由 @rhatdan 将 llama.cpp 升级到最新版本。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1807 中，由 @engelmi 开始了初始的模型替换工作。\n* 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1889 中，由 @engelmi 修复了 ramalama 运行时提示索引错误的问题。","2025-09-11T01:29:45",{"id":218,"version":219,"summary_zh":220,"released_at":221},90808,"v0.12.1","## What's Changed\r\n* konflux: remove ecosystem tests by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1841\r\n* konflux: migrate to per-component service accounts by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1840\r\n* Bats test fixes by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1847\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1851\r\n* Add support for huggingface split GGUF models by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1848\r\n* Fix progress bar not reaching 100% by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1846\r\n* Use correct chat template file for ollama models by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1856\r\n* fix: Don't use non-portable errno.{EMEDIUMTYPE,ENOMEDIUM} by @booxter in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1850\r\n* Make the container build system more flexible by @kpouget in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1854\r\n* Fix deepseek-r1 chat template conversion by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1858\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1755678605 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1863\r\n* DNM: ci test by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1862\r\n* Fix python environment in ci jobs by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1861\r\n* feat: added wait logic for rag_framework fixed doc2rag file and added… by @bmahabirbu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1761\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1865\r\n* Bump to v0.12.1 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1866\r\n\r\n## New Contributors\r\n* @booxter made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1850\r\n* @kpouget made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1854\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.12.0...v0.12.1","2025-08-27T12:40:03",{"id":223,"version":224,"summary_zh":225,"released_at":226},90815,"v0.10.0","## What's Changed\r\n* Bump to v0.9.3 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1586\r\n* Remove last libexec program by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1576\r\n* Don't pull image when doing ramalama --help call by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1589\r\n* API key support by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1578\r\n* Move RamaLama container image to default to fedora:42 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1595\r\n* Missing options of api_key and pid2kill are causing crashes by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1601\r\n* Some of our tests are running for hours, need to be timed out by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1602\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1750786174 by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1600\r\n* konflux: centralize pipeline definitions by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1599\r\n* Allow std input by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1606\r\n* konflux: use shared pipelines for rocm, rocm-ubi, and cuda by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1608\r\n* Prune model store code by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1607\r\n* Switchout hasattr for getattr wherever possible by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1605\r\n* add support for running bats in a container by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1598\r\n* Separate build image into its own VM by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1609\r\n* container-images: pin mesa version to COPR by @slp in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1603\r\n* konflux: build bats image by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1612\r\n* rename \"nopull\" boolean to \"pull\" by @ktdreyer in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1611\r\n* Use standard zsh completion directory by @carlwgeorge in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1619\r\n* Free up disk space for building all images by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1615\r\n* Fix removing of file based URL models by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1610\r\n* chore: bump ramalama-stack to 0.2.3 by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1616\r\n* Fixup to work with llama-stack by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1588\r\n* Fix unit tests for machines with GPUs by @sarroutbi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1621\r\n* Want to pick up support for gemma3n by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1623\r\n* Add gemma aliases by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1624\r\n* Adds the ability to pass files to `ramalama run` by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1570\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1627\r\n\r\n## New Contributors\r\n* @ktdreyer made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1611\r\n* @carlwgeorge made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1619\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.9.3...v0.10.0","2025-06-30T12:32:59",{"id":228,"version":229,"summary_zh":230,"released_at":231},90809,"v0.12.0","## What's Changed\r\n* Bump to v0.11.3 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1789\r\n* Fixup release of stable-diffusion images by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1790\r\n* Splitting pypi build and upload into dedicated make targets by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1791\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1754380668 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1780\r\n* Fix the 050-pull test. by @jwieleRH in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1798\r\n* Update registry.access.redhat.com\u002Fubi9\u002Fubi Docker tag to v9.6-1754380668 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1803\r\n* Skip the benchmark test if llama-bench is not available. by @jwieleRH in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1801\r\n* Explicitly pull of base container before converted container build by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1804\r\n* Do not cleanup all podman contact if user runs make test. by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1792\r\n* Fix handling of oci models when being served by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1802\r\n* We should use all config files paths found by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1799\r\n* Fixed error in readme to ensure consistency. by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1806\r\n* Untabify test\u002Fsystem\u002Fhelpers.bash in accordance with PEP8. by @jwieleRH in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1808\r\n* konflux: build stable-diffusion and remove rocm-ubi by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1813\r\n* fix parsing of CDI yaml by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1811\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1754586119 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1814\r\n* bump the version of mesa-vulkan-drivers to match the copr repo by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1820\r\n* fix \"skopeo copy\" command\" by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1822\r\n* Supports gpt-oss by @orimanabu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1810\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1819\r\n* Trying to cut down on github notifications by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1824\r\n* Wait for container to be healthy with ramalama run by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1809\r\n* [skip-ci] Update actions\u002Fcheckout action to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1823\r\n* Add gpt-oss models to shortnames.conf  by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1826\r\n* konflux: build on the fastest instance types available, and increase timeouts by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1827\r\n* reimplement health checks outside of podman by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1830\r\n* chore(deps): update pre-commit hook pre-commit\u002Fpre-commit-hooks to v6 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1837\r\n* allow the llama-stack image to be configured via an env var by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1834\r\n* Improve error message when huggingface-cli is needed and missing by @pbabinca in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1767\r\n* Added error message for GGUF not found and safetensor unsupported by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1838\r\n* Bump to v0.12.0 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1833\r\n\r\n## New Contributors\r\n* @orimanabu made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1810\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.11.3...v0.12.0","2025-08-15T09:33:37",{"id":233,"version":234,"summary_zh":235,"released_at":236},90810,"v0.11.3","## What's Changed\r\n* musa: re-enable whisper.cpp build and update its commit SHA by @yeahdongcn in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1758\r\n* Bump to v0.11.2 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1757\r\n* fix model name in stack.py by @pbalczynski in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1759\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1753769805 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1765\r\n* vLLM v0.10.0 release by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1763\r\n* fix(deps): update react monorepo to v19.1.1 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1762\r\n* Fix excess error output in run command by @arortiz-rh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1760\r\n* call Model.validate_args() from Model.ensure_model_exists() by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1772\r\n* De-duplicate bash build scripts by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1773\r\n* Enable\u002FDisable thinking on reasoning models by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1768\r\n* Include fix that allows us to build on older ARM SoC's by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1775\r\n* Enable multiline chat by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1777\r\n* Include the host in the quadlet's PublishPort directive by @Stebalien in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1771\r\n* Fix run\u002Fgenerate for oci models by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1779\r\n* chore(deps): update dependency typescript to ~5.9.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1782\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1753978585 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1781\r\n* Typing and bug squashes by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1764\r\n* Adding --add-to-unit option to --generate to allow creating or updati… by @Annakan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1774\r\n* Fix handling of configured_has_all by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1784\r\n* building stable diffusion. by @jtligon in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1769\r\n* Use modelstore as tmpdir for hfcli by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1787\r\n* Set TMPDIR to \u002Fvar\u002Ftmp if not set by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1786\r\n\r\n## New Contributors\r\n* @pbalczynski made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1759\r\n* @arortiz-rh made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1760\r\n* @Stebalien made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1771\r\n* @Annakan made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1774\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.11.2...v0.11.3","2025-08-04T12:41:54",{"id":238,"version":239,"summary_zh":240,"released_at":241},90811,"v0.11.2","## What's Changed\r\n* Bump to v0.11.1 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1726\r\n* konflux: add pipelines for ramalama-vllm and layered images by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1717\r\n* Don't override image when using rag if user specified it by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1727\r\n* Re-enable passing chat template to model by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1732\r\n* No virglrenderer in RHEL by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1728\r\n* Add stale githup workflow to maintain older issues and PRs. by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1733\r\n* konflux: build -rag images on bigger instances with large disks by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1737\r\n* musa: upgrade musa sdk to rc4.2.0 by @yeahdongcn in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1697\r\n* Remove GGUF version check when parsing by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1738\r\n* Define image within container with full name by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1734\r\n* musa: disable build of whisper.cpp, and update llama.cpp by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1745\r\n* Include mmproj mount in quadlet by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1742\r\n* Adds docs site by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1736\r\n* Fix listing models by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1748\r\n* fix(deps): update dependency huggingface-hub to ~=0.34.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1747\r\n* chore(deps): update dependency typescript to ~5.8.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1746\r\n* Use blobs directory as context directory on convert by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1739\r\n* konflux: push images to the quay.io\u002Framalama org after integration testing by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1743\r\n* CUDA vLLM variant by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1741\r\n* Add setuptools_scm by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1749\r\n* Fixes docsite page linking by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1752\r\n* Fix kube volumemount for hostpaths and add mmproj by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1751\r\n* More cuda vLLM enablement by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1750\r\n* Fix assembling URLs for big models by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1756\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.11.1...v0.11.2","2025-07-28T13:17:33",{"id":243,"version":244,"summary_zh":245,"released_at":246},90812,"v0.11.1","## What's Changed\r\n* Bump to 0.11.0 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1694\r\n* Mistral should point to lmstudio gguf by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1698\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1752587049 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1699\r\n* chore(deps): update quay.io\u002Fkonflux-ci\u002Fbuild-trusted-artifacts:latest docker digest to f7d0c51 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1696\r\n* reduce unnecessary image pulls during testing, and re-enable a couple tests by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1700\r\n* Minor fixes to rpm builds by packit and spec file. by @smooge in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1704\r\n* konflux: build cuda on arm64, and simplify testing by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1687\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1752625787 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1710\r\n* Included ramalama.conf in wheel by @carlwgeorge in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1711\r\n* Improve NVIDIA GPU detection. by @jwieleRH in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1617\r\n* README: remove duplicate statements by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1707\r\n* fix GPU selection and pytorch URL when building rag images by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1709\r\n* Add support for Intel Iris Xe Graphics (46AA, 46A6, 46A8) by @tonyjames in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1712\r\n* konflux: add pipelines for asahi, cann, intel-gpu, llama-stack, musa, openvino, and ramalama-cli by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1708\r\n* Add vllm to cpu inferencing Containerfile by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1677\r\n* build_rag.sh: install cmake by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1716\r\n* Update Konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1718\r\n* container-images: add virglrenderer to vulkan by @slp in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1714\r\n* added milvus support and qol console logs for rag command by @bmahabirbu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1720\r\n* fixes issue where format=markdown saves to dublicate absolute path by @bmahabirbu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1719\r\n* Engine should be created after checks by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1722\r\n* Use model organization as namespace when pulling Ollama models by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1721\r\n* Consolodate run and chat commands together also allow specification of prefix in ramalama.conf by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1706\r\n* If container fails on Run, warn and exit by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1723\r\n* Added temporary migration routine for non-namespaced ollama models by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1725\r\n\r\n## New Contributors\r\n* @tonyjames made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1712\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.11.0...v0.11.1","2025-07-21T16:42:20",{"id":248,"version":249,"summary_zh":250,"released_at":251},90813,"v0.11.0","## What's Changed\r\n* Bump to v0.10.1 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1667\r\n* Adds the ability to include vision based context to chat via --rag by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1661\r\n* Update registry.access.redhat.com\u002Fubi9\u002Fubi Docker tag to v9.6-1751897624 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1670\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1664\r\n* feat: allow for dynamic version installing of ramalama-stack by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1671\r\n* Inspect add safetensor support by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1666\r\n* Revert \"feat: allow for dynamic version installing of ramalama-stack\" by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1672\r\n* move --image & --keep-groups to run, serve, perplexity, bench commands by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1669\r\n* mlx fixes by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1673\r\n* Enhance ref file and mount all snapshot files to container by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1643\r\n* Hide --container option, having --container\u002F--nocontainer is confusing by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1675\r\n* Enable SELinux separation by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1676\r\n* chore: bump ramalama-stack to 0.2.5 by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1680\r\n* Bugfix for chat by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1679\r\n* Update registry.access.redhat.com\u002Fubi9\u002Fubi Docker tag to v9.6-1752069608 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1668\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1752069608 by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1684\r\n* konflux: add integration tests that run in multi-arch VMs by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1683\r\n* Allow `ramalama rag` to output different formats by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1685\r\n* Bug\u002Fchat fix by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1681\r\n* chore(deps): update konflux references by @red-hat-konflux-kflux-prd-rh03[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1688\r\n* Only install if pyproject.toml exists by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1689\r\n* Readme improvements: Update model's name and improve CUDA_VISIBLE_DEVICES section  by @mbortoli in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1691\r\n* Move rpms by @smooge in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1693\r\n\r\n## New Contributors\r\n* @mbortoli made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1691\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.10.1...v0.11.0","2025-07-14T15:00:50",{"id":253,"version":254,"summary_zh":255,"released_at":256},90814,"v0.10.1","## What's Changed\r\n* Bump to v0.10.0 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1629\r\n* Fix handling of --host option when running in a container by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1628\r\n* Start process of moving python-ramalama to ramalama by @smooge in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1498\r\n* Fix modelstore deleting logic when multiple reference refer to the same blob\u002Fsnapshot by @olliewalsh in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1620\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1751287003 by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1633\r\n* run tests during build pipelines by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1614\r\n* Split the model store into multiple files by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1640\r\n* chore: bump ramalama-stack to 0.2.4 by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1639\r\n* Use config instance for defining pull behavior in accel_image by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1638\r\n* quadlet: add missing privileged options by @jbtrystram in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1631\r\n* build layered images from Containerfiles by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1641\r\n* Add command to list available models by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1635\r\n* Adds a user configuration setting to disable gpu prompting by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1632\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1751445649 by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1658\r\n* Update lint and format tools configuration by @telemaco in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1659\r\n* konflux: add pipelines for the layered images of ramalama, cuda, rocm, and rocm-ubi by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1657\r\n* Always use absolute path for --store option by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1637\r\n* Add .pre-commit-config.yaml by @telemaco in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1660\r\n* MLX runtime support by @kush-gupt in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1642\r\n* Make sure errors and progress messages go to STDERR by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1665\r\n\r\n## New Contributors\r\n* @jbtrystram made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1631\r\n* @telemaco made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1659\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.10.0...v0.10.1","2025-07-07T12:22:45",{"id":258,"version":259,"summary_zh":260,"released_at":261},90798,"v0.18.0","## 变更内容\n* 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2414 中更新 Konflux 引用\n* [skip-ci] 由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2413 中将 step-security\u002Fharden-runner 操作更新至 v2.14.2\n* 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2415 中进行锁定文件维护\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2362 中迁移到 ruff 并优化 make 命令执行时间\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2361 中处理缺少创建日期的模型列表\n* 由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2416 中将依赖 huggingface-hub 更新至 ~=1.4.1\n* 由 @jwieleRH 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2421 中使用 \"git check-ignore\" 生成 Makefile 中的清理列表\n* CI：在最低支持的 Python 版本上运行 lint\u002Fformat，并清理 make lint 命令，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2419 中完成\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2422 中恢复之前的 llama.cpp jinja 行为\n* 由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2423 中修复 python 3.14.3 上的 test_help_command_flags 测试\n* e2e：由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2428 中安装 git-core\n* 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2426 中进行锁定文件维护\n* 由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2424 中更新 Konflux 引用\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2430 中修复因过早调用 _get_entry_model_path 导致的 API Transport 回归问题\n* 杂项（依赖）：由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2435 中将 registry.access.redhat.com\u002Fubi9\u002Fubi Docker 标签更新至 v9.7-1771346757\n* 由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2409 中为所有分支上的复刻触发 CI 作业\n* 由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2441 中提名 Oliver Walsh 为维护者\n* 由 @mikebonnet 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2442 中提名 Michael Engel 和 Brian Mahabir 为评审员\n* 杂项（依赖）：由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2443 中更新 Konflux 引用\n* 杂项（依赖）：由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2439 中将 pre-commit 钩子 pycqa\u002Fisort 更新至 v8\n* 由 @rhatdan 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2417 中添加 \u002Fclear 命令以重置对话历史\n* 杂项（依赖）：由 @red-hat-konflux-kflux-prd-rh03[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2450 中进行锁定文件维护\n* 由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2429 中修复 ruff 阻止自动导入排序的问题\n* 杂项\u002Fctx 大小文档，由 @ieaves 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2454 中完成\n* 添加了 `inspec` 的功能","2026-03-19T16:26:30",{"id":263,"version":264,"summary_zh":265,"released_at":266},90799,"v0.17.1","## 变更内容\n* 由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2393 中将依赖 huggingface-hub 更新至 ~=1.4.0\n* 由 @renovate[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2397 中将 registry.access.redhat.com\u002Fubi9\u002Fubi 的 Docker 标签更新为 v9.7-1770238273\n* 文档站点导航栏：将 logo 链接到 ramalama.ai，并添加文档首页链接，由 @akashWhoCodes 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2391 中完成\n* 在 Docker 上为 doc2rag 设置 TORCHINDUCTOR_CACHE_DIR，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2402 中完成\n* 移除无效的 CUDA 版本检查，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2407 中完成\n* 修复 Debian 上的 install.sh 脚本，并为 uv 更新 PATH 环境变量，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2404 中完成\n* 将挂起的端到端测试在 15 分钟后超时，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2408 中完成\n* 将版本号提升至 v0.17.1，由 @olliewalsh 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2410 中完成\n\n## 新贡献者\n* @akashWhoCodes 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F2391 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.17.0...v0.17.1","2026-02-06T22:25:13",{"id":268,"version":269,"summary_zh":270,"released_at":271},90816,"v0.9.3","## What's Changed\r\n* Convert tabs to spaces by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1538\r\n* Make minimum version of Python consistent by @Hasnep in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1512\r\n* Upgrade podman by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1540\r\n* Bump to v0.9.2 by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1537\r\n* Downgrade whisper by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1543\r\n* Deduplicate code by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1539\r\n* Add dnf update -y to Fedora ROCm build by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1544\r\n* model: always pass in GPU offloading parameters by @alaviss in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1502\r\n* Run bats test with TMPDIR pointing at \u002Fmnt\u002Ftmp by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1548\r\n* Tabs to spaces by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1549\r\n* Add GGML_VK_VISIBLE_DEVICES env var by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1547\r\n* Create tempdir when run as non-root user by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1551\r\n* Red Hat Konflux kflux-prd-rh03 update ramalama by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1542\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1749542372 by @red-hat-konflux-kflux-prd-rh03 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1555\r\n* Fix default prefix for systems with no engines by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1556\r\n* Add install command via homebrew by @scraly in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1558\r\n* Remove Model flag for safetensor files for now by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1559\r\n* Add verbose rule for complete output on unit tests by @sarroutbi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1562\r\n* Reuse code for unit test execution rules by @sarroutbi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1564\r\n* :latest tag should not be assumed for non-OCI artefacts by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1534\r\n* Replace ramalama-client-code with ramalama chat by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1550\r\n* Document the image format created\u002Fconsumed by the oci:\u002F\u002F transport by @mtrmac in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1569\r\n* Trying to save space by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1541\r\n* Fix test_accel unit test to fallback to latest by @sarroutbi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1567\r\n* install ramalama into containers from the current checkout by @mikebonnet in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1566\r\n* TMT: run tests with GPUs by @lsm5 in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1101\r\n* fix: vLLM serving and model mounting by @kush-gupt in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1571\r\n* Make model argument mandatory by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1574\r\n* fix: broken link in CI dashboard by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1580\r\n* chore: bump ramalama-stack to 0.2.2 by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1579\r\n\r\n## New Contributors\r\n* @red-hat-konflux-kflux-prd-rh03 made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1542\r\n* @scraly made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1558\r\n* @mtrmac made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1569\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.9.2...v0.9.3","2025-06-23T15:24:20",{"id":273,"version":274,"summary_zh":275,"released_at":276},90817,"v0.9.2","## What's Changed\r\n* Only print this in the llama-stack case by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1486\r\n* Throw exception when using OCI without engine by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1471\r\n* Make sure llama-stack URL is shown to user by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1490\r\n* Fix #1489 by @yeahdongcn in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1491\r\n* There's a change that we want that avoids using software rasterizers by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1495\r\n* Install uv to fix build issue by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1496\r\n* chore(deps): update registry.access.redhat.com\u002Fubi9\u002Fubi docker tag to v9.6-1749542372 by @renovate in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1492\r\n* Only enumerate ROCm-capable AMD GPUs by @alaviss in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1500\r\n* amdkfd: add constants for heap types by @alaviss in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1501\r\n* This is not a multi-model model by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1499\r\n* fix: remove unneeded dependency from Llama Stack container by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1503\r\n* Increase retry attempts to attempt to connect to server by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1507\r\n* Ignore errors when removing snapshot directory by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1511\r\n* Add Python shebang files to linting by @Hasnep in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1514\r\n* For `ramalama ls` shorten huggingface lines by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1516\r\n* Update black target version by @Hasnep in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1513\r\n* Wait for upto 16 seconds for model to load by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1510\r\n* This installs ramalama via uv if python3 version is too old by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1497\r\n* fix(deps): update dependency huggingface-hub to ~=0.33.0 by @renovate in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1505\r\n* chore(common\u002Fintel_gpus): detect arc a770, a750 by @kwaa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1517\r\n* Do not run with --tty when not in interactive mode by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1506\r\n* Update to add multi-modal by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1522\r\n* Add --all option to ramalama ls by @engelmi in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1528\r\n* Add colors to \"ramalama serve\" if we can by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1529\r\n* Change the FROM for asahi container image by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1523\r\n* Refactor config and arg typing by @ieaves in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1488\r\n* Add ramalama chat command by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1531\r\n* Suggest using uv pip install to get missing module by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1532\r\n* Not sure this is supposed to be here by @ericcurtin in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1535\r\n* chore: bump ramalama-stack to 0.2.1 by @nathan-weinberg in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1536\r\n* honor the user specifying the image by @rhatdan in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1527\r\n\r\n## New Contributors\r\n* @kwaa made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fpull\u002F1517\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Framalama\u002Fcompare\u002Fv0.9.1...v0.9.2","2025-06-16T20:23:40"]