Omówienie

Runtime Local LLM to wtyczka, która uruchamia duże modele językowe w pełni na urządzeniu przy użyciu llama.cpp, bez potrzeby połączenia z internetem w czasie działania. Obsługuje pliki modeli GGUF i zapewnia pełne API Blueprint do ładowania modeli, wysyłania wiadomości i odbierania odpowiedzi token po tokenie, wszystko na wątku w tle z wywołaniami zwrotnymi na wątku gry.
Wtyczka obsługuje systemy Windows, Mac, Linux, Android (w tym Meta Quest i inne platformy oparte na Androidzie) oraz iOS.
Kluczowe cechy
- Pełne wnioskowanie offline: Brak usług chmurowych ani kluczy API w czasie działania
- Obsługa modeli GGUF: Ładuj dowolny model w formacie GGUF (Llama, Mistral, Phi, Gemma, Qwen itp.)
- Aktualna wersja llama.cpp: Regularnie aktualizowana na Fab, aby nadążać za wydaniami llama.cpp, dzięki czemu najnowsze formaty modeli GGUF są zawsze obsługiwane
- Przyspieszenie GPU: Wykorzystuje Vulkan na Windows i Linux, Metal na Mac i iOS oraz CPU + intrinsics na Android i Meta Quest
- Wiele metod ładowania modeli:
- Ładowanie ze ścieżki pliku lokalnego
- Ładowanie według nazwy modelu (wybór z listy rozwijanej w Blueprints)
- Pobranie z adresu URL i automatyczne załadowanie
- Tylko pobieranie w celu wstępnego buforowania modeli
- Strumieniowanie token po tokenie: Otrzymuj każdy token w miarę jego generowania w celu wyświetlania w czasie rzeczywistym
- Asynchroniczne węzły Blueprint: Węzły z delegatami wyjściowymi do ładowania, wysyłania wiadomości i pobierania
- Konfigurowalne parametry wnioskowania: Temperatura, Top-P, Top-K, kara za powtórzenia, odciążanie warstw GPU, rozmiar kontekstu, ziarno, liczba wątków i monit systemowy
- Zarządzanie kontekstem rozmowy: Utrzymuj wieloetapowe rozmowy z obsługą resetowania kontekstu
- Menedżer modeli w edytorze: Przeglądaj, pobieraj, importuj, usuwaj i testuj modele bezpośrednio w ustawieniach projektu
- Pakowanie międzyplatformowe: Modele są dostarczane z projektem za pośrednictwem stagingu NonUFS
Jak to działa
- Zarządzaj modelami w edytorze: Skorzystaj z panelu ustawień wtyczki, aby przeglądać katalog predefiniowanych modeli, pobierać je lub importować własne pliki GGUF
- Załaduj model w czasie działania: Wywołaj jedną z funkcji ładowania (z pliku, według nazwy, z adresu URL lub według metadanych) z własnymi parametrami wnioskowania
- Wyślij wiadomości: Przekaż wiadomość użytkownika do instancji LLM; tokeny są przesyłane strumieniowo przez delegaty w miarę generowania odpowiedzi przez model
- Wykorzystaj odpowiedź: Wyświetlaj tokeny w interfejsie czatu, steruj dialogami NPC, generuj dynamiczną zawartość lub przekazuj je do innych systemów
Całe wnioskowanie odbywa się na dedykowanym wątku w tle. Wywołania zwrotne (generowanie tokenów, zakończenie, błędy) są wywoływane na wątku gry, dzięki czemu można bezpiecznie aktualizować interfejs użytkownika i stan gry z ich poziomu.
Przechowywanie i pakowanie modeli
Modele są przechowywane jako pliki .gguf w katalogu Content/RuntimeLocalLLM/Models Twojego projektu. Wtyczka automatycznie konfiguruje Additional Non-Asset Directories To Copy (DirectoriesToAlwaysStageAsNonUFS), aby pliki modeli były dołączane do spakowanego projektu i pozostawały dostępne poprzez standardowe operacje wejścia/wyjścia plików w czasie działania.
Każdy model posiada również plik boczny .json, który przechowuje jego metadane (nazwę wyświetlaną, rodzinę, wariant, opis, liczbę parametrów).
Obsługiwane modele
Wtyczka współpracuje z dowolnym modelem w formacie GGUF. Edytor udostępnia katalog popularnych predefiniowanych modeli do pobrania jednym kliknięciem, a ponadto można zaimportować dowolny niestandardowy plik GGUF. Typowe rodziny modeli obejmują:
- Llama (Meta) — 1B, 3B, 8B i większe
- Mistral / Mixtral — 7B i większe
- Phi (Microsoft) — 2B, 3B, 4B
- Gemma (Google) — 2B, 7B
- Qwen (Alibaba) — 1.5B, 7B i większe
- TinyLlama — 1.1B
- I wiele innych modeli społecznościowych
Kwantyzacja
Modele występują w różnych poziomach kwantyzacji, które stanowią kompromis między jakością a rozmiarem i szybkością:
| Kwantyzacja | Jakość | Rozmiar | Szybkość |
|---|---|---|---|
| Q2_K | Niska | Najmniejszy | Najszybsza |
| Q4_K_M | Dobra | Średni | Szybka |
| Q5_K_M | Lepsza | Większy | Średnia |
| Q8_0 | Wysoka | Duży | Wolniejsza |
| F16 / F32 | Najwyższa | Największy | Najwolniejsza |
Dla urządzeń mobilnych i VR zalecane są mniejsze poziomy kwantyzacji (od Q2_K do Q4_K_M) z kompaktowymi modelami (1B–3B parametrów). Na komputerze stacjonarnym można używać większych modeli i wyższych poziomów kwantyzacji w zależności od dostępnej pamięci RAM i zasobów CPU/GPU.
Dodatkowe zasoby
- Pobierz z Fab
- Strona produktu
- Pobierz demo (Windows)
- Samouczek wideo
- Wsparcie wtyczki i rozwój niestandardowy: [email protected] (dopasowane rozwiązania dla zespołów i organizacji)