Przejdź do głównej zawartości

Jak używać wtyczki

Ten przewodnik obejmuje pełne API środowiska uruchomieniowego: tworzenie instancji LLM, ładowanie modeli, wysyłanie wiadomości, pobieranie modeli w czasie działania, zarządzanie stanem i funkcje narzędziowe.

Utwórz instancję LLM

Zacznij od utworzenia obiektu Runtime Local LLM. Utrzymuj do niego referencję (np. jako zmienną w Blueprints lub UPROPERTY w C++), aby zapobiec przedwczesnemu odśmiecaniu.

Create Runtime Local LLM

Ładowanie modelu

Musisz załadować model przed wysłaniem wiadomości. Wtyczka oferuje kilka metod ładowania w zależności od Twojego przepływu pracy.

Ładowanie po nazwie

Jeśli zarządzasz modelami za pomocą panelu ustawień edytora, użyj Load Model (By Name).

W UE 5.4 i nowszych wersjach Load Model (By Name) wyświetla menu rozwijane ze wszystkimi modelami na dysku – po prostu wybierz model, który chcesz załadować.

Load Model By Name UE 5.4+

Ładowanie z ścieżki pliku

Wczytaj model bezpośrednio z bezwzględnej ścieżki pliku do pliku .gguf:

Load Model From File

Ładowanie z adresu URL (Pobieranie i ładowanie)

Pobiera model z adresu URL (jeśli nie znajduje się już na dysku) i automatycznie go ładuje. Jeśli plik istnieje lokalnie, pobieranie jest pomijane.

Najprostszy wariant przyjmuje tylko adres URL – metadane są wyodrębniane z nazwy pliku:

Load Model From URL Simple

Możesz również użyć Load Model From URL z pełnymi metadanymi modelu, aby uzyskać bogatsze informacje o modelu:

Load Model From URL

Ładowanie asynchroniczne (Blueprint)

Aby obsłużyć zakończenie ładowania i błędy poprzez piny wyjściowe zamiast ręcznego podpinania delegatów, dostępne są dwa węzły asynchroniczne.

Load Model By Name (Async) odwzorowuje Load Model (By Name) – w UE 5.4+ wyświetla listę rozwijaną wszystkich modeli na dysku:

Load Model By Name Async UE 5.4+

Load Model From File (Async) przyjmuje zamiast tego ścieżkę bezwzględną do pliku:

Load Model From File Async

Podpinanie zdarzeń

Podepnij się do delegatów instancji LLM, aby otrzymywać wywołania zwrotne. Wszystkie wywołania zwrotne są wyzwalane na wątku gry.

Bind Events

Dostępne delegaty:

  • On Token Generated: wyzwala się dla każdego tokena wyjściowego
  • On Generation Complete: wyzwala się, gdy pełna odpowiedź jest gotowa, wraz z czasem trwania, liczbą tokenów i tokenów na sekundę
  • On Prompt Processed: wyzwala się po przetworzeniu zapytania wejściowego, przed rozpoczęciem generowania
  • On Error: wyzwala się, jeśli wystąpi błąd podczas dowolnej operacji
  • On Model Loaded: wyzwala się, gdy model zakończy ładowanie
  • On Model Unloaded: wyzwala się, gdy model zostanie wyładowany
  • On Download Progress: wyzwala się okresowo podczas pobierania modelu (postęp w formie ułamka, odebrane bajty, całkowita liczba bajtów)
  • On Model Downloaded: wyzwala się, gdy operacja pobierania zakończy się

Wysyłanie wiadomości

Po załadowaniu modelu, wyślij wiadomość użytkownika, aby wygenerować odpowiedź:

Send Message

Aby zastąpić zachętę systemową dla konkretnej wiadomości, użyj Send Message With System Prompt:

Send Message With System Prompt

Tokeny przepływają przez OnTokenGenerated w miarę jak są generowane. Gdy generowanie się zakończy, OnGenerationComplete wywoływane jest z pełną odpowiedzią, czasem trwania, liczbą tokenów i tokenami na sekundę.

Asynchroniczne wysyłanie wiadomości (Blueprint)

Węzeł Send LLM Message (Async) zapewnia dedykowane piny wyjściowe dla tokenów, zakończenia i błędów:

Asynchroniczne wysyłanie wiadomości

Pobieranie modeli w czasie wykonywania

Oprócz opisanego powyżej przepływu pobierz-i-załaduj, możesz pobrać model na dysk bez jego ładowania. Jest to przydatne do wstępnego buforowania modeli na ekranie ładowania lub w menu ustawień.

Pobierz model

Dostępny jest również wariant tylko z adresem URL:

Pobierz model z adresu URL

Węzeł Download LLM Model (Async) i Download LLM Model From URL (Async) zapewnia piny wyjściowe dla postępu, zakończenia i błędów:

Asynchroniczne pobieranie modelu

Delegat OnDownloadProgress raportuje postęp podczas pobierania. OnModelDownloaded jest wywoływany, gdy plik zostanie zapisany na dysku.

Aby anulować trwające pobieranie:

Anuluj pobieranie

Wtyczka automatycznie zapobiega duplikowaniu pobrań — jeśli pobieranie dla tego samego modelu jest już w toku, kolejne wywołania są ignorowane.

Zatrzymanie generowania

Aby przerwać trwającą generację:

Zatrzymanie generowania

Resetuj kontekst rozmowy

Wyczyść historię rozmowy, aby rozpocząć nową rozmowę:

Resetuj kontekst

Wyładuj model

Zwolnij zasoby, gdy model nie jest już potrzebny:

Wyładuj model

Query State

Sprawdź bieżący stan instancji LLM:

Query State

  • Is Model Loaded: Prawda, jeśli model jest gotowy do wnioskowania
  • Is Generating: Prawda, jeśli generowanie jest w toku
  • Is Busy: Prawda, jeśli trwa jakakolwiek operacja (ładowanie, generowanie, pobieranie)
  • Is Downloading: Prawda, jeśli trwa pobieranie modelu
  • Get Loaded Model Metadata: Zwraca metadane bieżącego modelu
  • Get Applied Inference Params: Zwraca parametry zastosowane przy ładowaniu

Funkcje biblioteki modeli

Udostępniony jest zestaw statycznych funkcji narzędziowych do zarządzania plikami modeli na dysku. Są one przydatne przy tworzeniu interfejsu wyboru modelu lub sprawdzaniu dostępności modelu w czasie działania.

Pobieranie nazw pobranych modeli / metadanych

Get Downloaded Model Names

Get All Downloaded Model Metadata

Sprawdź, czy model znajduje się na dysku

Sprawdź, czy model znajduje się na dysku

Pobierz ścieżkę pliku modelu

Pobierz ścieżkę pliku modelu

Usuń pliki modelu

Usuń pliki modelu

Uzyskiwanie predefiniowanych i dostępnych modeli

Pobierz predefiniowane modele

Pobierz wszystkie dostępne modele

Funkcje narzędziowe

Dostarczono zestaw funkcji pomocniczych do formatowania i wyświetlania błędów.

Konwersja bajtów na czytelny ciąg znaków

Konwertuje liczbę bajtów na czytelny dla człowieka ciąg znaków (np. „4,07 GB”). Przydatne do wyświetlania rozmiarów modeli w interfejsie.

Konwersja bajtów na czytelny ciąg znaków

Formatowanie postępu pobierania

Formatuje ciąg postępu pobierania w formie „1,23 GB / 4,07 GB (30,2%)”. Jeśli całkowity rozmiar jest nieznany, zwraca tylko odebraną ilość.

Formatowanie postępu pobierania

Pobierz opis błędu / ciąg kodu błędu

Get LLM Error Description zwraca czytelny dla człowieka opis tekstowy dla kodu błędu. Get LLM Error Code String zwraca nazwę wartości enum jako ciąg znaków (przydatne do logowania).

Pobierz opis błędu

Referencja kodów błędów

KodWartośćOpis
Unknown0Nieokreślony błąd
ModelLoadFailed10Plik GGUF nie mógł zostać załadowany (uszkodzony plik, niekompatybilny format itp.)
ContextCreateFailed11Nie udało się utworzyć kontekstu wnioskowania
ModelNotLoaded20Próbowano przeprowadzić wnioskowanie bez załadowanego modelu
ChatTemplateFailed21Nie udało się zastosować szablonu czatu modelu
TokenizationFailed22Nie udało się tokenizować tekstu wejściowego
ContextOverflow23Prompt + kontekst przekracza skonfigurowany rozmiar kontekstu
PromptDecodeFailed24Nie udało się zdekodować tokenów promptu
ContextTooFullToGenerate25Niewystarczająca ilość wolnego miejsca w kontekście, aby wygenerować wyjście
GenerationDecodeFailed30Nie udało się zdekodować tokenu podczas generowania
GenerationTruncated31Generowanie zostało zatrzymane, ponieważ osiągnięto maksymalny limit tokenów
LLMInstanceNull40Instancja LLM ma wartość null lub jest nieprawidłowa
ModelNotFoundOnDisk41Plik modelu nie istnieje w oczekiwanej ścieżce
ModelURLEmpty42Zażądano pobrania z pustym adresem URL
ModelDownloadCancelled43Pobieranie zostało anulowane
ModelDownloadEmptyData44Pobieranie zakończone, ale treść odpowiedzi była pusta
ModelDownloadSaveFailed45Pobieranie zakończone, ale plik nie mógł zostać zapisany na dysku