API Qwen Abliterated: Wywołaj model hostowany, bez GPU

Możesz wywołać model czatu bez cenzury przez HTTP przy użyciu SDK OpenAI, którego już używasz, i pominąć pobieranie wag lub wynajem GPU. Ten przewodnik pokazuje konfigurację, działający kod i dokładne koszty.
Kluczowe punkty
- Wskaż dowolne SDK OpenAI na base URL i ustaw model na uncensored.
- Strumieniowanie, wywoływanie narzędzi i tryb JSON działają przez standardowe parametry.
- Limity: 8 równoległych zapytań i 300 na minutę przy pełnym kluczu.
- Płatność za token: $0,15 za 1M wejściowych, $0,50 za 1M wyjściowych.
Krótka odpowiedź: zmień base URL
Jeśli szukasz qwen abliterated api, praktycznym rozwiązaniem jest endpoint hostowany, który obsługuje protokół OpenAI. Zachowujesz kod klienta, zmieniasz dwie wartości i wysyłasz zapytania do serwera, który uruchamia model za Ciebie. Bez pobierania GGUF, bez wyboru kwantyzacji, bez limitu VRAM.
Ważna uwaga dotycząca nazewnictwa: jest to niezależna usługa, a nie oficjalne API Qwen, a model hostowany jest adresowany jako uncensored, a nie nazwą checkpointa Qwen. 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. Jeśli potrzebujesz jednego konkretnego pliku abliterated, uruchom go lokalnie. Jeśli potrzebujesz niezawodnego endpointu czatu do aplikacji, czytaj dalej.
| Ustawienie | Wartość |
|---|---|
| Bazowy URL | https://api.qwenabliterated.top/v1 |
| Model | uncensored |
| Nagłówek Auth | Authorization: Bearer YOUR_API_KEY |
| Endpointy | POST /v1/chat/completions, GET /v1/models |
| Okno kontekstu | 100 000 tokenów, prompt plus uzupełnienie |
Uzyskaj klucz
Zarejestruj się przez Google lub podając adres e-mail i hasło, a następnie otwórz stronę klucza API. Nowi użytkownicy mogą jednym kliknięciem odebrać $0.50 kredytu próbnego, po jednym na osobę, ważnego przez 7 dni bez podania karty kredytowej. To wystarczy, aby kilkakrotnie przejść przez wszystkie poniższe przykłady.
Klucze próbne mają niższe limity niż pełne klucze: 2 równoległe zapytania i 60 zapytań na minutę, w przeciwieństwie do 8 i 300 przy pełnym kluczu. Pamiętaj o tym, jeśli testujesz z równoległymi workerami.
Przechowuj klucz w zmiennej środowiskowej, a nie w kontrolce wersji:
export QWENABL_KEY="paste-your-key-here"Pierwsze zapytanie w Pythonie
Zainstaluj oficjalne SDK poleceniem pip install openai, a następnie:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.qwenabliterated.top/v1",
api_key=os.environ["QWENABL_KEY"],
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You are a blunt technical assistant."},
{"role": "user", "content": "Explain what a KV cache is in three sentences."},
],
temperature=0.7,
)
print(resp.choices[0].message.content)
print(resp.usage)
Odpowiedź zawiera standardowy blok usage, więc możesz logować tokeny prompt i uzupełnienie oraz obliczać wydatki. Nagłówki zawierają X-Request-Id do pytań o wsparcie oraz X-Balance-USD, abyś mógł obserwować pozostały kredyt bez otwierania panelu.
Dlaczego użyć API zamiast plików GGUF
Zwykłą ścieżką do modelu bez cenzury jest znalezienie skwantyzowanego pliku, załadowanie go w lokalnym środowisku i komunikacja z lokalnym serwerem. To działa i w eksperymentach jest dobrym sposobem na naukę. Trudności pojawiają się przy przejściu od eksperymentów do czegoś, czego używają inni.
Po pierwsze, sprzęt. Plik mieszczący się na karcie graficznej komputera przy krótkim oknie kontekstu może się nie zmieścić przy długim, ponieważ pamięć attention rośnie z każdym tokenem. Po drugie, równoległość. Pojedynczy proces lokalny obsługuje komfortowo jedno lub dwa czaty, ale dziesięciu użytkowników naraz oznacza kolejki. Po trzecie, dostępność. Komputer w domu śpi, traci zasilanie i otrzymuje aktualizację sterowników w niewłaściwym momencie. API hostowane zamienia to w zadanie kogoś innego, a Ty płacisz tylko za użyte tokeny.
Rezygnujesz z wolności wyboru konkretnego checkpointu i gwarancji, że bajty nigdy nie opuszczą Twojej sieci. Zdecyduj, co jest ważniejsze dla Twojego projektu, przed wyborem.
Node.js i curl
SDK Node przyjmuje te same dwie opcje:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.qwenabliterated.top/v1",
apiKey: process.env.QWENABL_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me five names for a fantasy tavern." }],
});
console.log(resp.choices[0].message.content);
A z curl, co jest przydatne do sprawdzenia klucza przed podłączeniem czegokolwiek:
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
Pomyślne wywołanie zwraca listę JSON zawierającą uncensored. Kod 401 oznacza, że klucz jest błędny lub brakujący. dokumentacja szczegółowo opisuje format błędów.
Strumieniowanie, tryb JSON i narzędzia
Strumieniowanie
Ustaw stream: true i czytaj zdarzenia wysyłane przez serwer. Użycie jest raportowane na końcu strumienia.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a short scene on a night train."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Żądanie strumieniowe zajmuje slot równoległości do zakończenia strumienia, więc klient, który otworzy strumień i odejdzie, zablokuje pojemność. Zawsze konsumuj lub zamykaj strumień.
Tryb JSON
Przekaż response_format={"type": "json_object"} i wspomnij o JSON w swoim prompcie. Parsuj defensywnie; żaden model nie przestrzega schematu idealnie za każdym razem.
Wywoływanie narzędzi
Wyślij tools i opcjonalnie tool_choice. Gdy model zażąda użycia narzędzia, uruchom je i zwróć wynik jako wiadomość z role: "tool". Wywołania narzędzi również strumieniują. Parametry próbkowania temperature, top_p, stop, seed oraz kary częstotliwości i obecności są przekazywane dalej.
Wdrożenie w rzeczywistej aplikacji
Pojedynczy skrypt jest łatwy. Aplikacja potrzebuje kilku dodatkowych nawyków, takich samych jak przy każdym API w stylu OpenAI.
Przechowuj klucz na serwerze
Nigdy nie wysyłaj klucza w kodzie przeglądarki ani aplikacji mobilnej. Wywołuj API z backendu i wystaw własną trasę do frontendu, gdzie możesz dodać uwierzytelnianie i limity na użytkownika. Każdy, kto znajdzie klucz w paczce, może wydać Twój kredyt.
Ustaw limity czasu i ogranicz wyjście
Uzupełnienie może wykorzystać wszystko, co zostało z okna 100 000 tokenów, a max_tokens jest opcjonalne. Dla funkcji czatu ustaw limit dopasowany do Twojego interfejsu, aby nieprzewidzianie długa odpowiedź nie zrujnowała rachunku. Połącz to z timeoutem klienta i masz sufit zarówno dla czasu, jak i kosztu każdego wywołania.
Loguj ID żądania
Każda odpowiedź zawiera X-Request-Id. Przechowuj go obok własnego zapisu wywołania. Gdy wynik wygląda źle lub żądanie zawiedzie, ten identyfikator pozwala wsparciu znaleźć dokładnie żądanie. Nagłówek X-Balance-USD jest przydatny do prostego alertu: jeśli liczba spadnie poniżej progu, wyślij sobie wiadomość przed wyczerpaniem zadania.
Sprawdź listę modeli przy starcie
Test stanu wywołujący GET /v1/models nie kosztuje tokenów i potwierdza klucz, URL i trasę sieciową w jednym kroku. Uruchom go przy starcie usługi i zgłoś błąd głośno, jeśli zwróci błąd.
Limity i obsługa błędów
Zapytania przekraczające limit zwracają HTTP 429. Kod błędu informuje, którego limitu przekroczyłeś: rate_limited oznacza zbyt wiele zapytań na minutę, a concurrency oznacza zbyt wiele naraz. Podczas tymczasowego przeciążenia API zwraca również 429 z nagłówkiem Retry-After: 5. Maksymalny rozmiar body to 8 MB.
Respektuj nagłówek i zmniejsz częstotliwość:
import time
from openai import OpenAI, RateLimitError
def ask(client, messages, tries=5):
for attempt in range(tries):
try:
return client.chat.completions.create(model="uncensored", messages=messages)
except RateLimitError as e:
wait = int(e.response.headers.get("Retry-After", 5))
time.sleep(wait * (attempt + 1))
raise RuntimeError("still rate limited")
Jeśli uruchamiasz pulę workerów, ogranicz ją do 8 wątków dla pełnego klucza. Przekroczenie tego tylko zwraca błąd 429. Nieudane lub odrzucone żądania nie są rozliczane, więc ponowienia nie kosztują Cię nic dodatkowego, gdy zawiodą.
Ile kosztuje zapytanie
Tokeny wejściowe kosztują $0,15 za 1M, a tokeny wyjściowe $0,50 za 1M. Kilka przykładów, obliczonych dokładnie:
- Tura czatu z 2000 tokenami prompt i 500 tokenami completion: 2000 x $0,15 / 1M = $0,0003, plus 500 x $0,50 / 1M = $0,00025, razem $0,00055. Tysiąc tur kosztuje $0,55.
- Zadanie batch wysyłające 10M tokenów wejściowych i odbierające 2M tokenów wyjściowych: $1,50 plus $1,00, razem $2,50.
- Wywołanie długiego kontekstu z 90 000 tokenami prompt i 1000 tokenami wyjściowymi: $0,0135 plus $0,0005, razem $0,014.
Kredyt jest przedpłacony, nie wygasa i nie ma subskrypcji. Doładuj dowolną kwotę całkowitą od $20 do $500; $50 dodaje 5%, więc doładowanie $50 daje $52,50 kredytu. Płać kryptowalutami (USDT na TRC20, USDC na Base). Zobacz stronę z cenami, aby uzyskać pełną tabelę bonusów.
Hostowane lub lokalne pliki: co pasuje
Lokalny GGUF daje prywatność przez izolację i pełną kontrolę nad dokładnymi wagami. API hostowane nie wymaga pracy sprzętowej, obsługuje długi kontekst i udostępnia URL, który mogą wywołać inne usługi. Większość zespołów budujących bota, narzędzie do pisania lub backend gry uważa hosting prostszy, ponieważ dodatkowa skrzynka z GPU to kolejna rzecz do utrzymania.
Aby uzyskać szerszy obraz opłaty za token w porównaniu z innymi sposobami uzyskania modelu w stylu Qwen, zobacz porównanie. Prompty wysłane do API nie są używane do trenowania. Model jest tylko tekstowy, a treści seksualne z udziałem nieletnich są niedozwolone w każdym przypadku.
Więcej przewodników
Pytania i odpowiedzi
Czy potrzebuję GPU, aby go używać?
Nie. Model działa na serwerach dostawcy. Twój kod wysyła tylko żądania HTTP, więc wystarczy laptop lub mały VPS.
Jaką nazwę modelu mam wysłać?
Wyślij uncensored jako wartość modelu. Możesz to potwierdzić żądaniem GET do /v1/models.
Czy obsługuje SDK OpenAI dla Pythona i Node?
Tak. Ustaw base URL na adres /v1 strony i użyj swojego klucza. Uzupełnienia czatu, strumieniowanie, wywoływanie narzędzi i tryb JSON działają przez standardowe parametry.
Co się stanie, gdy wyślę zbyt wiele zapytań?
Otrzymasz kod HTTP 429 z kodem rate_limited lub concurrency. Poczekaj i ponów próbę, respektując nagłówek Retry-After, gdy jest on obecny.
Czy jest darmowy sposób na przetestowanie?
Nowi użytkownicy mogą uzyskać $0,50 darmowego kredytu próbnego jednym kliknięciem na stronie klucza API. Ważny przez 7 dni, bez karty.
Twój klucz jest o jeden krok stąd
Utwórz konto, skopiuj klucz, zmień base URL. To cała konfiguracja.
Pobierz klucz API