id = "ramalama"
name = "RamaLama"
homepage = "https://ramalama.ai/"
description = "A tool for managing and serving AI models using containers."
executables = ["ramalama"]
[dotfiles]
paths = [
"[configHome]/ramalama/ramalama.conf.d/",
"[configHome]/ramalama/shortnames.conf",
]
secret = ["[configHome]/ramalama/ramalama.conf"]
side_effect = false
[commands]
format = 1
label = "Run or serve an AI model"
description = "Chat with a model or serve it over HTTP in a container. Image, device, RAG, speculative-decoding and TLS options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["run"]
label = "Run a model"
description = "Chat with a model interactively."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://github.com/containers/ramalama/blob/main/docs/ramalama-run.1.md"
revision = "main 2026-10-27"
evidence = '''
ramalama run [options] model [arg ...]
--backend=auto | vulkan | rocm | cuda | sycl | openvino | cann | musa
--ctx-size, -c size of the prompt context
--max-tokens=integer Maximum number of tokens to generate. Set to 0 for unlimited output (default: 0).
--name, -n Name of the container to run the Model in.
--temp="0.8" Temperature of the response from the AI Model.
--threads, -t Maximum number of cpu threads to use.
'''
[[commands.subcommand.field]]
id = "model"
label = "Model"
type = "string"
position = 0
min = 1
sources = ["man"]
[[commands.subcommand.field]]
id = "backend"
label = "GPU backend"
type = "enum"
option = ["--backend"]
choices = [{ value = "auto", label = "Auto" }, { value = "vulkan", label = "Vulkan" }, { value = "rocm", label = "ROCm" }, { value = "cuda", label = "CUDA" }, { value = "sycl", label = "SYCL" }, { value = "openvino", label = "OpenVINO" }, { value = "cann", label = "CANN" }, { value = "musa", label = "MUSA" }]
sources = ["man"]
[[commands.subcommand.field]]
id = "name"
label = "Container name"
type = "string"
option = ["--name", "-n"]
sources = ["man"]
[[commands.subcommand.field]]
id = "ctx_size"
label = "Context size"
type = "integer"
option = ["--ctx-size", "-c"]
sources = ["man"]
[[commands.subcommand.field]]
id = "temp"
label = "Temperature"
type = "number"
option = ["--temp"]
sources = ["man"]
[[commands.subcommand.field]]
id = "threads"
label = "CPU threads"
type = "integer"
option = ["--threads", "-t"]
sources = ["man"]
[[commands.subcommand.field]]
id = "max_tokens"
label = "Max tokens"
type = "integer"
option = ["--max-tokens"]
sources = ["man"]
[[commands.subcommand.task]]
id = "run"
label = "Run a model"
fields = ["model", "backend", "max_tokens"]
required = ["model"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["model", "backend", "max_tokens"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["name", "ctx_size", "temp", "threads"]
[[commands.subcommand]]
path = ["serve"]
label = "Serve a model"
description = "Serve a model on a local port."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://github.com/containers/ramalama/blob/main/docs/ramalama-serve.1.md"
revision = "main 2026-10-27"
evidence = '''
ramalama serve [options] [model ...]
--backend=auto | vulkan | rocm | cuda | sycl | openvino | cann | musa
--ctx-size, -c
--detach, -d
--name, -n
--port, -p
--temp="0.8"
--threads, -t
ramalama serve -d -p 8080 --name mymodel ollama://smollm:135m
'''
[[commands.subcommand.field]]
id = "model"
label = "Model"
type = "string"
position = 0
min = 1
sources = ["man"]
[[commands.subcommand.field]]
id = "backend"
label = "GPU backend"
type = "enum"
option = ["--backend"]
choices = [{ value = "auto", label = "Auto" }, { value = "vulkan", label = "Vulkan" }, { value = "rocm", label = "ROCm" }, { value = "cuda", label = "CUDA" }, { value = "sycl", label = "SYCL" }, { value = "openvino", label = "OpenVINO" }, { value = "cann", label = "CANN" }, { value = "musa", label = "MUSA" }]
sources = ["man"]
[[commands.subcommand.field]]
id = "name"
label = "Container name"
type = "string"
option = ["--name", "-n"]
sources = ["man"]
[[commands.subcommand.field]]
id = "ctx_size"
label = "Context size"
type = "integer"
option = ["--ctx-size", "-c"]
sources = ["man"]
[[commands.subcommand.field]]
id = "temp"
label = "Temperature"
type = "number"
option = ["--temp"]
sources = ["man"]
[[commands.subcommand.field]]
id = "threads"
label = "CPU threads"
type = "integer"
option = ["--threads", "-t"]
sources = ["man"]
[[commands.subcommand.field]]
id = "port"
label = "Port"
type = "integer"
option = ["--port", "-p"]
sources = ["man"]
[[commands.subcommand.field]]
id = "detach"
label = "Run in background"
type = "boolean"
option = ["--detach", "-d"]
sources = ["man"]
[[commands.subcommand.task]]
id = "serve"
label = "Serve a model"
fields = ["model", "backend", "port", "detach"]
required = ["model"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["model", "backend", "port", "detach"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["name", "ctx_size", "temp", "threads"]