{"slug": "fresher-lemonade-cli-tips-and-tricks", "title": "Fresher Lemonade: CLI tips and tricks", "summary": "A CLI walkthrough of Lemonade, the local AI server, documents the commands for installing, loading, benchmarking and configuring models, including `lemonade list`, `lemonade pull`, `lemonade load`, `lemonade status` and `lemonade bench`. The guide shows pulling an unapproved Hugging Face model with `lemonade pull unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL`, overriding the auto-configured context size of 262144 via `--ctx-size 131072`, passing `--llamacpp-args \"--temperature 1.0 --top_p 0.95 --top_k 64\"`, and persisting those defaults with `--save-options`. Lemonade's text-generation modality currently supports 6 engines — llamacpp, llamacpp-hrx, flm, ryzenai-llm, vllm and ds4 — each running on a backend.", "body_md": "I've written before about getting started using [Lemonade](https://lemonade-server.ai/?ref=admcpr.com) for local AI with [VSCode](https://admcpr.com/easy-local-copilot-with-vs-code-and-lemonade/) and [OpenClaw](https://admcpr.com/local-agents-with-lemonade-and-openclaw/). Today I want to run through the CLI commands I use to get the most out of my Lemonade install, from installing custom models to benchmarking, using custom llama.cpp versions and more. \n\n## list\n\nLet's start at the beginning with a list of all the Lemonade [approved models](https://lemonade-server.ai/models.html?ref=admcpr.com) that you can install. You can browse what's available on the website but we're on the CLI today so we see them all with `lemonade list`. And of course list supports filtering with wildcards so we can see, for example, only the Gemma 4 MTP models: \n\n```\nlemonade list gemma*4*mtp\n```\n\n## pull\n\nLoading any of the approved models is easy: we can just `lemonade load Gemma-4-12B-it-MTP-GGUF` and the model is pulled and loaded. What if we want to load a Hugging Face model that hasn't been approved like this [QAT version of Gemma](https://huggingface.co/unsloth/gemma-4-12B-it-qat-GGUF?ref=admcpr.com)? In that case we can simply point the `lemonade pull` command at a Hugging Face path:\n\n```\nlemonade pull unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL\n```\n\n## load\n\nAnd once it's downloaded we can load the model by name with `lemonade load`.\n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL\n```\n\n## status\n\nNow it's loaded, how about we check the status of our Lemonade server and the models it's loaded using `lemonade status`.\n\n## --ctx-size\n\nBy default Lemonade will auto configure the context size (Ctx) for us and we can see it's set to `262144` for me in the screenshot above. But we can use the `--ctx-size` switch to set that manually. \n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --ctx-size 131072\n```\n\n## --llamacpp-args\n\nMost model providers on Hugging Face provide recommended best practices for running the model you've downloaded. For the Gemma model we're working with you can see them [here](https://huggingface.co/unsloth/gemma-4-12B-it-qat-GGUF?ref=admcpr.com#best-practices) and we can see that they recommend setting `temperature`, `top_p` and `top_k` for best results, we can pass these when we load the model with `--llamacpp-args`.\n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --llamacpp-args \"--temperature 1.0 --top_p 0.95 --top_k 64\"\n```\n\n## --save-options\n\nBut we don't want to have to type out a complicated set of options every time we load this model so let's use the `--save-options` switch to set the default set of options for this model:\n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --llamacpp-args \"--temperature 1.0 --top_p 0.95 --top_k 64\" --ctx-size 131072 --save-options\n```\n\nNow we can just do:\n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL\n```\n\nAnd our favourite options are automatically populated.\n\n## bench\n\nNow wouldn't it be cool if we could actually measure the performance of the model on our hardware, benchmark the time to first token, tokens per second and VRAM usage across different scenarios? You've guessed it, `bench` does exactly that:\n\n```\nlemonade bench gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --ctx-size 131072\n```\n\n## Modalities, engines and backends, oh my!\n\nWe're about to start working with these so let's define them quickly. Lemonade supports many modalities (kinds of input and output data), you can see them all in the [Supported Configurations](https://github.com/lemonade-sdk/lemonade?ref=admcpr.com#supported-configurations) section of its readme. We've been working with the *Text generation* modality so far, and the supported engine, backends, devices and operating system configurations for that look like this today:\n\nWe can see that for *Text generation* Lemonade currently supports 6 *Engines* (llamacpp, llamacpp-hrx, flm, ryzenai-llm, vllm and ds4) and each Engine runs on a Backend, support for which is determined by a combination of our Device and OS. Each time you run a model, behind the scenes Lemonade will evaluate your hardware and OS and automatically select the best Engine and Backend combination. That's great for getting started but what if we want to control which Engine or Backend we're using?\n\n`Recipes` for what are now called `Engines`. The rename hasn't been completed everywhere yet so I'm going to refer to `Engines/Recipes` from now on: they're the same thing.\n### backends\n\nOK so let's take a look at what Engines/Recipes our current platform supports.\n\n```\nlemonade backends\n```\n\nAs I'm running Ubuntu on a Strix Halo you can see I've got a lot of options available to install. Lemonade selected `vulkan` as the backend for `llamacpp` but I can see that `rocm` is also available so let's install that.\n\n```\nlemonade backends install llamacpp:rocm\n```\n\n## --llamacpp\n\nWith our new backend installed let's use it to run our model with the `--llamacpp` option.\n\n```\nlemonade load gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --llamacpp rocm --llamacpp-args \"--temperature 1.0 --top_p 0.95 --top_k 64\" --ctx-size 131072\n```\n\nAnd that `bench` command is now going to come in particularly handy because  when we run it Lemonade will benchmark all the installed backends so we can compare performance across them.\n\n```\nlemonade bench gemma-4-12B-it-qat-GGUF-UD-Q4_K_XL --ctx-size 131072\n```\n\nAnd we can see that for this model Rocm is faster in TTFT and uses slightly less VRAM but Vulkan wins on TPS.\n\n## config\n\nWe can get all Lemonade's config settings with, unsurprisingly, `lemonade config`. This will spit out every config setting. Below I'm showing a snip of the `[llamacpp]` settings it outputs for me but you'll see a lot more. \n\n## config set\n\nWe can also set individual values in the config. I find this particularly useful if I want to test out a newer version of one of the backends, for example to switch to the latest upstream version of ROCm:\n\n```\nlemonade config set llamacpp.rocm_bin=\"latest\"\n```\n\nThis will update the config and, if necessary, download the binary so that next time I run a model with `rocm` it's going to use the latest version. And of course this works for other binaries and I can specify upstream tags, for example:\n\n```\nlemonade config set llamacpp.cuda_bin=\"b8664\"\n```\n\nAnd if I want to go back to the built-in default I can just:\n\n```\nlemonade config set llamacpp.cuda_bin=\"builtin\"\n```\n\n## --help-all\n\nFinally, I wouldn't know any of this if it wasn't for the awesome [lemonade CLI](https://lemonade-server.ai/docs/guide/cli/?ref=admcpr.com) docs and the great help built into the CLI, which is available for every command.\n\n```\nlemonade --help-all\n```\n\nIf I've missed your favourite CLI command or option [let me know.](https://admcpr.com/contact/)", "url": "https://wpnews.pro/news/fresher-lemonade-cli-tips-and-tricks", "canonical_source": "https://admcpr.com/fresher-lemonade-cli-tips-and-tricks/", "published_at": "2026-10-16 20:23:24+00:00", "updated_at": "2026-10-16 20:54:15.629146+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "large-language-models", "developer-tools"], "entities": ["Lemonade", "Hugging Face", "Gemma", "unsloth", "llama.cpp", "VSCode", "OpenClaw", "Gemma-4-12B-it-MTP-GGUF"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/fresher-lemonade-cli-tips-and-tricks", "markdown": "https://wpnews.pro/news/fresher-lemonade-cli-tips-and-tricks.md", "text": "https://wpnews.pro/news/fresher-lemonade-cli-tips-and-tricks.txt", "jsonld": "https://wpnews.pro/news/fresher-lemonade-cli-tips-and-tricks.jsonld"}}