~/tools / Arquivos de modelo e templates de chat / GGUF Metadata Viewer
GGUF Metadata Viewer — Abra um arquivo GGUF: quantização, contexto, tokenizador, tensores, KV cache
Abra um arquivo de modelo GGUF no navegador e veja o que há dentro sem carregá-lo: arquitetura, quantização, número de parâmetros, o maior contexto, camadas e cabeças de atenção, o tokenizador e seus tokens especiais, o template de chat, cada entrada de metadados e cada tensor. A ferramenta também calcula o KV cache para cada tamanho de contexto e verifica o arquivo como o llama.cpp faz, para que você perceba um download incompleto antes de importá-lo no Ollama. Só o início do arquivo é lido, e nada é enviado.
Ou solte um arquivo aqui. Só o início do arquivo é lido, e ele fica no seu computador. No nosso teste, o arquivo de pesos que o Ollama guarda na pasta models/blobs também era um arquivo GGUF.
KV cache = 2 × camadas × cabeças KV × tamanho da cabeça × 2 bytes (f16) × tamanho do contexto. Para o qwen2.5:7b isso dá 224 MiB com 4096 tokens, o tamanho que aparece no log do Ollama no nosso teste.
Os pesos são os dados dos tensores guardados no arquivo; junto com o cabeçalho, eles formam o arquivo. Executar o modelo também precisa do KV cache e da memória de trabalho, que o estimador de memória soma.
Verificado em 2026-11-08 com a especificação do GGUF e o leitor do llama.cpp, e com o arquivo real do qwen2.5:7b: seus metadados e 339 tensores coincidiram com o que o Ollama 0.40.11 informa. Especificação do GGUF · Ollama: importar um modelo
O arquivo é lido no seu navegador e não é enviado. Só o início dele é lido.
GGUF é o formato de arquivo que o llama.cpp e o Ollama usam para modelos. Um arquivo GGUF começa com um cabeçalho: a versão do formato, uma lista de entradas de metadados (como general.architecture, <architecture>.context_length, tokenizer.ggml.tokens e tokenizer.chat_template) e uma lista de tensores com seus nomes, formas, tipos e posições. Os pesos vêm depois. Esta ferramenta lê só esse cabeçalho, usando o layout da especificação do GGUF no repositório do ggml, então um arquivo de vários gigabytes abre num instante: no qwen2.5:7b o cabeçalho tem 5.7 MiB de um arquivo de 4.36 GiB. A partir do cabeçalho ela mostra o nome, a arquitetura e a quantização do modelo (general.file_type), conta os parâmetros a partir das formas dos tensores e soma o tamanho dos pesos de cada tipo de tensor, usando os tamanhos de bloco do gguf-py do llama.cpp. Ela mostra a forma do modelo (camadas, cabeças de atenção, cabeças KV, tamanho da cabeça, ajustes de RoPE, especialistas), o tokenizador com os tokens de início e de fim de texto, e o template de chat. A partir das camadas, das cabeças KV e do tamanho da cabeça ela calcula o KV cache em f16, o padrão do Ollama: 2 (chaves e valores) × camadas × cabeças KV × tamanho da cabeça × 2 bytes × tamanho do contexto. Ela também verifica o que o leitor do próprio llama.cpp (gguf.cpp) verifica, como a versão do formato, a ordem dos bytes, chaves e nomes de tensor duplicados, o alinhamento, os tipos de tensor e a posição de cada tensor, e compara o tamanho que o cabeçalho descreve com o tamanho do arquivo. Testamos a ferramenta com o arquivo real do qwen2.5:7b que o Ollama 0.40.11 guarda: os metadados, os 339 tensores (nomes, tipos e formas) e o número de parâmetros coincidiram com o que o /api/show do Ollama informa, e o tamanho calculado a partir do cabeçalho coincidiu com o do arquivo, byte a byte.
A lógica principal desta ferramenta é de código aberto, sob a licença MIT. github.com/seigo5555/toolkitbox-lib/src/gguf.ts
Casos de uso
- Conferir um GGUF baixado do Hugging Face antes de importá-lo no Ollama: quantização, tamanho do contexto, template de chat e se o download está completo
- Ver quanta memória os pesos e o KV cache de um modelo precisam, a partir do próprio arquivo
- Olhar os metadados e os tensores de um modelo que o Ollama já tem, abrindo o arquivo dele na pasta models/blobs do Ollama
Como usar
- Escolha um arquivo .gguf ou solte-o na caixa. Para ver um modelo que o Ollama tem, ollama show --modelfile <model> mostra o caminho do arquivo dele depois de FROM.
- A ferramenta lê o início do arquivo e mostra o modelo, sua forma, o KV cache, os pesos por tipo e o tokenizador.
- Abra "Todos os metadados" ou "Todos os tensores" para ver as listas completas. Para um arquivo que ainda não está no Ollama, a ferramenta mostra a linha do Modelfile para importá-lo.
FAQ
O arquivo é enviado?
Não. O navegador lê o arquivo no seu computador, e a ferramenta lê só o início dele: o cabeçalho com os metadados e a lista de tensores. Os pesos não são lidos.
Por que a ferramenta diz que o arquivo é menor do que o cabeçalho indica?
O cabeçalho lista cada tensor com seu tamanho e sua posição, então ele informa o tamanho que o arquivo deve ter. Se o arquivo for menor, falta parte dos pesos, por exemplo porque um download ou uma cópia parou antes do fim. O llama.cpp para com "model is corrupted or incomplete" diante de um arquivo assim.
Qual é a diferença entre general.file_type e os tipos de tensor?
general.file_type nomeia a quantização principal do arquivo, como Q4_K_M. Um arquivo mistura tipos: no qwen2.5:7b Q4_K_M, a maioria dos tensores é Q4_K, alguns são Q6_K e os pequenos, como os pesos de normalização, são F32. A tabela de pesos por tipo mostra a mistura.
Posso abrir os arquivos de modelo que o Ollama já baixou?
Sim. O Ollama guarda os pesos de um modelo na pasta models/blobs, num arquivo chamado sha256-…. No nosso teste, ollama show --modelfile qwen2.5:7b mostrou o caminho desse arquivo depois de FROM, e era um arquivo GGUF.
Como importo um GGUF no Ollama?
O guia de importação do Ollama usa um Modelfile com FROM /path/to/file.gguf e depois ollama create. Para um modelo dividido em vários arquivos, mantenha os nomes originais e use um curinga que corresponda a todas as partes. O Ollama não quantiza modelos GGUF durante a importação.
Quão preciso é o tamanho do KV cache?
A fórmula coincidiu com o log do Ollama no nosso teste (224 MiB para o qwen2.5:7b com 4096 tokens). Vale para f16, o padrão do Ollama. Modelos com janela deslizante, KV cache compartilhado ou comprimido, ou camadas recorrentes usam uma quantidade diferente; a ferramenta avisa quando os metadados mostram isso.