ramalama-oci(5)

πŸ“¦
version 0.25.0 Β· 2 versions
, in fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

✨ ramalama-oci β€” the RamaLama oci:// image format, bestie edition ✨

okay so this is section 5 of the manual, all about ramalama-oci, and it's literally just here to explain how RamaLama's oci:// image format works. buckle up πŸŽ€


πŸ’– NAME πŸ’–

ramalama-oci β€” the RamaLama oci:// image format. that's it, that's the name, no cap.


🌸 DESCRIPTION 🌸

RamaLama's oci:// transport uses OpenContainers image registries to store AI models. yes bestie, we're putting models in registries, it's giving main character energy πŸ’…

Each model gets stored in an ordinary container image β€” and heads up, right now it's not using a specialized OCI artifact. just a regular image. periodt.

Structurally, the image is a single-platform image, meaning the top-level element is an OCI Image Manifest, not an OCI Image Index. the way that matters, iykyk 🧚


πŸ¦‹ Model Data πŸ¦‹

Because the AI model is stored in an image and not an artifact, the data is wrapped in the standard tar layer format β€” same as every other OCI image out there. no special treatment, just vibes ✨

The contents of the image must contain a /models/model.file file (or, usually, a symbolic link) β€” and that file holds an AI model in GGUF format, which is consumable by llama-server. so that's the whole point, lowkey iconic πŸ”₯


πŸ‘‘ Metadata πŸ‘‘

The image's config contains an org.containers.type label. and the value of that label can be one of these two cuties:

  • ai.image.model.raw β€” the image contains only the AI model. pure. unbothered. πŸ“
  • ai.image.model.car β€” the image also contains other software. more details about that software are, as of right now, unspecified in this document. so like… mystery software, bestie πŸ™ˆ

🌈 Local Image Storage 🌈

The model image may be pulled into β€” or created in β€” Podman's local image storage. 🫢

When that happens, to simplify identification of AI models, the model image may be wrapped in an OCI index pointing at the AI model image. and inside that index, the manifests' descriptor pointing at the AI model image contains an org.cnai.model.model annotation. cute little name tag, honestly πŸ’–

⚠️ important caveat, don't skip this: the wrapping in an OCI index does not happen in all situations. in particular, it does not happen when RamaLama uses Docker instead of Podman. so if you're on Docker and wondering where your index went… it was never there, bestie 😭

and that's the whole page!! this was ramalama-oci(5) from the Image section of the manual, brought to you by RamaLama β€” thanks for reading, ily, go run some models πŸŽ€βœ¨πŸ’œ

πŸ“¦ where this page comes from