Kluczowe punkty
- Niefiltrowany oznacza mniej odrzuceń na tematy dla dorosłych, a nie model bez żadnych zasad.
- Zachowanie wynika z treningu modelu, a nie z przełącznika, który włączasz w zapytaniu.
- Działa dowolne OpenAI SDK: zmień base URL, klucz i użyj model ID uncensored.
- Rozliczenie jest pay as you go po $0.15 za 1M tokenów wejściowych i $0.50 za 1M tokenów wyjściowych.
Czym tak naprawdę jest niefiltrowany LLM
Większość produktów czatowych owija model językowy w warstwy zachowań odrzucających. Część z nich jest wytrenowana w wagach, część to prompt systemowy, a część to osobny filtr, który czyta Twoje wejście i odpowiedź. Niefiltrowany LLM to model, którego wagi zostały dostrojone tak, aby pierwsza warstwa, wytrenowane odrzucenia, była znacznie słabsza. Odpowiada na pytania o ciemne tematy w fikcji, brutalne tematy medyczne lub prawne oraz inne materiały dla dorosłych, które asystent głównego nurtu często odrzuca lub zmiękcza.
To słowo jest nieco mylące. Nic nie zostało usunięte z modelu jak odcięty kabel. Zmienia się dane treningowe i kroki dostrajania. Model bazowy uczy się języka z ogromnej kolekcji tekstów. Na późniejszym etapie uczy go on podążania za instrukcjami i, zwykle, odrzucania długiej listy żądań. Wariant bez cenzury pomija większość tego treningu odrzucania lub dodaje dostrajanie, które popycha w innym kierunku.
Usługa stojąca za tą stroną uruchamia jeden model o otwartych wagach tego typu, obsługiwany przez niezależnego dostawcę. Nie jest to oficjalne API żadnej dużej laboratorium i nie jest to router, który wybiera między dostawcami. Otrzymujesz jeden model, o ID uncensored, za standardowym endpointem chat completions.
Co niefiltrowany nie oznacza
Nie oznacza to, że model nie ma limitów. Jest jedna twarda linia: brak treści seksualnych z udziałem nieletnich, nigdy. Usługa jest przeznaczona wyłącznie do użytku dorosłych w granicach prawa. Jeśli potrzebujesz modelu do czegoś poza tym, to jest to niewłaściwe narzędzie.
Nie oznacza to również, że model jest mądrzejszy, bardziej uczciwy lub dokładniejszy. Model z mniejszą liczbą odrzuceń nadal popełnia błędy, nadal wymyśla fakty, gdy czegoś nie wie, i nadal wymaga tej samej ostrożności w promptach. Usunięcie odrzuceń zmienia to, co jest skłonny powiedzieć, a nie to, jak dobrze rozumuje. Traktuj jego wyniki tak, jak wyniki każdego innego modelu: sprawdź wszystko, co jest ważne.
Na koniec, nie oznacza to, że możesz pominąć swoją własną odpowiedzialność. Jeśli budujesz aplikację na jego bazie, Ty decydujesz, co mogą robić Twoi użytkownicy, i Ty ponosisz obowiązek przestrzegania prawa w miejscu, gdzie Ty i oni mieszkacie. Model, który nie odrzuca, to narzędzie bez osłony, więc osłona musi pochodzić z Twojego produktu.
Odrzucenia, zmiękczenie i moralizowanie to różne rzeczy
Użytkownicy łączą trzy zachowania w jedno. Odmowa to proste „nie mogę w tym pomóc”. Zmiękczenie to odpowiedź ukryta pod zastrzeżeniami. Moralizatorstwo to nieproszony wykład. Asystent głównego nurtu często stosuje wszystkie trzy do tego samego tematu. Model bez cenzury zazwyczaj rezygnuje z odmowy i większości wykładu, dlatego pisarze fantastyki i deweloperzy odgrywania ról go lubią: wynik pozostaje w charakterze, zamiast wychodzić z sceny, by go skomentować.
Skąd bierze się zachowanie
Jeśli model odrzuca mniej, przyczyna tkwi w jednym z czterech miejsc, a warto wiedzieć, w którym, ponieważ tylko niektóre z nich są pod Twoją kontrolą.
- Dane treningowe i dostrajanie. To jest główne źródło. Jest stałe, ponieważ dostawca zbudował model, i nie możesz go zmienić z API.
- Prompt systemowy. Ty nad nim panujesz. Jasna wiadomość systemowa, która ustala rolę, scenariusz i ton, znacznie zmienia odpowiedzi, nawet w modelu permisywnym.
- Ustawienia próbkowania. Temperatura i top_p nie decydują, o czym model będzie rozmawiać, ale zmieniają, jak różnorodny i spójny jest tekst. Są one przekazywane do modelu.
- Filtry platformy. Wiele hostowanych API dodaje warstwę moderacji przed modelem. Ta warstwa jest powodem, że zapytanie może się nie powieść, nawet gdyby wagi podstawowe odpowiedziały na żądanie. Sprawdź, jak dostawca z tym radzi, zanim na tym zbudujesz.
Praktyczna konsekwencja: nie możesz „zrobić jailbreaka”, aby uzyskać dostęp do innego modelu. Jeśli asystent ogólnego przeznaczenia odrzuci twoje zapytanie, sprytny prompt pomoże tylko do kolejnej aktualizacji. Model bez cenzury eliminuje problem u źródła.
Uzasadnione zastosowania dla mniejszej liczby odrzuceń
Uczciwa lista powodów, dla których ludzie chcą mniej odrzuceń, jest dłuższa niż sugeruje stereotyp.
- Fikcja i budowanie świata. Powieści zajmują się przemocą, przestępczością, żałobą i okrucieństwem. Asystent pisarski, który przerywa scenę, aby Cię ostrzec, jest bezużyteczny dla thrillera lub powieści wojennej.
- Aplikacje do odgrywania ról i towarzyskie dla dorosłych. Czat napędzany przez postacie potrzebuje modelu, który pozostaje w charakterze przez długie sesje, nie przerywając, aby komentować.
- Testy bezpieczeństwa i moderacji. Zespoły budujące filtry treści potrzebują realistycznych przykładów tekstu, który chcą przechwytywać. Model, który będzie generować trudne przypadki, pomaga im przetestować.
- Badania i analiza. Podsumowywanie tekstów ekstremistycznych, studiowanie propagandy lub dyskusja o wrażliwej historii czasem uruchamia filtry ostrożnego modelu, mimo że cel jest jasny.
- Szczere tematy doradcze. Pytania o narkotyki, redukcję szkód lub szare strefy prawa zasługują na bezpośrednie odpowiedzi, a nie na ścianę zastrzeżeń. Pamiętaj, że model może się mylić, więc nie traktuj go jako lekarza ani prawnika.
Żaden z tych przypadków nie wymaga niczego niezgodnego z prawem, a wszystkie działają lepiej z modelem, który traktuje użytkownika jako dorosłego.
Jak go wywołać: base URL, klucz i model ID
API jest zgodne z formatem chat completions OpenAI, więc każde OpenAI SDK lub kompatybilny klient działa po zmianie dwóch wartości. Base URL to https://api.ornith.top/v1, klucz idzie w nagłówku Authorization: Bearer, a model ID to uncensored. Dostępne są dwie metody: POST /v1/chat/completions i GET /v1/models.
Zacznij od zwykłego żądania curl, aby potwierdzić, że Twój klucz działa:
curl https://api.ornith.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [
{"role": "system", "content": "You are a blunt editor for adult fiction."},
{"role": "user", "content": "Rewrite this scene so the villain sounds more menacing."}
]
}'
W Pythonie użyj oficjalnego pakietu openai i wskaż go na nowy base URL:
from openai import OpenAI
client = OpenAI(
base_url="https://api.ornith.top/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You write dark fantasy for adult readers."},
{"role": "user", "content": "Describe a siege from the point of view of a tired defender."},
],
temperature=0.9,
)
print(resp.choices[0].message.content)
I to samo w Node.js:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ornith.top/v1",
apiKey: process.env.API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me three bleak opening lines for a noir story." }],
stream: true,
});
for await (const chunk of resp) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Strumieniowanie działa przez SSE z stream: true, wywoływanie narzędzi i tryb JSON są obsługiwane, a okno kontekstu wynosi 100 000 tokenów licząc prompt i odpowiedź razem. Dokumentacja API obejmuje każdy parametr i nagłówki odpowiedzi, w tym X-Balance-USD, który pokazuje Twój pozostały kredyt przy każdym wywołaniu.
Ile to kosztuje, z realnymi liczbami
Cennik to model płacisz za zużycie z przedpłaconego kredytu: $0.15 za 1 mln tokenów wejściowych i $0.50 za 1 mln tokenów wyjściowych. Nie ma subskrypcji, nie płacisz za nieudane lub odrzucone żądania, a kredyt nigdy nie wygasa.
Weź typową turę czatu z 2000-tokenowym promptem (wiadomość systemowa plus historia) i 500-tokenową odpowiedzią:
- Wejście: 2 000 tokenów po $0,15 za 1M to $0,0003.
- Wyjście: 500 tokenów po $0,50 za 1M to $0,00025.
- Łącznie na turę: $0,00055.
Tysiąc takich tur kosztuje 0,55 $. Darmowy kredyt próbny w wysokości 0,50 $ pokrywa więc około 900 tur o takim rozmiarze, co wystarczy do oceny jakości generowania tekstu, zanim zapłacisz cokolwiek. Przy cięższym zadaniu, np. 10M tokenów wejściowych i 2M tokenów wyjściowych w miesiącu, rachunek wynosi 1,50 $ plus 1,00 $, czyli 2,50 $.
Kiedy doładowujesz kredyty, dowolna kwota całkowita od $20 do $500 działa, z bonusem 5% od $50, 10% od $100 i 15% od $200. Możesz zapłacić kartą (Visa, Mastercard, Apple Pay, Google Pay) lub kryptowalutami (USDT na TRC20, USDC na Base). Zobacz stronę z cenami, aby uzyskać pełną tabelę.
Wypróbuj go i wybierz między opcjami
Nowi użytkownicy mogą odebrać $0.50 darmowego kredytu próbnego jednym kliknięciem na stronie klucza API po zalogowaniu się przez Google lub e-mail i hasło. Nie wymaga karty, jest jeden na osobę i ważny przez 7 dni. Klucz próbny pozwala na 2 równoległe zapytania i 60 zapytań na minutę; pełny klucz pozwala na 8 równoległych i 300 na minutę. Możesz uzyskać klucz API w minutę i uruchomić powyższe przykłady.
Model hostowany to nie jedyny sposób na uzyskanie mniejszej liczby odmów. Możesz też pobrać model o otwartych wagach i uruchomić go na własnym sprzęcie, co daje pełną kontrolę i działa offline, kosztem wydajnej karty GPU i konfiguracji. Nasz przewodnik po API LLM open source porównuje opcje i koszty. Ścieżka hostowana wygrywa, gdy chcesz zrezygnować z sprzętu, mieć stabilny endpoint dla aplikacji i rozliczanie skalujące się do zera, gdy nikt nie korzysta.
Kolejny punkt dla osób obsługujących wrażliwe teksty: prompty wysłane do usługi nie są używane do trenowania. Przeczytaj stronę prywatności, aby uzyskać szczegółowe informacje.
