NsfwAiApi/Przewodnik
Najlepszy lokalny LLM do odgrywania ról czy API w chmurze?
Najlepszym lokalnym LLM do odgrywania ról jest największy model bez cenzury, który zmieści się na Twojej karcie GPU przy akceptowalnej jakości, a ta odpowiedź zmienia się co kilka miesięcy. Jeśli wolisz pominąć sprzęt, endpoint w chmurie daje ten sam przepływ pracy z jedną zmianą URL.

Lokalny czy w chmurze: szybka decyzja
Wybierz lokalny, jeśli masz już dostępną wydajną kartę GPU, chcesz mieć wszystko offline lub lubisz stroić modele. Wybierz chmurę, jeśli chcesz długiej pamięci w historii, używasz laptopa lub telefonu, wolisz poświęcić minuty niż weekendy na konfigurację. Wielu użytkowników robi jedno i drugie: lokalny model do prywatnych eksperymentów i chmurowy do długich kampanii.
| Czynnik | Model lokalny | Hostowane API |
|---|---|---|
| Model kosztowy | Sprzęt i energia, brak opłaty za token | Płatność za token z przedpłaconego kredytu |
| Rozmiar modelu | Ograniczone pamięcią karty GPU | Zależnie od tego, co uruchamia dostawca |
| Długość kontekstu | Ograniczone pamięcią, ponieważ dłuższy kontekst wymaga jej więcej | 100 000 tokenów tutaj |
| Prywatność | Nic nie opuszcza Twojego urządzenia | Prompty trafiają do dostawcy; tutaj nie są używane do trenowania |
| Konfiguracja | Czas działania, wagi, kwantyzacja, aktualizacje | Base URL i klucz |
| Działa na dowolnym urządzeniu | Tylko jeśli udostępnisz własne urządzenie | Tak |
Co naprawdę decyduje o najlepszym lokalnym modelu
Rankingi najlepszych lokalnych LLM do odgrywania ról starzeją się szybko, a żadna nazwa nie pasuje do każdego. Zamiast tego, oceniaj kandydatów pod kątem rzeczy, które pojawiają się w rzeczywistej sesji.
- Zachowanie przy odmowie. Wiele modeli bazowych i instruktażowych jest dostrojonych do odmawiania określonych tematów. Modele dostrojone do fikcji lub oznaczone jako bez cenzury zwykle odmawiają rzadziej, ale jakość się różni, więc przetestuj je na własnych scenach.
- Pozostawanie w charakterze. Szukaj modelu, który nie zaczyna narracji działań Twojej postaci, nie powtarza tych samych fraz w każdej turze i nie zapomina, kto jest w pokoju.
- Jakość prozy. Przeczytaj dziesięć odpowiedzi jedna po drugiej. Niektóre modele są OK do jednej tury, ale męczące po dziesiątej.
- Obsługa kontekstu. Model może reklamować długie okno, a i tak tracić szczegóły ze środka. Uruchom test, w którym fakt z początku rozmowy ma znaczenie później.
- Rozmiar i kwantyzacja. Większy model ściśnięty w ciężką kwantyzację może stracić więcej niż mniejszy uruchomiony z wyższą precyzją. Porównuj, nie zakładaj.
Wątki społecznościowe i karty modeli dla używanego przez Ciebie środowiska wykonawczego to właściwe miejsce na aktualne rekomendacje. Pobierz dwa lub trzech kandydatów, uruchom tę samą scenę na każdym i zachowaj ten, który sprawi, że będziesz chciał kontynuować historię.
Gdzie lokalnie kończy się miejsce
Ściana, w którą uderza większość graczy odgrywających role, to pamięć, i pojawia się w dwóch miejscach. Pierwsze to sam model: większy model pisze lepiej, ale potrzebuje więcej pamięci GPU. Drugie to kontekst. Każda wiadomość w długiej historii jest wysyłana ponownie z każdą nową turą, a pamięć podręczna, która ją przechowuje, również rośnie wraz z długością, więc długa kampania może przeciążyć kartę GPU, która dobrze radzi sobie z krótkimi rozmowami.
Zwykłe obejścia to podsumowanie starych tur, użycie ksiąg legend, które wstrzykują tylko istotne fakty, i zmniejszenie rozmiaru kontekstu. Działają, ale wymagają też pracy. Endpoint w chmurze z oknem 100 000 tokenów pozwala utrzymać znacznie więcej historii na widoku, co pasuje do długich kampanii, wspólnych światów z wieloma postaciami i historii trwających tygodniami.
Kompromisem jest koszt, więc warto go zmierzyć. Załóżmy, że rozmowa ma 30 000 tokenów historii, a model generuje 300 tokenów na odpowiedź. Jedna tura kosztuje 30 000 tokenów wejściowych po $0,15 za 1 mln, co daje $0,0045, plus 300 tokenów wyjściowych po $0,50 za 1 mln, co daje $0,00015. To $0,00465 za turę, albo $0,465 za 100 tur. Długi wieczór zabawy kosztuje mniej niż dolar. Strona z cenami zawiera stawki i poziomy bonusów za większe doładowania.
Działająca konfiguracja w Pythonie
Endpoint jest kompatybilny z OpenAI, więc oficjalny pakiet openai działa bez zmian poza Base URL i kluczem. ID modelu to uncensored. Najpierw uzyskaj klucz ze strony klucz API; nowe konta mogą odebrać darmowy kredyt próbny za $0.50 jednym kliknięciem, bez podawania danych do płatności.
Ten skrypt utrzymuje listę historii, strumieniuje odpowiedź i przycina stare tury, aby prompt pozostawał mały. Prompt systemowy to część warta Twojego czasu: ustawia scenę, zasady i styl.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.nsfwaiapi.com/v1",
api_key=os.environ["NSFWAIAPI_KEY"],
)
SYSTEM = '''You are the narrator and all non-player characters in an adult fiction roleplay.
Setting: a rain-soaked port city, late autumn, gaslight and smuggler politics.
Rules:
- Write in third person, past tense, 2 to 4 short paragraphs per reply.
- Never write the player's actions, words or thoughts. Stop where the player decides.
- Keep each character's voice and goals consistent. Track who is present in the scene.
- All characters are adults. Do not write sexual content involving minors under any circumstances.
- Stay in the story. No disclaimers or out-of-character commentary unless the player asks with (OOC).'''
history = [{"role": "system", "content": SYSTEM}]
MAX_TURNS = 40 # keep the last 40 messages besides the system prompt
def say(user_text):
history.append({"role": "user", "content": user_text})
trimmed = [history[0]] + history[1:][-MAX_TURNS:]
stream = client.chat.completions.create(
model="uncensored",
messages=trimmed,
temperature=0.9,
top_p=0.95,
frequency_penalty=0.3,
max_tokens=600,
stream=True,
)
reply = ""
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
piece = chunk.choices[0].delta.content
reply += piece
print(piece, end="", flush=True)
print()
history.append({"role": "assistant", "content": reply})
say("I push open the door of the Gull and Anchor and look for the harbor master.")
Ponieważ okno kontekstu to 100 000 tokenów, możesz znacznie zwiększyć MAX_TURNS przed koniecznością przycinania. Przycinanie to dobra praktyka: krótsze prompty kosztują mniej i utrzymują model skupiony na ostatnich wydarzeniach.
Ustawienia klienta dla SillyTavern i podobnych aplikacji
Większość interfejsów do odgrywania ról ma ekran połączenia dla źródła kompatybilnego z OpenAI lub niestandardowego źródła ukończenia czatu. SillyTavern, na przykład, pozwala dodać endpoint kompatybilny z OpenAI. Pola są takie same wszędzie:
- Adres URL bazowy lub endpoint:
https://api.nsfwaiapi.com/v1. Niektóre aplikacje wymagają pełnej ścieżki kończącej się na/chat/completions; jeśli aplikacja pyta o adres URL bazowy, zatrzymaj się na/v1. - Klucz API: Twój klucz, wysyłany jako token bearer.
- Model:
uncensored. Jeśli aplikacja może pobrać listę modeli, może wywołaćGET /v1/models. - Strumieniowanie: włączone. Odpowiedzi pojawiają się w miarę ich generowania, a aplikacja może przerwać wcześniej, jeśli nie podoba Ci się kierunek.
Dla próbkowania temperatura około 0,8 do 1,0 pasuje do tekstu narracyjnego, z top_p bliskim 0,95. Małe kary częstotliwości lub obecności zmniejszają powtarzające się frazy, które długie rozmowy mają tendencję do zbierania. Zwiększ karę tylko, jeśli widzisz powtórzenia, ponieważ wysokie wartości sprawiają, że proza jest dziwnie unikająca. Sekwencje zatrzymania są przekazywane, więc dodanie imienia gracza po którym następuje dwukropek jako ciąg zatrzymania pomaga, jeśli model próbuje mówić za Ciebie. Ustaw rozmiar kontekstu aplikacji na dowolny, za który chcesz płacić; nie musisz wypełniać wszystkich 100 000 tokenów.
Pamiętaj o współbieżności, jeśli uruchamiasz wiele kart czatu lub bota dla przyjaciół. Pełny klucz pozwala na 8 równoległych zapytań i 300 na minutę, a klucz próbny na 2 i 60. Odpowiedź strumieniowana trzyma swój slot do końca strumieniowania, więc utknęta karta może zużyć slot. dokumentacja wymienia limity i nagłówki odpowiedzi, w tym X-Balance-USD, który pokazuje Twój pozostały kredyt.
Mała rutyna, która utrzymuje długie historie w dobrej kondycji
Długie sesje odgrywania ról psują się w przewidywalny sposób, a kilka nawyków zapobiega większości z nich. Zapisuj krótkie streszczenie historii co 20 lub 30 tur i trzymaj je na początku promptu, po wiadomości systemowej. Aktualizuj go ręcznie lub poproś model o jego wygenerowanie, a następnie sprawdź, czy imiona, miejsca i obietnice przetrwały. Przypnij fakty, które muszą nigdy nie zostać zapomniane, takie jak relacje i otwarte wątki, w samym promptcie systemowym.
Jeśli odpowiedź pójdzie w kierunku, który Ci się nie podoba, wygeneruj ją ponownie zamiast kłócić się z nią w czacie. Argumenty zanieczyszczają historię i uczą model, że scena dotyczy sporu. Kiedy chcesz poprowadzić, dodaj jedną wyraźną linię w nawiasie, np. notkę o nastroju kolejnej sceny, i pozwól następnej odpowiedzi ją przenieść. Trzymaj spójne imiona postaci i dodaj do każdej postaci niezależnej jednowierszową notkę głosową, ponieważ modele mylą postacie brzmiące podobnie.
Uczciwe limity tego modelu
To jeden model o otwartych wagach, uruchamiany przez niezależnego dostawcę i dostrojony do odpowiadania bez odmów treści dla prawnego użytku dorosłych. Nie jest to oficjalny API żadnego dostawcy modeli i nie jest routerem między kilkoma modelami. Nie możesz wybierać między modelami i nie powinieneś spodziewać się, że będzie pasował do najlepszych modeli zamkniętych we wszystkich zadaniach.
Generuje tylko tekst. Nie ma obrazów dla Twoich postaci, nie ma głosu i nie ma wektorów embeddingów do wyszukiwania w lorebooku, więc jeśli chcesz portrety lub mowę, musisz dodać osobną usługę dla każdej. Nie ma też dostrajania. Jakość będzie również zależała od Twojego promptu: niejasny prompt systemowy daje niejasną fikcję, a dobry profil postaci z przykładowym dialogiem robi więcej niż jakakolwiek zmiana próbkowania.
Jedna reguła jest stała. Treści seksualne z udziałem nieletnich są niedozwolone, a konfiguracja, która próbuje je wyprodukować, nie będzie wspierana. Trzymaj postacie jako dorosłe i dbaj, by Twoje korzystanie z usługi było zgodne z prawem. Dla fikcji, aplikacji towarzyskich i czatu postaci stworzonych dla dorosłych, kombinacja mniejszej liczby odmów i długiego okna kontekstu jest użyteczna.
Więcej przewodników
Pytania i odpowiedzi
Czy lokalny LLM jest lepszy niż API hostowane do odgrywania ról?
Żadna opcja nie wygrywa wszędzie. Rozwiązanie lokalne daje prywatność offline i brak kosztu za token, podczas gdy rozwiązanie hostowane oferuje dłuższe okno kontekstu i brak ograniczeń sprzętowych. Wielu użytkowników używa obu.
Czy mogę użyć SillyTavern z tym API?
Tak. SillyTavern i podobne aplikacje akceptują endpoint zgodny z OpenAI. Wpisz https://api.nsfwaiapi.com/v1 jako URL, swój klucz i ID modelu uncensored.
Ile kontekstu może zużyć sesja odgrywania ról?
Okno kontekstu wynosi 100 000 tokenów, licząc razem prompt i odpowiedź. Długie rozmowy kosztują więcej, ponieważ historia jest wysyłana przy każdej turze.
Czy generuje obrazy lub głos dla moich postaci?
Nie. Usługa obsługuje tylko tekst, bez generowania obrazów, audio lub wideo oraz bez embeddingów.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.
Uzyskaj klucz APINsfwAiApiAPI LLM bez cenzury do generowania tekstu NSFW