PL ▾
Pobierz klucz API

Zbuduj chatbota AI bez filtrów za pomocą API

Chatbot AI bez filtrów to aplikacja, której model odpowiada na legalne prośby dorosłych zamiast je odrzucać. Możesz go zbudować w około czterdziestu liniach Node lub bez kodu we frontendzie takim jak SillyTavern; ten przewodnik obejmuje oba podejścia wraz z pamięcią, kosztami i limitami.

Zaktualizowano

Izometryczna ilustracja świecących bąbelków czatu obok sześcianu terminalu, przedstawiająca budowę chatbota na otwartym API

Co może i nie może oznaczać „bez filtrów”

Użytkownicy szukający chatbota bez filtrów zazwyczaj mają na myśli jedno: chcą chatbota, który nie przerywa rozmowy ostrzeżeniami, moralizowaniem lub odmowami, gdy temat jest legalny, a użytkownik jest dorosły. To rozsądne oczekiwanie dla fikcji, aplikacji towarzyskich, czarnego humoru, ćwiczeń debat i rozmów z otwartą radą.

Model w tym API to jeden model o otwartych wagach, uruchamiany przez niezależnego dostawcę i dostrojony do odpowiadania bez odmów treści do legalnego użytku przez dorosłych. Nie jest to oficjalne API Meta, Mistral, Qwen, DeepSeek, OpenAI, xAI, Google ani Anthropic. Istnieje jeden sztywny limit, którego nie zmieni żaden prompt: brak treści seksualnych z udziałem nieletnich. Jako osoba budująca aplikację ponosisz również obowiązki, których model nie może za Ciebie spełnić, np. sprawdzanie, czy Twoi użytkownicy są dorośli, oraz przestrzeganie obowiązujących przepisów.

Reszta tego przewodnika traktuje „bez filtrów” jako świadomy wybór projektowy. Twój chatbot będzie robił to, czego wymaga systemowy prompt i użytkownicy, więc jakość bota zależy głównie od promptu i otaczającego kodu.

Wybierz swoją ścieżkę: kod czy bez kodu

ŚcieżkaNajlepsze dlaCzas
Frontend z niestandardowym endpointem (SillyTavern lub podobny)Użytek osobisty, rozmowy z postaciami, szybkie testowanie promptów5 minut
Mały skrypt z SDK OpenAINauka, boty w wierszu poleceń, boty Discord lub Telegram20 minut
Własny backend i interfejs webowyProdukt używany przez innych ludziWeekend lub dłużej

Wszystkie trzy ścieżki wymagają tych samych składników: klucza, base URL i ID modelu. Pobierasz klucz na stronie klucza API po zalogowaniu się przez Google lub e-mail i hasło. Nowi użytkownicy mogą tam jednym kliknięciem odebrać $0,50 darmowego kredytu próbnego, ważnego przez 7 dni, bez konieczności podawania danych płatniczych. Późniejsze doładowania to tylko kryptowaluty: USDT na TRC20 lub USDC na Base.

Działający chatbot w Node

Zainstaluj oficjalny pakiet OpenAI, ustaw swój klucz jako zmienną środowiskową i zapisz to jako bot.mjs. Rozszerzenie .mjs pozwala używać import bez dodatkowej konfiguracji.

# base URL https://api.nofilterapi.com/v1, model uncensored
npm install openai
export NOFILTER_API_KEY="YOUR_API_KEY"
node bot.mjs
import OpenAI from "openai";
import readline from "node:readline/promises";
import { stdin as input, stdout as output } from "node:process";

const client = new OpenAI({
  baseURL: "https://api.nofilterapi.com/v1",
  apiKey: process.env.NOFILTER_API_KEY,
});

const history = [
  {
    role: "system",
    content:
      "You are Dex, a blunt, funny late-night radio host. Speak plainly, " +
      "keep replies under 120 words, and never lecture. All users are adults.",
  },
];

const rl = readline.createInterface({ input, output });

while (true) {
  const text = await rl.question("you> ");
  if (text.trim() === "") break;
  history.push({ role: "user", content: text });

  const stream = await client.chat.completions.create({
    model: "uncensored",
    messages: history,
    temperature: 0.8,
    max_tokens: 400,
    stream: true,
  });

  let reply = "";
  process.stdout.write("dex> ");
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? "";
    reply += piece;
    process.stdout.write(piece);
  }
  process.stdout.write("\n");
  history.push({ role: "assistant", content: reply });
}
rl.close();

To cały bot. Tablica historii to pamięć rozmowy, ponieważ samo API nie przechowuje niczego między wywołaniami. Każda tura wysyła całą tablicę, więc model widzi wszystko, co było wcześniej. Strumieniowanie wypisuje odpowiedź w miarę jej generowania, a liczby zużycia pojawiają się na końcu strumienia.

Jeśli chcesz umieścić to za stroną internetową, trzymaj klucz na serwerze. Stwórz mały endpoint, który odbiera wiadomość, dodaje ją do historii użytkownika, wywołuje API i zwraca odpowiedź. Klucz w skrypcie przeglądarki może odczytać każdy, a Twój kredyt z nim. Dokumentacja wymienia wszystkie parametry.

Nadaj botowi osobowość, która się utrzyma

Modele bez cenzury nadal potrzebują kierunku. Bez niego odpowiadają płaskim, neutralnym głosem. Dobry systemowy prompt dla chatbota ma pięć krótkich części:

  1. Tożsamość. Imię, rola, jedna lub dwie cechy charakterystyczne.
  2. Głos. Długość zdań, słownictwo, humor, formalność. Podaj przykładową linię.
  3. Granice, które wybierasz. Tematy, których unika ta postać, jeśli w ogóle. To Twoje decyzje produktowe.
  4. Format. Długość odpowiedzi, czy używać list, czy pozostawać w pierwszej osobie.
  5. Fakty. Wszystko, co bot musi pamiętać o użytkowniku lub świecie.

Trzymaj się około 400 słów. Długi prompt nie jest silniejszym promptem, a płacisz za niego przy każdym zapytaniu, ponieważ jest częścią wejścia za każdym razem. Przy cenie $0,15 za 1 mln tokenów wejściowych, systemowy prompt 600 tokenów kosztuje $0,00009 za wywołanie, co jest mało przy jednej rozmowie, ale odczuwalne przy 100 000 wywołań: $9.

Ważny jest też sampling. Temperatura około 0,7 do 0,9 nadaje się do rozmowy. Parametry top_p, stop, seed oraz kary za częstotliwość i obecność są przekazywane do modelu, więc możesz regulować powtarzalność bez sztuczek.

Ścieżka bez kodu z SillyTavern

SillyTavern to darmowy, samodzielnie hostowany frontend czatu popularny w rozmowach z postaciami, który pozwala dodać endpoint kompatybilny z OpenAI. Otwórz panel połączenia API, wybierz typ ukończenia czatu, a następnie wybierz źródło niestandardowe lub kompatybilne z OpenAI. Wprowadź:

  • Endpoint lub adres bazowy: https://api.nofilterapi.com/v1
  • Klucz API: klucz z Twojego konta
  • Model: uncensored

Etykiety menu różnią się w zależności od wersji, więc użyj tych trzech wartości i postępuj zgodnie z podpowiedziami swojej wersji. Po połączeniu utwórz lub zaimportuj postać, wpisz osobowość w jej opisie i zacznij rozmawiać. Inne frontendy społecznościowe mają podobną opcję, zwykle oznaczoną jako niestandardowy endpoint OpenAI lub proxy.

Jeśli chcesz zrozumieć, jak usługa traktuje Twoje dane przed wyborem ścieżki, przeczytaj No Log AI API: Mity vs fakty. Jednym faktem po naszej stronie jest to, że prompty nie są używane do trenowania.

Pamięć: okno 100 000 tokenów i co z nim zrobić

Okno kontekstu ma 100 000 tokenów, obejmując razem prompt i uzupełnienie. To wystarczy na bardzo długą rozmowę, ale koszt ponownego wysłania historii rośnie wraz z nią. Tura z 10 000 tokenami historii i odpowiedzią 300 tokenów kosztuje 10 000 x $0,15 / 1 mln plus 300 x $0,50 / 1 mln, co daje $0,0015 plus $0,00015, czyli $0,00165. Kredyt próbny $0,50 starczy na około 303 takich tur.

Praktyczny projekt pamięci używa dwóch warstw. Przechowuj ostatnie 15 do 20 wiadomości dosłownie, a w systemowym promptie przechowuj zwartą listę faktów długoterminowych. Możesz poprosić model o utrzymanie tej listy w trybie JSON, który ogranicza output do poprawnego JSON:

curl https://api.nofilterapi.com/v1/chat/completions \
  -H "Authorization: Bearer $NOFILTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Extract durable facts about the user from the chat. Reply as JSON: {\"facts\": [string]}."},
      {"role": "user", "content": "User: I work night shifts at a bakery and my cat is called Biscuit."}
    ]
  }'

Uruchamiaj to co 10 lub 20 tur na najnowszych wiadomościach, scalaj nowe fakty z przechowywaną listą i umieszczaj listę w systemowym promptcie. Zadanie modelu pozostaje małe, a Twój bot wydaje się pamiętać miesiące rozmowy.

Koszty, limity i publiczne wdrożenie

Cena to $0,15 za 1M tokenów wejściowych i $0,50 za 1M tokenów wyjściowych, pobierane z przedpłaconego kredytu bez subskrypcji. Możesz doładować dowolną kwotę całkowitą od $20 do $500, z bonusem +5% przy kwocie od $50, +10% od $100 i +15% od $200. Kredyt nigdy nie wygasa, a nieudane lub odrzucone zapytania nie są rozliczane. Na stronie z cenami znajdziesz pełny obraz.

Bot z 200 użytkownikami, którzy wysyłają po 30 wiadomości dziennie, przy koszcie $0,00165 za turę powyżej, wykonuje 6 000 zapytań i wydaje około $9,90 dziennie. Krótsze historie szybko to obniżają, ponieważ po stronie wejścia dominują koszty.

Gdy bot rośnie, szanuj limity. Pełny klucz pozwala na 8 równoległych zapytań i 300 zapytań na minutę. Po przekroczeniu tego limitu API zwraca HTTP 429 z kodem rate_limited lub concurrency, a przy tymczasowym przeciążeniu zwraca 429 z Retry-After: 5. SDK OpenAI domyślnie ponawia odpowiedzi 429, a liczbę możesz zwiększyć za pomocą opcji klienta maxRetries. Odpowiedź strumieniowa zajmuje slot równoległości do momentu zakończenia, więc jeśli spodziewasz się fal ruchu, buforuj przychodzące wiadomości na klucz.

Dodaj dzienny limit na użytkownika we własnym kodzie. Ochroni to Twój kredyt przed jednym gadatliwym użytkownikiem lub skryptem, a kosztuje Cię zaledwie dziesiątkę linii.

Pytania i odpowiedzi

Czy legalne jest uruchomienie bezcenzuralnego bota czatowego?

Model odpowiada na legalne żądania dorosłych bez odmów treści, ale to Ty jesteś odpowiedzialny za swoją aplikację, swoich użytkowników i przepisy w miejscu, w którym działasz. Treści seksualne z udziałem nieletnich są zawsze niedozwolone.

Czy muszę pisać kod, aby z tego skorzystać?

Nie. Frontend taki jak SillyTavern obsługuje endpoint kompatybilny z OpenAI. Wprowadź Base URL https://api.nofilterapi.com/v1, swój klucz i ID modelu uncensored.

Jak zapłacić za kredyt?

Doładuj dowolną kwotę całkowitą od $20 do $500 za pomocą kryptowalut: USDT w sieci TRC20 lub USDC na Base. Nowi użytkownicy mogą najpierw wypróbować kredyt próbny za $0,50.

Czy moja historia czatu będzie używana do trenowania?

Nie. Prompty nie są używane do trenowania. API jest bezstanowe, więc Twoja aplikacja musi przechowywać i wysyłać rozmowę przy każdej turze.

Twój klucz jest o jeden formularz stąd

Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.