Qwen Abliterated: Zmień klienta w trzech krokach
Połącz istniejącego klienta OpenAI SDK z naszym endpointem bez cenzury w mniej niż minutę. Zmień bazowy URL i klucz API, a następnie uruchom standardowe wywołania chat-completions bez modyfikacji.
Uwierzytelnianie i URL bazowy
Nasze API jest zgodne ze standardowym formatem OpenAI. Potrzebujesz tylko dwóch rzeczy: bazowego URL i ważnego klucza API. Bazowy URL to https://api.qwenabliterated.top/v1. Nie musisz importować specjalnych bibliotek ani zmieniać struktury kodu. Po prostu zaktualizuj konfigurację klienta, aby wskazywała na ten URL, i podaj klucz wygenerowany na stronie Pobierz klucz API. System używa standardowej autoryzacji za pomocą tokena nośnikowego, więc każde istniejące SDK kompatybilne z OpenAI działa od razu.
curl https://api.qwenabliterated.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Chroń swój klucz. W przeciwieństwie do niektórych dostawców, nie śledzimy Twojej tożsamości poza e-mailem użytym do zalogowania się. Prompty nie są używane do danych szkoleniowych. Jeśli zgubisz klucz, wygeneruj nowy; zastąpi on natychmiast stary aktywny klucz.
Pierwsze zapytanie o uzupełnienie
Wyślij swoją pierwszą wiadomość, używając standardowego endpointu /v1/chat/completions. Przekaż identyfikator modelu jako "uncensored". Ten model jest o otwartych wagach, dostrojony do surowego wyjścia i nie stosuje typowych odmów znanych w modelach ogólnego przeznaczenia. Obsługuje tematy dorosłe, kontrowersyjne lub techniczne bez dodatkowego szumu, pod warunkiem że treść nie dotyczy małoletnich.
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenabliterated.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Odpowiedź zwraca wygenerowany tekst w polu choices[0].message.content. Jeśli zapytanie nie powiedzie się z powodu nieprawidłowego klucza, otrzymasz błąd 401. Jeśli Twój przedpłacony kredyt zostanie wyczerpany, otrzymasz błąd 402. Błędy nie zużywają salda tokenów, więc możesz ponowić próbę bez kary.
Odpowiedzi strumieniowe
W aplikacjach w czasie rzeczywistym włącz strumieniowanie, ustawiając stream: true. API zwraca strumień Server-Sent Events (SSE). Każdy fragment zawiera częściowy token. Ostatni fragment zawiera całkowite użycie tokenów dla zapytania, pozwalając na dokładne śledzenie kosztów. Jest to idealne dla interfejsów czatu lub narzędzi opartych na terminalu, gdzie liczy się opóźnienie.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Strumieniowanie nie zmienia zachowania modelu ani okna kontekstu. Dotyczy tylko sposobu dostarczania odpowiedzi. Upewnij się, że Twój klient poprawnie obsługuje strumień, aby uniknąć wycieków pamięci. Model bez cenzury dobrze radzi sobie ze strumieniowaniem, dostarczając spójny tekst bez typowych przerw w środku zdania obserwowanych w modelach filtrowanych.
Tryb JSON
Gdy potrzebujesz danych strukturalnych, użyj response_format: {"type": "json_object"}. Model jest instruowany do wyjścia w formacie JSON. Jest to przydatne do parsowania konfiguracji, generowania struktur kodu lub przekazywania danych do usług downstreamowych. Choć nie jest gwarantowana doskonałość, model bez cenzury radzi sobie lepiej ze złożonymi strukturami niż standardowe modele, które mogą odmówić wyjścia surowego JSON ze względów bezpieczeństwa.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenabliterated.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Zawsze waliduj wyjście po swojej stronie. Jeśli JSON jest niepoprawny, API nie ponawia automatycznie. Możesz dostosować temperaturę, aby wpłynąć na spójność. Niższe temperatury dają bardziej przewidywalne struktury JSON, podczas gdy wyższe temperatury wprowadzają więcej kreatywności, ale niosą ryzyko błędów formatowania.
Wywoływanie funkcji
Wsparcie dla narzędzi jest wbudowane. Zdefiniuj swoje funkcje w parametrze tools i ustaw tool_choice zgodnie z potrzebami. Model zwróci tablicę tool_calls, jeśli zdecyduje się wywołać funkcję. Musisz wykonać funkcję i przekazać wynik z powrotem w kolejnej wiadomości z role: "tool". To odpowiada standardowemu wzorcowi używania narzędzi OpenAI.
Ta funkcja działa z każdym SDK kompatybilnym z OpenAI. Model bez cenzury jasno obsługuje definicje narzędzi, bez odmowy wyjścia nazw funkcji z powodu filtrów treści. Jest odpowiedni do budowania agentów lub automatyzacji przepływów pracy wymagających wywołań zewnętrznych API.
Parametry, limity i błędy
Okno kontekstu wynosi 100,000 tokenów, w tym zarówno prompt, jak i completion. Nie ma osobnego limitu outputu (jeśli max_tokens nie jest ustawione, odpowiedź może sięgać do końca okna). Możesz kontrolować generowanie za pomocą temperature, top_p, stop, seed oraz parametrów kary.
Limity zapytań to 300 zapytań na minutę i 8 równoległych zapytań na klucz. Jeśli przekroczysz te limity, otrzymasz błąd 429. Ciała zapytań muszą być mniejsze niż 8 MB. Limity te zapewniają stabilną wydajność dla użytkowników o dużym wolumenie. Nie ma ukrytych ograniczeń co do rodzaju generowanej treści, z wyjątkiem twardego limitu treści seksualnych z udziałem małoletnich.
Specyfikacja techniczna
Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.
| Element | Wartość |
|---|---|
| Format API | zgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| ID modelu | uncensored |
| Base URL | https://api.qwenabliterated.top/v1 |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tryb JSON | response_format: {"type": "json_object"} |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Rozmiar zapytania | do 8 MB |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Cena | $0,15 za 1 mln tokenów wejścia · $0,50 za 1 mln tokenów wyjścia |
| Bonus | +5% od $50, +10% od $100, +15% od $200 |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Darmowy kredyt | $0,50 na 7 dni, bez karty · Klucz próbny: 2 równoległe żądania, 60 na minutę; pełne limity (8 i 300) po pierwszym doładowaniu |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $20 do $500 |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| Logowanie | Google albo e-mail i hasło |
| Treści | treści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane |
Kody błędów
Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.
| Kod | Typ | Znaczenie |
|---|---|---|
400 | bad_request | błędny JSON, puste wiadomości, zły parametr lub za długi kontekst |
401 | missing_key · invalid_key · key_revoked | brak klucza, zły klucz lub klucz zastąpiony nowym |
402 | no_credit | brak kredytu — doładuj, działa od razu |
403 | content_blocked | treści seksualne z nieletnimi — odmowa, bez opłaty |
404 | not_found | nieznany endpoint |
413 | request_too_large | treść większa niż 8 MB |
429 | rate_limited · concurrency | ponad 300/min lub 8 równolegle — odczekaj i ponów |
503 | upstream_busy | model zajęty — ponów za kilka sekund |
Pytania i odpowiedzi
Czy to ten sam model co oficjalny Qwen?
Nie. Uruchamiamy model o otwartych wagach dostrojony do wyjść bez cenzury. Nie jest to GPT, Claude, Gemini, Grok ani żaden inny model dostawcy. Jest niezależny i służy naszemu konkretnemu przypadkowi użycia do generowania surowej treści.
Czy mogę użyć swojego istniejącego klucza API OpenAI?
Nie. Musisz wygenerować klucz na naszej platformie. Format klucza jest standardowy, ale jest powiązany z kontem przedpłaconego kredytu tutaj, a nie z innym dostawcą. Klucze są wyświetlane natychmiast po rejestracji.
Co się stanie, jeśli otrzymam błąd 402?
Błąd 402 oznacza, że wyczerpał się twój przedpłacony kredyt. Doładuj kryptowalutami (USDT w sieci TRC20 lub USDC na Base), aby kontynuować. Błędy i odrzucenia nie zużywają kredytu, więc płacisz tylko za poprawne użycie tokenów.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.
Pobierz klucz API