~/tools / Pliki modeli i szablony czatu / GGUF Metadata Viewer
GGUF Metadata Viewer — Otwórz plik GGUF: kwantyzacja, kontekst, tokenizer, tensory, KV cache
Otwórz plik modelu GGUF w przeglądarce i zobacz, co jest w środku, bez ładowania go: architekturę, kwantyzację, liczbę parametrów, najdłuższy kontekst, warstwy i głowice uwagi, tokenizer z jego tokenami specjalnymi, szablon czatu, każdy wpis metadanych i każdy tensor. Narzędzie oblicza też KV cache dla każdej długości kontekstu i sprawdza plik tak jak llama.cpp, dzięki czemu wykryjesz niekompletne pobranie, zanim zaimportujesz plik do Ollamy. Czytany jest tylko początek pliku i nic nie jest wysyłane.
Albo upuść plik tutaj. Czytany jest tylko początek pliku, a on sam zostaje na Twoim komputerze. W naszym teście plik z wagami, który Ollama trzyma w folderze models/blobs, też był plikiem GGUF.
KV cache = 2 × warstwy × głowice KV × rozmiar głowicy × 2 bajty (f16) × długość kontekstu. Dla qwen2.5:7b daje to 224 MiB przy 4096 tokenach, czyli rozmiar z logu Ollamy w naszym teście.
Wagi to dane tensorów zapisane w pliku; razem z nagłówkiem tworzą plik. Uruchomienie modelu wymaga też KV cache i pamięci roboczej, które dolicza estymator pamięci.
Sprawdzono dnia 2026-11-08 ze specyfikacją GGUF i czytnikiem llama.cpp oraz na prawdziwym pliku qwen2.5:7b: jego metadane i 339 tensorów zgadzały się z tym, co podaje Ollama 0.40.11. Specyfikacja GGUF · Ollama: import modelu
Plik jest czytany w Twojej przeglądarce i nie jest wysyłany. Czytany jest tylko jego początek.
GGUF to format plików, którego llama.cpp i Ollama używają dla modeli. Plik GGUF zaczyna się nagłówkiem: wersją formatu, listą wpisów metadanych (takich jak general.architecture, <architecture>.context_length, tokenizer.ggml.tokens i tokenizer.chat_template) oraz listą tensorów z ich nazwami, kształtami, typami i położeniem. Potem następują wagi. To narzędzie czyta tylko ten nagłówek, według układu opisanego w specyfikacji GGUF w repozytorium ggml, więc plik o wielkości kilku gigabajtów otwiera się w chwilę: dla qwen2.5:7b nagłówek ma 5.7 MiB w pliku o rozmiarze 4.36 GiB. Z nagłówka pokazuje nazwę modelu, architekturę i kwantyzację (general.file_type), zlicza parametry z kształtów tensorów i sumuje rozmiar wag dla każdego typu tensora, używając rozmiarów bloków z gguf-py w llama.cpp. Pokazuje kształt modelu (warstwy, głowice uwagi, głowice KV, rozmiar głowicy, ustawienia RoPE, eksperci), tokenizer z tokenami początku i końca tekstu oraz szablon czatu. Z warstw, głowic KV i rozmiaru głowicy oblicza KV cache dla f16, domyślnego typu w Ollamie: 2 (klucze i wartości) × warstwy × głowice KV × rozmiar głowicy × 2 bajty × długość kontekstu. Sprawdza też to, co sprawdza własny czytnik llama.cpp (gguf.cpp), na przykład wersję formatu, kolejność bajtów, zduplikowane klucze i nazwy tensorów, wyrównanie, typy tensorów i położenie każdego tensora, oraz porównuje rozmiar opisany w nagłówku z rozmiarem pliku. Sprawdziliśmy narzędzie na prawdziwym pliku qwen2.5:7b, który przechowuje Ollama 0.40.11: metadane, 339 tensorów (nazwy, typy i kształty) oraz liczba parametrów zgadzały się z tym, co podaje /api/show w Ollamie, a rozmiar obliczony z nagłówka zgadzał się z plikiem co do bajta.
Główna logika tego narzędzia jest otwartoźródłowa, na licencji MIT. github.com/seigo5555/toolkitbox-lib/src/gguf.ts
Zastosowania
- Sprawdzić GGUF pobrany z Hugging Face przed zaimportowaniem go do Ollamy: kwantyzację, długość kontekstu, szablon czatu i to, czy pobranie jest kompletne
- Zobaczyć, ile pamięci potrzebują wagi i KV cache modelu, na podstawie samego pliku
- Obejrzeć metadane i tensory modelu, który Ollama już ma, otwierając jego plik w folderze models/blobs Ollamy
Jak używać
- Wybierz plik .gguf albo upuść go na pole. Aby obejrzeć model, który ma Ollama, ollama show --modelfile <model> wypisuje po FROM ścieżkę jego pliku.
- Narzędzie czyta początek pliku i pokazuje model, jego kształt, KV cache, wagi według typu oraz tokenizer.
- Otwórz „Wszystkie metadane” lub „Wszystkie tensory”, aby zobaczyć pełne listy. Dla pliku, którego nie ma jeszcze w Ollamie, narzędzie pokazuje linię Modelfile do jego zaimportowania.
FAQ
Czy plik jest wysyłany?
Nie. Przeglądarka czyta plik na Twoim komputerze, a narzędzie czyta tylko jego początek: nagłówek z metadanymi i listą tensorów. Wagi nie są czytane.
Dlaczego narzędzie mówi, że plik jest krótszy, niż wynika z nagłówka?
Nagłówek wymienia każdy tensor z jego rozmiarem i położeniem, więc podaje, jak duży musi być plik. Jeśli plik jest krótszy, brakuje części wag, na przykład dlatego, że pobieranie lub kopiowanie przerwano za wcześnie. llama.cpp kończy działanie z komunikatem "model is corrupted or incomplete" dla takiego pliku.
Jaka jest różnica między general.file_type a typami tensorów?
general.file_type podaje główną kwantyzację pliku, na przykład Q4_K_M. Plik miesza typy: w qwen2.5:7b Q4_K_M większość tensorów to Q4_K, część to Q6_K, a małe, jak wagi normalizacji, to F32. Tabela wag według typu pokazuje tę mieszankę.
Czy mogę otworzyć pliki modeli, które Ollama już pobrała?
Tak. Ollama trzyma wagi modelu w folderze models/blobs, w pliku o nazwie sha256-…. W naszym teście ollama show --modelfile qwen2.5:7b wypisało po FROM ścieżkę tego pliku i był to plik GGUF.
Jak zaimportować GGUF do Ollamy?
Przewodnik importu Ollamy używa Modelfile z FROM /path/to/file.gguf, a potem ollama create. Dla modelu podzielonego na kilka plików zachowaj oryginalne nazwy plików i użyj wzorca z symbolem wieloznacznym, który pasuje do każdej części. Ollama nie kwantyzuje modeli GGUF podczas importu.
Jak dokładny jest rozmiar KV cache?
Wzór zgadzał się z logiem Ollamy w naszym teście (224 MiB dla qwen2.5:7b przy 4096 tokenach). Dotyczy f16, domyślnego typu w Ollamie. Modele z przesuwanym oknem, współdzielonym lub skompresowanym KV cache albo warstwami rekurencyjnymi zajmują inną ilość; narzędzie o tym informuje, gdy widać to w metadanych.