Qwen Abliterated API: Ein gehostetes Modell aufrufen, keine GPU nötig

Du kannst ein unzensiertes Chat-Modell über HTTP mit dem OpenAI SDK aufrufen, das du bereits nutzt, und dir das Herunterladen von Gewichten oder das Mieten einer GPU sparen. Dieser Leitfaden zeigt die Einrichtung mit funktionierendem Code und exakten Kosten.
Wichtige Punkte
- Leite ein OpenAI SDK auf die Base URL um und setze das Modell auf uncensored.
- Streaming, Function Calling und JSON-Modus funktionieren über die Standardparameter.
- Limits: 8 parallele Anfragen und 300 pro Minute bei einem Vollschlüssel.
- Bezahlung pro Token: $0,15 pro 1M Input, $0,50 pro 1M Output.
Kurze Antwort: Ändere die Base URL
Wenn du nach einer qwen abliterated api suchst, ist der praktische Weg ein gehosteter Endpunkt, der das OpenAI-Protokoll spricht. Du behältst deinen Client-Code, änderst zwei Werte und sendest Anfragen an einen Server, der das Modell für dich ausführt. Kein GGUF-Download, keine Quantisierungswahl, kein VRAM-Budget.
Ein wichtiger Hinweis zur Namensgebung: Dies ist ein unabhängiger Dienst, keine offizielle Qwen-API, und das gehostete Modell wird als uncensored angesprochen, nicht über einen Qwen-Checkpoint-Namen. Es handelt sich um ein Open-Weight-Modell, das von einem unabhängigen Anbieter betrieben und für die rechtskonforme Nutzung durch Erwachsene ohne Inhaltsfilter optimiert wurde. Wenn du eine bestimmte, entfilterte Datei benötigst, führe sie lokal aus. Wenn du einen zuverlässigen Chat-Endpunkt für eine App suchst, lies weiter.
| Einstellung | Wert |
|---|---|
| Base URL | https://api.qwenabliterated.top/v1 |
| Modell | uncensored |
| Auth-Header | Authorization: Bearer YOUR_API_KEY |
| Endpunkte | POST /v1/chat/completions, GET /v1/models |
| Kontextfenster | 100.000 Token, Prompt plus Vervollständigung |
Hole einen Schlüssel
Melde dich mit Google oder mit E-Mail und Passwort an und öffne die API-Schlüssel-Seite. Neue Nutzer können mit einem Klick $0,50 kostenloses Testguthaben beanspruchen, einer pro Person, gültig für 7 Tage und ohne Karte. Das reicht, um jedes Beispiel unten mehrmals durchzuspielen.
Testschlüssel haben niedrigere Limits als Vollschlüssel: 2 parallele Anfragen und 60 Anfragen pro Minute gegenüber 8 und 300 bei einem Vollschlüssel. Behalte das im Hinterkopf, wenn du mit parallelen Workern testest.
Speichere den Schlüssel in einer Umgebungsvariable statt in der Versionskontrolle:
export QWENABL_KEY="paste-your-key-here"Erste Anfrage in Python
Installiere das offizielle SDK mit pip install openai, dann:
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)
Die Antwort enthält einen normalen usage-Block, sodass du Prompt- und Completion-Token protokollieren und die Ausgaben selbst berechnen kannst. Die Header enthalten X-Request-Id für Support-Anfragen und X-Balance-USD, damit du das verbleibende Guthaben überwachen kannst, ohne ein Dashboard zu öffnen.
Warum eine API statt GGUF-Dateien
Der übliche Weg zu einem unzensierten Modell ist, eine quantisierte Datei zu finden, sie in einer lokalen Laufzeit zu laden und mit einem lokalen Server zu kommunizieren. Das funktioniert, und für Experimente ist es eine gute Möglichkeit, zu lernen. Die Reibung zeigt sich, wenn man von Experimenten zu etwas übergeht, das andere nutzen.
Erstens Hardware. Eine Datei, die auf deiner Desktop-Grafikkarte bei kurzem Kontext passt, passt vielleicht nicht bei langem Kontext, da der Attention-Cache mit jedem Token wächst. Zweitens Parallelität. Ein einzelner lokaler Prozess bewältigt ein oder zwei Chats bequem, aber zehn Benutzer gleichzeitig bedeuten Warteschlangen. Drittens Verfügbarkeit. Ein Heimrechner schläft, verliert die Stromversorgung und erhält zur falschen Zeit ein Treiberupdate. Eine gehostete API macht dies zur Aufgabe eines anderen, und du zahlst nur für genutzte Token.
Was du aufgibst, ist die Freiheit, einen spezifischen Checkpoint zu wählen, und die Garantie, dass Bytes dein Netzwerk nie verlassen. Entscheide, was für dein Projekt wichtiger ist, bevor du dich entscheidest.
Node.js und curl
Das Node SDK nimmt dieselben zwei Optionen:
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);
Und mit curl, was praktisch ist, um einen Schlüssel zu prüfen, bevor du die Verbindung herstellst:
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
Eine erfolgreiche Antwort gibt eine JSON-Liste zurück, die uncensored enthält. Ein 401 bedeutet, dass der Schlüssel falsch oder fehlend ist. Die Dokumentation behandelt das Fehlerformat im Detail.
Streaming, JSON-Modus und Tools
Streaming
Setze stream: true und lese Server-Sent Events. Die Nutzung wird am Ende des Streams gemeldet.
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)
Eine gestreamte Anfrage belegt ihren Parallelitäts-Slot, bis der Stream endet, also blockiert ein Client, der einen Stream öffnet und weggeht, die Kapazität. Verbrauche oder schließe den Stream immer.
JSON-Modus
Übergebe response_format={"type": "json_object"} und erwähne JSON in deinem Prompt. Analysiere trotzdem defensiv; kein Modell folgt einem Schema jedes Mal perfekt.
Function Calling
Sende tools und optional tool_choice. Wenn das Modell ein Tool anfordert, führe es aus und gib die Ausgabe als Nachricht mit role: "tool" zurück. Tool-Aufrufe streamen ebenfalls. Die Sampling-Parameter temperature, top_p, stop, seed und die Häufigkeits- und Präsenzstrafen werden durchgereicht.
Einbindung in eine echte Anwendung
Ein einzelnes Skript ist einfach. Eine Anwendung benötigt einige weitere Gewohnheiten, und das sind dieselben, die du bei jeder OpenAI-ähnlichen API verwenden würdest.
Bewahre den Schlüssel auf dem Server auf
Binde den Schlüssel niemals in Browser-Code oder eine mobile App ein. Rufe die API von deinem Backend auf und stelle deine eigene Route an das Frontend bereit, wo du Authentifizierung und pro-Nutzer-Limits hinzufügen kannst. Jeder, der einen Schlüssel in einem Bundle findet, kann dein Guthaben ausgeben.
Setze Timeouts und begrenze die Ausgabe
Die Vervollständigung kann den Rest des 100.000-Token-Fensters nutzen, und max_tokens ist optional. Setze für eine Chat-Funktion eine Grenze, die zu deiner Schnittstelle passt, damit eine ungewöhnlich lange Antwort die Rechnung nicht in die Höhe treibt. Kombiniere das mit einem Client-Timeout, und du hast eine Decke für Zeit und Geld für jeden Aufruf.
Protokolliere die Request-ID
Jede Antwort enthält X-Request-Id. Speichere sie neben deiner eigenen Aufzeichnung des Aufrufs. Wenn ein Ergebnis falsch aussieht oder eine Anfrage fehlschlägt, ist diese Kennung das, was Support erlaubt, die genaue Anfrage zu finden. Der Header X-Balance-USD ist nützlich für eine einfache Warnung: Wenn die Zahl unter einen Schwellenwert fällt, sende dir selbst eine Nachricht, bevor ein Job ausgeht.
Prüfe die Modellliste beim Start
Ein Health-Check, der GET /v1/models aufruft, kostet nichts an Token und bestätigt Schlüssel, URL und Netzwerkpfad in einem Schritt. Führe ihn beim Booten deines Dienstes aus und brich mit einer deutlichen Fehlermeldung ab, wenn er einen Fehler zurückgibt.
Limits und Fehlerbehandlung
Anfragen über dem Limit erhalten HTTP 429. Der Fehlercode sagt dir, welches Limit du getroffen hast: rate_limited bedeutet zu viele Anfragen pro Minute, und concurrency bedeutet zu viele gleichzeitig. Bei temporärer Überlastung gibt die API auch 429 mit einem Retry-After: 5-Header zurück. Der maximale Body ist 8 MB.
Respektiere den Header und back off:
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")
Wenn du einen Worker-Pool betreibst, begrenze ihn auf 8 Threads für einen Vollschlüssel. Darüber hinaus zu gehen wandelt nur Arbeit in 429s um. Fehlgeschlagene oder abgelehnte Anfragen werden nicht berechnet, also kosten Wiederholungen, die fehlschlagen, dich nichts Extra.
Was eine Anfrage kostet
Input-Token sind $0,15 pro 1M und Output-Token $0,50 pro 1M. Einige Beispiele, exakt berechnet:
- Ein Chat-Turn mit 2.000 Prompt-Token und 500 Completion-Token: 2.000 x $0,15 / 1M = $0,0003, plus 500 x $0,50 / 1M = $0,00025, also $0,00055. Eintausend Turns kosten $0,55.
- Ein Batch-Job, der 10M Input-Token sendet und 2M Output-Token empfängt: $1,50 plus $1,00, also $2,50.
- Ein Langkontext-Aufruf mit 90.000 Prompt-Token und 1.000 Output-Token: $0,0135 plus $0,0005, also $0,014.
Guthaben ist Prepaid-Guthaben, verfällt nie und es gibt kein Abonnement. Lade jeden beliebigen Gesamtbetrag von $20 bis $500 auf; $50 fügen 5 % hinzu, also ergibt eine Aufladung von $50 ein Guthaben von $52,50. Bezahle mit Krypto (USDT auf TRC20, USDC auf Base). Siehe die Preisseite für die vollständige Bonus-Tabelle.
Gehostet oder lokale Dateien: was passt
Ein lokales GGUF gibt dir Privatsphäre durch Isolation und vollständige Kontrolle über die genauen Gewichte. Eine gehostete API gibt dir keine Hardware-Arbeit, langen Kontext und eine URL, die andere Dienste aufrufen können. Die meisten Teams, die einen Bot, ein Schreibtool oder ein Game-Backend bauen, finden Hosting einfacher, da eine Reserve-GPU-Box eine weitere Sache ist, die am Laufen gehalten werden muss.
Für einen umfassenden Vergleich der Token-basierten Abrechnung mit anderen Möglichkeiten, ein Qwen-ähnliches Modell zu nutzen, sieh dir den Vergleichsleitfaden an. An die API gesendete Prompts werden nicht zum Training verwendet. Das Modell ist rein textbasiert, und sexuell explizite Inhalte, die Minderjährige einbeziehen, sind unter allen Umständen nicht gestattet.
Weitere Anleitungen
Fragen und Antworten
Brauche ich eine GPU, um es zu nutzen?
Nein. Das Modell läuft auf den Servern des Anbieters. Dein Code sendet nur HTTP-Anfragen, daher reichen ein Laptop oder ein kleines VPS.
Welchen Modellnamen sende ich?
Sende uncensored als Modellwert. Du kannst dies mit einer GET-Anfrage an /v1/models bestätigen.
Unterstützt es die OpenAI Python- und Node-SDKs?
Ja. Setze die Base URL auf die /v1-Adresse der Seite und verwende deinen API-Schlüssel. Chat-Vervollständigungen, Streaming, Function Calling und JSON-Modus funktionieren über die normalen Parameter.
Was passiert, wenn ich zu viele Anfragen sende?
Du erhältst HTTP 429 mit dem Code rate_limited oder concurrency. Warte und wiederhole die Anfrage, und beachte den Retry-After-Header, wenn er vorhanden ist.
Gibt es eine kostenlose Möglichkeit, es zu testen?
Neue Nutzer können mit einem Klick auf der API-Schlüssel-Seite $0,50 kostenloses Testguthaben beanspruchen. Es gilt 7 Tage lang und benötigt keine Karte.
Dein Schlüssel ist nur einen Klick entfernt
Erstelle ein Konto, kopiere den Schlüssel, ändere die Basis-URL. Das ist die gesamte Einrichtung.
API-Schlüssel erhalten