Przejdź do treści głównej

Obrazy NSFW w SillyTavern przy 8–16 GB VRAM: nie przerywaj rozmowy

Zachowaj płynny roleplay i generowanie obrazów na jednej karcie. Wybierz zadania lokalne, napraw połączenie ComfyUI i uniknij braku VRAM.

Autor
Lydia
Opublikowano
Czas czytania
25 min czytania
Zaktualizowano
Karta graficzna między świecącym dymkiem rozmowy a oprawioną ilustracją fikcyjnej dorosłej postaci.

Twoja postać w SillyTavern wreszcie pisze tak, jak lubisz. Prosisz o obraz, ComfyUI zaczyna ładowanie i albo generowanie się nie udaje, albo następna odpowiedź w rozmowie staje się nieznośnie wolna. Karta z 8 GB lub 16 GB pamięci może świetnie radzić sobie z każdym z tych zadań osobno, a mimo to mieć problemy, gdy oba działają równocześnie.

Przy generowaniu obrazów NSFW w SillyTavern z małą ilością VRAM najważniejszą pierwszą decyzją jest to, któremu zadaniu zostawisz GPU. Jeśli priorytetem jest nieprzerwany lokalny roleplay, generuj obrazy zdalnie. Jeżeli najbardziej zależy ci na lokalnym checkpoincie postaci i LoRA, przenieś rozmowę do API tekstowego. Jeśli wszystko musi zostać lokalnie, najpierw przygotuj opis obrazu, zwolnij model tekstowy z pamięci, wygeneruj obraz, a potem ponownie załaduj model tekstowy. Trzecia opcja zachowuje zapisaną rozmowę, ale podczas zmiany zadania GPU nie zapewni generowania bez przerw.

To praktyczne warianty konfiguracji, a nie benchmark dowodzący, że określona para modeli zmieści się na każdej karcie 8 GB. Na potrzeby tego poradnika nie mierzyliśmy czasu wspólnego lokalnego uruchomienia. Instrukcje połączenia pochodzą z dokumentacji i kodu projektów; sugerowana kolejność pracy ma pomóc wyodrębnić typowe awarie bez zmiany pięciu ustawień naraz.

Problem dobrze pokazała dyskusja SillyTavern z 2 października: użytkownik karty AMD z 16 GB już wykorzystywał pamięć do lokalnego roleplayu i chciał dodać Z-Image. Właściwe pytanie nie brzmi, czy Z-Image działa na konsumenckim GPU, lecz czy zadziała, gdy twój obecny model rozmowy nadal zajmuje tę kartę.

Zdecyduj, kto używa GPU, zanim pobierzesz kolejny model

Zacznij od tej części wieczoru, której najmniej chcesz przerywać. Długa rozmowa z ulubionym modelem lokalnym, dopracowany workflow obrazów i wymóg, żeby nic nie opuszczało komputera, prowadzą do różnych konfiguracji.

Co jest najważniejszeZalecana opcjaZ czego rezygnujesz
Płynna rozmowa z dotychczasową lokalną postaciąRozmowa lokalnie, obrazy zdalniePrompty obrazów i ewentualne referencje trafiają do usługi obrazowej
Dokładnie twój lokalny checkpoint, LoRA i workflow obrazówRozmowa zdalnie, ComfyUI lokalnieWybrane API rozmowy otrzymuje wysłany kontekst
Rozmowa i obrazy pozostają na twoim komputerzeLokalne modele tekstowe i obrazowe używane kolejnoPrzełączanie przerywa tempo i może wymagać ponownego przetworzenia promptu
Sporadyczne obrazy bez kolejnego projektu integracyjnegoRozmowa lokalnie i generator obrazów w przeglądarceObrazy powstają poza natywnymi kontrolkami obrazów SillyTavern

Właściciel karty 8 GB zwykle powinien zacząć od jednego lokalnego zadania generowania. Przy 16 GB jest więcej miejsca na eksperymenty, ale decyzja pozostaje ta sama, jeśli obecny LLM już zajmuje większość pamięci. Pobranie kolejnego skwantyzowanego checkpointu, zanim ustalisz, które zadanie korzysta z pozostałej pamięci, często kończy się kolejnym plikiem i tą samą awarią.

Nie myl API rozmowy z backendem obrazowym. Model może świetnie opisać dorosłą fikcyjną postać, nie potrafiąc wygenerować pikseli. Model przyjmujący obrazy może jedynie je analizować. Połączenie wybrane w API Connections obsługuje rozmowę, a źródło wybrane w Image Generation tworzy obraz. W całym poradniku traktuj je jako osobne ustawienia.

Trzy sposoby dzielenia jednego GPU między roleplay i obrazy, z oddzielnymi zadaniami lokalnymi i zdalnymi.

Przenieś jedno zadanie zdalnie albo pozwól lokalnej rozmowie i obrazom korzystać z GPU po kolei.

Dlaczego bezczynne okno rozmowy nadal zajmuje większość VRAM

To bywa mylące, bo rozmowa wygląda na nieaktywną. Nie generujesz odpowiedzi, wykorzystanie GPU spada, komputer jest cichy. Mimo to ComfyUI nie może załadować modelu obrazowego. Wykorzystanie GPU pokazuje aktualną pracę; zajętość pamięci pokazuje zasoby zachowane na następne zadanie. Backend może niemal nic nie robić i nadal utrzymywać dużą alokację.

Rozmiar pobranego modelu wyjaśnia tylko część sytuacji. LLM potrzebuje też miejsca na pamięć podręczną rozmowy i obliczenia tymczasowe. Większy kontekst może zwiększyć to obciążenie nawet bez zmiany wag modelu. Generowanie obrazu ma własne składniki i zadania tymczasowe. Szczytowe zużycie może pojawić się po udanym ładowaniu, a nie przy pobieraniu czy nawiązywaniu połączenia.

Rozróżnienie opisano w wyjaśnieniu opiekuna llama.cpp dotyczącym alokacji pamięci: wagi, pamięć podręczna kontekstu i bufory obliczeniowe są osobnymi alokacjami. Dlatego odjęcie rozmiaru pliku GGUF od liczby na pudełku karty nie jest dobrym sposobem oceny, czy ComfyUI ma dość miejsca.

Dla zilustrowania budżetu załóżmy, że karta 16 GB przeznacza 1 GB na pulpit i inne aplikacje, a backend tekstowy zajmuje 11 GB. Przed uruchomieniem obrazu pozostają około 4 GB. To wymyślone liczby objaśniające rachunek, a nie pomiar Z-Image ani zalecana alokacja. Informacja, że model działa na urządzeniu 16 GB, nie oznacza, że działa w tych pozostałych 4 GB.

Oficjalne repozytorium Z-Image opisuje działanie Turbo na konsumenckich urządzeniach 16 GB i oferuje przenoszenie obliczeń na CPU przy ograniczonej pamięci. To informacja o wdrożeniu modelu obrazowego. Nie uwzględnia rezerwy dla osobnego LLM do roleplayu, długiej pamięci podręcznej rozmowy, kilku adapterów i drugiego procesu jednocześnie wykonującego inferencję.

Przed zmianami sprawdź pamięć zamiast procentu wykorzystania GPU. W Windows otwórz Menedżer zadań, wybierz Wydajność i właściwą dedykowaną kartę. Odróżniaj dedykowaną pamięć GPU od pamięci współdzielonej. W innych systemach korzystaj z narzędzi monitorowania producenta GPU lub logów alokacji backendu. Kluczowe jest to, który proces pozostaje załadowany, a nie chwilowa bezczynność na wykresie.

Znajdź etap awarii w czterech krótkich kontrolach

Zrób to przed próbą nowej kwantyzacji, reinstalacją SillyTavern lub dodaniem węzła zwalniania modeli. Problem połączenia i problem VRAM mogą wyglądać identycznie w oknie rozmowy: w obu przypadkach nie ma obrazu.

Najpierw przetestuj samą rozmowę. Całkowicie zamknij backend obrazowy, uruchom zwykły backend tekstowy i wygeneruj jedną normalną odpowiedź roleplay. Zanotuj, czy już jest wolna. Jeśli tak, nie masz jeszcze problemu współdzielenia GPU z obrazami: sam lokalny LLM jest zbyt wymagający, używa niewłaściwego backendu wykonawczego lub przetwarza duży prompt.

Następnie przetestuj sam workflow obrazowy. Zatrzymaj backend tekstowy, uruchom ComfyUI i wygeneruj jeden obraz we własnym interfejsie ComfyUI. Użyj pojedynczego obrazu i ustawień przeznaczonych dla workflow. Jeśli to zawodzi bez lokalnego LLM, zmniejszenie kontekstu rozmowy nie pomoże. Najpierw napraw instalację obrazową, brakujące pliki, nieobsługiwane węzły albo zapotrzebowanie obrazu na pamięć.

Potem połącz SillyTavern z działającym backendem obrazowym. Pozostaw LLM zatrzymany, wyłącz Extend free-mode prompts w Image Generation i użyj ręcznej komendy, np. /sd a fictional adult lounge singer age 29 in a black satin evening outfit, seated beside an amber lamp. Omijasz dodatkowy etap przygotowania promptu przez model tekstowy. Jeśli ComfyUI działa bezpośrednio, a SillyTavern nie wysyła zadania, sprawdź źródło obrazów, adres serwera i workflow w formacie API. Nie zmniejszaj rozdzielczości, żeby naprawić URL wskazujący niewłaściwą usługę.

Na końcu powtórz próbę z załadowanym LLM. Jedyną dużą zmianą jest teraz dodatkowe zadanie tekstowe. Jeżeli obraz działał wcześniej, a tutaj zawodzi, masz dobry powód do rozdzielenia pamięci. Jeśli nadal działa, ale rozmowa potem mocno zwalnia, sprawdź, czy ComfyUI zachowało modele w pamięci lub czy backend tekstowy przeszedł na wolniejsze wykonanie.

Gdy te próby działają, przydaje się piąte porównanie. Zestaw ręcznie napisany prompt obrazowy z /sd last. Drugi wariant dodaje etap, w którym model tekstowy opisuje ostatnią rozmowę. Jeśli ręczne zadanie dociera do ComfyUI, a kontekstowe nie, problem może dotyczyć pisania promptu, a nie obrazu. Odmowy, pustej odpowiedzi lub błędnego opisu LLM nie naprawisz zwalnianiem pamięci backendu obrazowego.

Zapisz dokładny etap wyświetlany w ComfyUI przy awarii: ładowanie modelu, kodowanie tekstu, sampling, dekodowanie obrazu czy późniejsze dopracowanie. Ta obserwacja podpowiada, co usunąć. Awarię końcowego powiększania możesz obejść, odkładając upscale, a problem ładowania głównego modelu wymaga innego planu pamięci.

Opcja pierwsza: zachowaj lokalny roleplay, obrazy twórz gdzie indziej

Wybrałabym ją najpierw, jeśli lubisz swój lokalny model postaci i robisz tylko kilka obrazów podczas sesji. Zostaw konfigurację tekstową. Usuń z jej drogi generowanie obrazów, zamiast ograniczać rozmowę tak bardzo, że przestanie być tą, której chciałeś.

Źródło już obsługiwane przez SillyTavern

Otwórz Extensions i rozwiń Image Generation. W Source wybierz usługę rzeczywiście obecną na aktualnej liście źródeł. Skonfiguruj jej własne dane uwierzytelniające i model, zamiast wklejać adres modelu tekstowego do panelu obrazów. Oficjalna dokumentacja Image Generation opisuje listę źródeł i kontrolki poszczególnych integracji.

Następnie wygeneruj skromny portret postaci bez dosłownych treści, zanim włączysz automatyczne wyzwalacze. To pokaże, czy usługa, dane uwierzytelniające, model i obsługa wyniku działają razem. Obecność integracji na liście nie gwarantuje, że każdy dostępny przez nią model przyjmie zamierzoną scenę dla dorosłych.

Nie zastępuj adresu obrazowego konkretnej usługi ogólnym URL API innej firmy, oczekując automatycznego tłumaczenia protokołu. Nawet jeśli obie przyjmują prompt, mogą różnić się treścią zadania, statusem, formatem zwracanego obrazu, uwierzytelnianiem i błędami. Pole API URL nie oznacza, że każde API jest zamienne.

Uruchom ComfyUI na innym komputerze

Jeśli chcesz zachować checkpoint i LoRA, zostaw workflow, a przenieś jego wykonanie. Najpierw doprowadź do udanego generowania na drugim komputerze. Potrzebuje on zgodnego oprogramowania, plików modeli i zainstalowanych węzłów. JSON workflow wskazuje składniki, ale nie pakuje ich wszystkich do pliku.

W panelu Image Generation w SillyTavern wybierz ComfyUI, potem Standard Server. Podaj adres dostępny z komputera uruchamiającego serwer SillyTavern i naciśnij Connect. To, że telefon otwiera zdalną stronę ComfyUI, nie dowodzi, że dociera do niej host SillyTavern.

Jeśli usługi działają na różnych komputerach, 127.0.0.1 oznacza maszynę wysyłającą żądanie. Nie znajdzie ComfyUI na drugim komputerze. Użyj rzeczywiście dostępnego adresu tej instalacji. Przy hostingu online korzystaj z odpowiednio chronionego połączenia; nie musisz publicznie wystawiać nieograniczonej instancji ComfyUI w konfiguracji domowej.

Po pierwszym udanym obrazie dodaj zapisany workflow API. Zachowaj ten sam checkpoint i adaptery, jeśli zależy ci na zgodnych wynikach. Jeżeli zdalne GPU używa innego skwantyzowanego wariantu, popraw węzeł ładowania, zamiast zakładać identyczne zachowanie podobnie nazwanego pliku. Lokalny LLM może cały czas pozostać w pamięci, bo model obrazowy korzysta z pamięci innej maszyny.

Ta opcja jest atrakcyjna, jeśli już znasz ComfyUI. Mniej, jeśli chcesz dziś tylko dwa obrazy, a najpierw musiałbyś nauczyć się administrowania serwerem. Generator w przeglądarce może być praktyczniejszy mimo słabszej integracji.

Korzystaj ze SpicyAPI obok rozmowy

Zadania obrazowe SpicyAPI nie występują jako natywne źródło w sprawdzonej implementacji Image Generation w SillyTavern. Jego asynchronicznego kontraktu generowania nie można wkleić do pola URL ComfyUI ani traktować jako endpointu obrazowego AUTOMATIC1111. Ten poradnik nie dostarcza adaptera zamieniającego te protokoły i nie twierdzi, że go testował.

Możesz jednak pozostawić lokalny roleplay otwarty i otworzyć stronę modelu Z-Image Spicy w drugiej karcie. Wejdź do Playground, wklej wizualny opis aktualnej sceny, ustaw wymiary, wygeneruj i pobierz obraz. Lokalne GPU nadal jest dostępne dla LLM, bo inferencja obrazu odbywa się zdalnie.

Na pierwszy portret wybierz 832 na 1216 pikseli, wyłącz rozwijanie promptu i opisz jedną fikcyjną dorosłą osobę w konkretnym stroju i pomieszczeniu. Oba wymiary mieszczą się w publicznym zakresie Z-Image Spicy: 256–1536 pikseli na bok. To proponowana kompozycja startowa, a nie stwierdzenie, że wygenerowaliśmy tę scenę lub porównaliśmy jakość z twoim lokalnym checkpointem.

Zdalna usługa otrzymuje opis obrazu i przesłane zdjęcia. Nie musisz wysyłać całej historii roleplayu, żeby stworzyć obraz. Kopiuj tylko widoczne cechy postaci i aktualną scenę; usuń prywatne notatki, prawdziwe imiona i szczegóły niepotrzebne na pojedynczym kadrze.

Opcja druga: zachowaj lokalny workflow obrazów, przenieś rozmowę do API

Wybierz ją, jeśli najbardziej dopracowałeś model obrazowy. Możesz mieć konkretny checkpoint ilustracyjny, LoRA postaci, kontrolę pozy lub workflow sceny, którego usługa przeglądarkowa nie odtworzy. Przeniesienie rozmowy często jest prostsze niż odtwarzanie całej tej pracy gdzie indziej.

Najpierw zatrzymaj lokalny backend tekstowy, a nie tylko zmień wybór API. Jeżeli llama.cpp, Ollama lub inny serwer pozostaje załadowany w tle, może nadal zajmować pamięć, którą chciałeś odzyskać. Zapisz obecny profil połączenia, żeby móc wrócić, a potem podłącz wybrane hostowane źródło rozmowy.

SillyTavern obsługuje hostowane połączenia tekstowe niezależnie od źródeł obrazów. Postępuj zgodnie z dokumentacją API Connections dla wybranego protokołu. Źródło rozmowy może być lokalne lub hostowane niezależnie od kategorii Chat Completion czy Text Completion; nazwy opisują sposób wysyłania promptu, a nie lokalizację GPU.

Dla rozmów przez SpicyAPI nasz poradnik połączenia SillyTavern do roleplayu podaje ustawienia Custom zgodne z OpenAI i obsługę nieobsługiwanych parametrów poszczególnych modeli. Korzystaj z tej konfiguracji, zamiast wpisywać ID zadania obrazowego w pole modelu rozmowy. Głównym zadaniem tego artykułu jest zwolnienie GPU dla obrazów, więc nie trzeba tutaj powtarzać ustawień każdego modelu tekstowego.

Wróć do ComfyUI i uruchom dokładnie workflow, który działał osobno. Nie dodawaj od razu kolejnych etapów tylko dlatego, że GPU wygląda na wolne. Pierwsze zintegrowane żądanie powinno odpowiadać próbie izolowanej; to sprawdzi, czy zmiana źródła rozmowy usunęła zakłócenie.

Hostowany LLM nadal może pomagać w procesie obrazowym. Przekształca aktualną scenę w prompt, zanim SillyTavern wyśle lokalny workflow ComfyUI. To zadanie tekstowe, więc korzysta z usługi rozmowy zamiast ładować kolejny duży model na kartę.

Kosztem jest prywatność rozmowy i rozliczenie tokenów. API tekstowe otrzymuje kontekst dołączony przez SillyTavern, który może obejmować opis postaci, instrukcje, wybrane lore i wiadomości. Jeżeli rozmowa wyłącznie lokalna była warunkiem koniecznym, ta opcja nie jest drobnym usprawnieniem technicznym; zmienia miejsce przetwarzania tekstu.

Sprawdzaj pierwszą odpowiedź po każdym obrazie. Jeśli jest płynna, a ComfyUI poprawnie kończy pracę, rozwiązałeś główną konkurencję o pamięć GPU. Jeśli obraz pozostaje tak samo wolny jak przy pracy osobnej, ograniczenie jest wewnątrz zadania obrazowego, a nie w nowej hostowanej rozmowie.

SillyTavern kieruje rozmowę do modelu językowego, a workflow obrazowy do ComfyUI; generator przeglądarkowy pozostaje w osobnej karcie.

Źródła rozmowy i obrazów to osobne połączenia. Generator otwarty obok rozmowy jest opcją ręczną, a nie natywną integracją ComfyUI.

Opcja trzecia: wszystko lokalnie, ale po kolei

Jeśli ani tekst rozmowy, ani prompty obrazowe nie mają opuszczać komputera, używaj GPU sekwencyjnie. Potraktuj tworzenie obrazu jako krótką pauzę. Nie usuwasz postaci ani nie zaczynasz nowej rozmowy; chwilowo zmieniasz backend zajmujący pamięć GPU.

Zapisana rozmowa i załadowana pamięć podręczna kontekstu to różne rzeczy. SillyTavern zachowuje dane rozmowy, a cache backendu przyspiesza następne żądanie. Zatrzymanie lub zwolnienie backendu może usunąć ten cache. Po powrocie modelu tekstowego kolejne żądanie może ponownie przetwarzać kontekst. Historia pozostaje dostępna, ale pierwsza odpowiedź po wznowieniu może potrwać dłużej.

Kolejność pracy

  1. Dokończ obecną odpowiedź i zatrzymaj automatyczne regenerowanie lub wyzwalacze obrazów, które mogłyby wysłać kolejne żądanie.
  2. Przygotuj i zapisz opis obrazu, gdy model tekstowy nadal jest załadowany, albo napisz go sam.
  3. Zapisz rozmowę i zachowaj docelowy opis w miejscu, z którego możesz go wkleić.
  4. Zwolnij lub zatrzymaj backend tekstowy i potwierdź rzeczywisty spadek użycia dedykowanej pamięci GPU.
  5. Wygeneruj jeden obraz w ComfyUI z zapisanym opisem.
  6. Pobierz lub zachowaj gotowy obraz, a potem zwolnij modele ComfyUI albo zatrzymaj jego backend.
  7. Sprawdź ponowną dostępność pamięci, uruchom backend tekstowy z zapisanymi ustawieniami i w razie potrzeby połącz go ponownie.
  8. Kontynuuj tę samą rozmowę; jeśli poprzedni cache zniknął, pierwsza odpowiedź może odbudowywać kontekst.

Etap pisania promptu musi poprzedzać zwolnienie modelu. Jeśli zatrzymasz LLM, a potem poprosisz /sd last o opis sceny przez ten sam backend, usunąłeś usługę potrzebną w pierwszej części zadania obrazowego. W fazie obrazu wykorzystaj zapisany opis w ręcznym żądaniu /sd, z wyłączonym Extend free-mode prompts.

Zacznij ręcznie. Widoczne zatrzymanie i ponowne uruchomienie jest mniej eleganckie niż rozszerzenie zwalniające modele, ale pokazuje, czy podstawowy plan pamięci działa. Jeśli obraz nadal zawodzi po zamknięciu procesu tekstowego, automatyczne przełączanie tylko szybciej odtworzy awarię.

Ollama: zwolnij model, nie tylko zamknij okno

Ollama dokumentuje komendę zatrzymania i ustawienie keep_alive. Bezpośrednia ręczna czynność to ollama stop YOUR_MODEL_NAME, z dokładną nazwą z twojej instalacji. Oficjalne FAQ opisuje też ustawienie keep_alive na zero w obsługiwanych żądaniach API, żeby zwolnić model po użyciu.

Najpierw dokończ opis obrazu, potem zatrzymaj model i uruchom fazę obrazową. Przy następnym żądaniu rozmowy Ollama może ponownie załadować model. Wyłącz automatyczne pisanie promptów w tle, gdy ComfyUI zajmuje kartę; takie żądania mogą w niewłaściwym momencie ponownie sprowadzić LLM do pamięci.

Nie zakładaj, że klient rozmowy pozwala ustawić każdy parametr Ollama w każdym typie API. Korzystaj z jawnie obsługiwanej opcji albo udokumentowanej komendy stop. Suwak kontekstu czy ogólne pole dodatkowej treści żądania nie oznacza automatycznie obsługi natywnego cyklu życia Ollama.

llama.cpp: korzystaj z cyklu życia własnego backendu

Jeśli uruchamiasz proces llama-server z jednym modelem, zatrzymanie go jest najprostszym ręcznym sposobem zwolnienia alokacji przed załadowaniem workflow obrazowego. Potem uruchom go z tymi samymi zapisanymi ustawieniami. Zamknięcie przeglądarki, bezczynność rozmowy lub zmiana nazwy modelu w SillyTavern nie zatrzymuje osobnego procesu.

Nowsze wersje serwera llama.cpp oferują również zarządzanie modelami, ale dostępne operacje zależą od sposobu uruchomienia i zainstalowanej wersji. Start z jednym modelem i router wielu modeli to różne konfiguracje. Używaj kontrolek udokumentowanych dla rzeczywistego serwera; nie kopiuj żądania zwalniania przeznaczonego dla innego backendu.

ComfyUI: zwolnienie jego modeli nie zwalnia LLM

ComfyUI udostępnia operację /free z opcjami unload_models i free_memory w oficjalnej implementacji serwera. Ustawia flagi obsługiwane przez system wykonawczy. Nie nakazuje zatrzymania osobnego procesu llama.cpp, a przyjęcie żądania nie dowodzi natychmiastowego zwolnienia wszystkich wskazanych bajtów.

Po zakończeniu generowania użyj kontrolki zwalniania modeli dostępnej w swoim interfejsie lub instalacji ComfyUI. Jeśli nie możesz jej znaleźć, zatrzymanie backendu ComfyUI jest prostym punktem odniesienia. Samo zamknięcie karty przeglądarki nie zatrzymuje serwera.

Własny węzeł zwalniania może pomóc, ale tylko przy właściwej kolejności wykonania. Jeśli uruchamia się przed późniejszym dopracowaniem nadal wymagającym modelu, model może zostać załadowany ponownie. Jeśli zwalnia tylko modele ComfyUI, backend roleplayu pozostaje nietknięty. Przeczytaj dokumentację węzła, zanim uznasz, że steruje obiema aplikacjami.

Uruchom połączenie ComfyUI, zanim zaczniesz dostrajać pamięć

Obsługa ComfyUI w SillyTavern jest rzeczywistą integracją workflow, a nie uniwersalnym mostem API obrazów. Wysyła graf w formacie API do serwera ComfyUI i odbiera wynik. Workflow wyglądający poprawnie na pulpicie może zawieść przez SillyTavern, jeśli wyeksportowałeś zły format lub zostawiłeś stały prompt.

Zacznij w samym ComfyUI. Wygeneruj jeden obraz z dokładnym checkpointem, enkoderem tekstu, VAE i węzłami, których chcesz używać. Zapisz zwykły workflow, żeby później otworzyć go wizualnie. Następnie wyeksportuj wersję API przez opcję udostępnioną przez twój frontend ComfyUI; nazwy menu mogą różnić się między wersjami.

W SillyTavern wybierz ComfyUI w Image Generation, Standard Server dla zwykłej lokalnej instalacji i adres wyświetlany przez serwer ComfyUI. Udokumentowana wartość domyślna to http://127.0.0.1:8188. Ten lokalny adres należy do ustawienia aplikacji; nie jest publiczną witryną ani adresem do publikowania dla innych osób.

Naciśnij Connect, utwórz lub wybierz workflow i umieść graf API w jego edytorze. Integracja udostępnia podstawienia, np. %prompt% dla pozytywnego promptu. Używaj ich tylko tam, gdzie graf faktycznie przyjmuje odpowiednią wartość. Workflow bez podstawień może być poprawnym JSON-em ComfyUI i za każdym razem tworzyć oryginalny obraz demonstracyjny.

W grafie używającym CLIP Text Encode znajdź pole tekstu zasilające pozytywne warunkowanie i zastąp testowy opis podstawieniem promptu. Jeśli tekst przyjmuje własny loader lub inny węzeł, podstawienie umieść tam. Nie dodawaj niepodłączonego węzła tekstowego tylko po to, żeby edytor pokazał zielony znacznik.

Wyślij następnie dwa celowo różne zadania: najpierw dorosłą piosenkarkę klubową, potem pusty pokój w świetle świec. Jeśli oba dają ten sam temat, sprawdź eksportowany graf przed zmianą seedów lub instalacją nowego modelu. Najpierw szukaj stałego promptu. Jeśli zmienia się tylko kolor lub nastrój, sprawdź, czy inny prefiks albo pole tekstowe nadal zawiera pierwotny opis postaci.

Ustawienia pamięci, które warto zmienić — i te mylące

Nie włączaj jednocześnie każdej flagi optymalizacji z komentarza na forum. Musisz wiedzieć, czy zmniejszasz zadanie tekstowe, obrazowe, czy zmieniasz sposób utrzymywania nieużywanej pamięci. To różne działania, inaczej wpływające na następną odpowiedź.

Zmniejsz kontekst backendu tekstowego przed pogarszaniem jakości postaci

Ustawienie kontekstu 32K lub większego może rezerwować więcej miejsca, niż potrzeba na dzisiejszy wieczór. Wypróbuj zapisany profil z mniejszym kontekstem backendu, np. 4096 lub 8192 tokenów, jeśli nadal mieści kartę postaci, instrukcje, potrzebne lore i ostatnią rozmowę. To przykładowe wielkości profilu, a nie gwarancja zmieszczenia konkretnego modelu.

Ustaw też odpowiedni kontekst żądania SillyTavern dla tego backendu. Zmniejszenie samej ilości historii wysyłanej przez klienta może nie zmniejszyć cache przydzielonego przy uruchomieniu serwera. Z kolei zwiększenie suwaka klienta nie zwiększa faktycznej pojemności serwera. Jeżeli opcja dotyczy alokacji backendu, zmień ją tam i uruchom lub załaduj go ponownie zgodnie z wymaganiami implementacji.

Dokumentacja serwera llama.cpp opisuje rozmiar kontekstu, warstwy GPU, typy cache i przenoszenie KV poza GPU. Korzystaj z nazw z pomocy swojej wersji. Automatyczne dopasowanie modelu tekstowego do urządzenia nie gwarantuje w szczególności miejsca na późniejszy szczyt zużycia pamięci innej aplikacji.

Zmniejszenie liczby warstw GPU przenosi część inferencji tekstowej poza GPU. Może zwolnić miejsce kosztem wolniejszego przetwarzania. Kwantyzacja cache rozmowy jest inną opcją niż wybór skwantyzowanego pliku modelu. Plik wag Q4 nie oznacza automatycznie czterobitowej pamięci podręcznej.

Zmniejsz szczyt obrazów przez prostsze generowanie

Używaj batch size jeden. Generowanie kilku obrazów po kolei różni się od jednoczesnego przetwarzania partii. Zachowaj zwykłe proporcje modelu i rozsądny początkowy rozmiar, a drugi sampling w dużej rozdzielczości odłóż do czasu, aż podstawowy obraz się powiedzie.

Jeśli graf zawodzi przy dekodowaniu VAE, warto wypróbować obsługiwany dekoder kafelkowy. Jeśli problem dotyczy ładowania głównego modelu, dekodowanie kafelkowe nie zmniejszy jego wag. Jeśli awaria pojawia się tylko przy dopracowaniu twarzy lub powiększaniu, usuń ten etap z bieżącego workflow i wykonaj później przy zatrzymanym backendzie rozmowy.

Sprawdź znaczenie Low VRAM w swoim programie

Aktualne definicje argumentów ComfyUI odróżniają dynamiczne zarządzanie pamięcią od starszych flag. --lowvram nic nie robi przy włączonym DynamicVRAM; bez niego przenosi enkodery tekstu na CPU. To węższe działanie niż „zmieść każdy model obrazowy w dowolnej pozostałej pamięci”.

ComfyUI oferuje też rezerwację pamięci i bardziej agresywne przenoszenie obliczeń. Rezerwa może pomóc pozostawić miejsce innym programom, ale nie jest wspólnym harmonogramem ComfyUI i backendu rozmowy. Jeśli ich minimalne zadania razem się nie mieszczą, rezerwacja nie stworzy dodatkowej pamięci. Zmieniaj jedną opcję i powtarzaj identyczne zadanie z jednym obrazem.

KoboldCpp ma inne kontrolki. Jego szybki start SillyTavern wprost ostrzega przed zaznaczaniem pokazanego pola Low VRAM. Strona opisuje starszy launcher, dlatego sprawdź również pomoc swojej wersji. Praktyczna lekcja: nie kopiuj ustawienia tylko dlatego, że inna aplikacja używa tej samej nazwy.

Karta AMD zmienia szczegóły konfiguracji, nie rachunek pamięci

Niedawne pytanie społeczności dotyczyło AMD i backendu Vulkan w llama.cpp. To powód, żeby uwzględniać obsługiwane ścieżki wykonania zamiast wklejać komendę CUDA z poradnika NVIDIA. Dostępne przyspieszenie, formaty liczb i operatory zależą od GPU, systemu, kompilacji i rzeczywiście zainstalowanego backendu.

Najpierw potwierdź działanie każdej aplikacji osobno. Udane generowanie tekstu przez Vulkan nie dowodzi, że ComfyUI korzysta z odpowiedniego przyspieszonego backendu obrazowego. Działający model obrazowy nie dowodzi też, że lokalny LLM zbudowano z zamierzonym backendem. Sprawdzaj komunikaty startowe i urządzenie używane w izolowanych próbach.

Jeśli tekst osobno działa szybko i obrazy osobno też, ale wspólna praca zawodzi, dyskusja o marce GPU raczej nie rozwiąże braku miejsca. Przenieś jedno zadanie zdalnie albo używaj ich kolejno. Jeśli jedna aplikacja jest wolna nawet sama, napraw ją przed badaniem pracy równoczesnej.

Uważaj na skwantyzowany model obrazowy opisany jako „przyjazny 8 GB” bez pełnej konfiguracji. Opis może pomijać enkoder tekstu, zakładać offloading, konkretny własny węzeł albo całkowicie wolne GPU. Przed pobraniem przeczytaj wymagania loadera konkretnego modelu i potwierdź obsługę kwantyzacji w swoim backendzie obrazowym.

Dopasuj obraz do sceny dla dorosłych bez wysyłania całej historii

Gdy konfiguracja działa, pamięć nie jest jedynym źródłem rozczarowania obrazem. Model roleplay może opisywać uczucia postaci zamiast tego, co widzi kamera. Powstaje wiarygodny portret, który ignoruje pomieszczenie, strój lub bieżącą czynność.

Dla fikcyjnej dorosłej Mary oddziel stały wygląd od aktualnej sceny. Stałe fakty to np. wiek 29 lat, krótki ciemny bob, srebrna nausznica i mały tatuaż półksiężyca na ramieniu. Aktualne fakty to czarny satynowy strój, aksamitny fotel, ciepłe przygaszone światło i pewne spojrzenie z ukosa. Tylko druga grupa powinna się zmieniać po przeniesieniu historii do innego pokoju.

Oto propozycja opisu do dostosowania; nie używaliśmy jej do testu modelu w tym artykule:

Fikcyjna dorosła piosenkarka klubowa, 29 lat, z krótkim ciemnym bobem i srebrną nausznicą, w dopasowanym czarnym satynowym stroju wieczorowym, siedzi bokiem w głębokim bordowym aksamitnym fotelu. Ma pewny siebie, figlarny wyraz twarzy. Ciepłe bursztynowe światło pada z lampy stołowej, a w tle miękko rozmywa się nocny salon klubowy. Portret średni, dłonie rozluźnione i widoczne, kameralny klimat sesji redakcyjnej, bez napisów.

Jeśli postać przeszła z salonu na balkon, zmień otoczenie i światło, zamiast przepisywać każdą cechę identyfikacyjną. Jeśli w rozmowie zmieniła strój, jasno wpisz nowy i usuń stary. Sprzeczne opisy ubioru mogą dać złą scenę nawet wtedy, gdy model obrazowy najlepiej jak potrafi podąża za tekstem.

Prefiksy postaci pomagają zachować spójność opisu, ale nie gwarantują tej samej twarzy. Tożsamość wizualna wymagająca zgodnych referencji lub dedykowanej LoRA potrzebuje workflow rzeczywiście obsługującego tę metodę. Tekst karty postaci i jej awatar nie stają się automatycznie referencją w każdym źródle obrazowym.

Sekwencja komiksowa pokazująca zapisany opis sceny, pauzę na generowanie obrazu i powrót do tej samej rozmowy.

Zapisz opis obrazu przed zwolnieniem modelu tekstowego; potem wznów zapisaną rozmowę.

Ile faktycznie kosztują sporadyczne obrazy zdalne

Opcję przeglądarkową warto rozważyć przed zakupem sprzętu tylko po to, żeby unikać sporadycznego przełączania modeli. W obecnym publicznym katalogu SpicyAPI Z-Image Spicy kosztuje $0.01235 za obraz przy wyłączonym rozwijaniu promptu i $0.0133 przy włączonym. Z-Image Spicy Pro kosztuje $0.019 za obraz. To opłaty obrazowe, a nie abonament ani koszt hostowanej rozmowy.

Planowana liczba zadań obrazowychSpicy, rozwijanie wyłączoneSpicy, rozwijanie włączoneSpicy Pro
10$0.1235$0.133$0.19
50$0.6175$0.665$0.95
100$1.235$1.33$1.90

Rachunek to zwykłe pomnożenie wyświetlanej stawki za obraz. Nie szacuje, ile prób da obraz, który zachowasz. Jeśli tworzysz cztery warianty i wybierasz jeden, zaplanuj cztery zlecone generowania. Wywołania rozmowy piszące prompt, dalsza edycja i upscale są osobnymi zadaniami, jeśli je dodasz.

Dla dziesięciu obrazów w ciągu wieczoru podany koszt obrazowy jest więc na tyle mały, że można go porównać z niedogodnością zatrzymania i ponownego ładowania lokalnego modelu. Nie rozstrzyga to wyboru, jeśli potrzebujesz offline, dokładnych lokalnych LoRA albo pozostawienia promptów na komputerze. Te wymagania mogą przeważać nad niską ceną za obraz.

Wybierz stronę Spicy Pro, jeśli potrzebujesz publicznego zakresu do 2560 pikseli na bok; zwykły Spicy wystarczy, jeśli portret mieści się w maksymalnych bokach 1536 pikseli. Większy limit wymiarów jest potwierdzoną różnicą funkcjonalną, a nie dowodem przewagi Pro w każdej scenie z dorosłą postacią.

Napraw objaw, który rzeczywiście widzisz

ComfyUI generuje, ale SillyTavern zgłasza niedostępność obrazów

Otwórz Image Generation i wybierz skonfigurowane źródło. Nowa lub starsza instalacja może zachować źródło, które nie jest połączone. Sprawdź adres w panelu obrazowym, a nie URL API rozmowy. Dla źródła chmurowego użyj jego własnych danych i konfiguracji obrazowej. Działające połączenie tekstowe nie ustanawia połączenia obrazowego.

Następnie wypróbuj krótkie ręczne żądanie obrazu. Jeśli działa, przejdź do promptów wynikających z kontekstu. Rozbudowany automatyczny wyzwalacz na początku utrudnia rozróżnienie niedostępnego źródła od wyzwalacza, który nigdy nie dopasował wiadomości.

SillyTavern łączy się, ale każdy obraz wygląda jak przykład workflow

Otwórz workflow API i znajdź pozytywny tekst faktycznie używany przez graf. Zastąp stały przykład podstawieniem promptu we właściwym wejściu. Sprawdź inne aktywne pola tekstu i prefiksy pod kątem starego tematu. Zmiana seedów daje tylko różne wersje nadal zakodowanego na stałe promptu.

Obraz zawodzi tylko przy załadowanym modelu rozmowy

Pozostaw działający osobno workflow bez zmian i rozdziel pamięć: obrazy zdalne, rozmowa hostowana albo sekwencyjna praca lokalna. Jeśli chcesz równoczesnej pracy lokalnej, najpierw zmniejsz rzeczywistą alokację kontekstu backendu lub liczbę warstw GPU. Ponawianie identycznego wspólnego zadania nie zwiększy dostępnej pamięci.

Pierwszy obraz działa, a następna odpowiedź rozmowy zwalnia

Sprawdź pamięć po ukończeniu obrazu. ComfyUI może zachować modele dla szybszego ponownego użycia, a backend tekstowy przenieść pracę do wolniejszej pamięci. Zwolnij zakończone zadanie obrazowe przed kolejną odpowiedzią albo przenieś obrazy zdalnie. Jeśli restart procesu rozmowy przywraca szybkość, zachowaj mniejszy profil do wspólnego użycia, zamiast znów uruchamiać profil zajmujący całą pamięć.

Zwolniłeś ComfyUI, a VRAM nadal wygląda na pełną

Ustal proces utrzymujący pozostałą alokację. ComfyUI zwalnia swoje modele, ale nie LLM innej aplikacji. Odróżniaj też przydzielony cache od pamięci faktycznie oddanej urządzeniu. W ręcznej konfiguracji bazowej świadomie zatrzymaj procesy backendów i sprawdź zmianę pamięci przed ponownym uruchomieniem.

Obraz nie zaczyna się po prośbie o ostatnią scenę

Wypróbuj tę samą scenę jako ręczny prompt free-mode z wyłączonym rozwijaniem. Jeśli działa, sprawdź etap pisania promptu przez model tekstowy. Endpoint może być zatrzymany, odpowiedź pusta lub instrukcje mogą dawać prozę zamiast formatu oczekiwanego przez workflow. Zwalnianie pamięci obrazu nie naprawia brakującej odpowiedzi tekstowej.

Renderer startuje, lecz zawodzi przy końcowym dopracowaniu

Usuń detailer, drugi sampling lub upscaler z bieżącego grafu i wygeneruj obraz bazowy. Jeśli baza działa, zapisz ją i wykonaj dodatkowy etap osobno przy zwolnionym backendzie tekstowym. Możesz zachować rozbudowany workflow dla finalnych prac, nie zmuszając każdego spontanicznego obrazu z rozmowy do jego wykonania.

GPU nie jest pełne, a wszystko nadal nieznośnie wolne

Sprawdź, czy zadanie działa na zamierzonym przyspieszonym urządzeniu i czy nie wyczerpano RAM systemowej. Intensywny offloading na CPU może dać technicznie działającą konfigurację, lecz niewygodną do rozmowy na żywo. Kolejna optymalizacja VRAM może wtedy wymienić szybkość na jeszcze więcej offloadingu; przeniesienie jednego zadania zdalnie bywa wyraźniejszą poprawą.

Przykładowy budżet karty 16 GB: 1 GB dla innych aplikacji, 11 GB dla rozmowy i pozostałe 4 GB.

Liczby wyłącznie ilustracyjne: model mieszczący się na wolnej karcie 16 GB nie musi zmieścić się obok LLM zajmującego większość pamięci.

Realistyczny plan startowy na następną sesję

Przy 8 GB pozostaw lokalnie jedno wymagające zadanie generowania. Jeśli masz dobry lokalny model roleplay, zostaw go w pamięci i twórz sporadyczne obrazy przez obsługiwane źródło zdalne lub drugą kartę przeglądarki. Jeśli masz dobry lokalny workflow obrazów, zatrzymaj backend tekstowy i użyj hostowanej rozmowy. Wybierz całkowicie lokalne przełączanie, gdy pozostawienie materiału na komputerze jest ważniejsze niż płynne tempo.

Przy 16 GB zacznij od tego samego prostego planu, jeśli lokalny LLM zajmuje większość karty. Jeśli jest miejsce na eksperymenty, najpierw potwierdź działanie workflow obrazowego osobno, a następnie przetestuj mniejszy profil rozmowy z jednym obrazem, bez dopracowania i z ograniczonym kontekstem. Stabilna para jest przydatna; konfiguracja mieszcząca się tylko przed rozrośnięciem rozmowy nie zapewnia niezawodnego wieczoru.

Celem jest sesja, w której czytasz i piszesz zamiast stale restartować nieudane zadania. Przydziel GPU jasne zadanie, połącz źródło obrazów przez protokół faktycznie obsługiwany przez SillyTavern i ogranicz pierwszy bieżący workflow tak, żeby łatwo go diagnozować. Gdy zadziała, dodawaj po jednym brakującym elemencie kontroli postaci lub końcowego dopracowania.

Także w językach English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano

Wypróbuj samodzielnie

Płacisz tylko za to, co uruchomisz — bez planów i subskrypcji.

Zrobione w MiniMax H3 · ByteDance Seedance 2.0 Fast