← Retour au blog
tech 15 May 2026

What's in a GGUF, Besides the Weights – and What's Still Missing

The GGUF format streamlines language model management into a single file. But what does it really contain, and what's still missing for optimal efficiency?

Article inspired by the original source
What's in a GGUF, besides the weights – and what's still missing? ↗ nobodywho.ooo

Introduction

In the world of language models, file management can quickly become a headache. With formats like safetensors on Hugging Face, where numerous JSON files are scattered, or ollama models, which are OCI with JSON layers, Go templates, etc., GGUF stands out for its simplicity: a single file. But what exactly is in a GGUF file, and what's missing for it to be fully comprehensive?

Contents of a GGUF

The GGUF format is used by llama.cpp for language models. It encapsulates everything into a single file, making model management more ergonomic. Here are the key elements contained in a GGUF:

Chat Models

Conversational models are trained on sequences that follow a specific format, resembling a conversation. For instance, Gemma4's format uses: <|turn>user Hi there!<turn|>, while LFM2's is: <s> <|im_start|>user Hi there!<|im_end|>. These formats can become more complex with the addition of features like reasoning blocks, tool descriptions, tool calls, and their responses.

These formats are managed by a chat template, a script in the jinja2 templating language. The default chat template is stored under the tokenizer.chat_template key in the GGUF metadata. A model may have multiple chat templates, such as one with tool calling support and one without.

Jinja2 Implementation Performance

To handle these chat templates, an implementation of the jinja2 language is necessary. Hugging Face Transformers uses the classic Python jinja2 library. Others, like llama.cpp, use their own jinja implementation. NobodyWho uses minijinja, a reimplementation in Rust by the original creator of jinja.

There are significant performance differences between these implementations. Minijinja, for instance, is known to be faster and more efficient, which is crucial for real-time applications.

What's Missing in GGUF

While GGUF simplifies many things, there are aspects that could still be improved:

Metadata Management

Currently, the GGUF format does not optimally manage additional metadata that could enrich the model's usage context, such as user preferences or interaction logs.

Multimedia Support

The GGUF format does not directly integrate support for multimedia messages like images, audio, or video. With the evolution towards more integrated models, this could be a valuable addition.

Conclusion

The GGUF format is a significant advancement in language model management, simplifying the lives of developers and researchers. However, to be truly comprehensive, it could integrate better metadata support and multimedia features.

Let's discuss your project in 15 minutes.

GGUF language models jinja2 metadata multimedia support
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call