API Qwen Abliterated : appelez un modèle hébergé, sans GPU

Vous pouvez appeler un modèle de chat sans censure via HTTP avec le SDK OpenAI que vous utilisez déjà, et éviter de télécharger des poids ou de louer un GPU. Ce guide montre la configuration, avec du code fonctionnel et les coûts exacts.
Points clés
- Pointez n'importe quel SDK OpenAI vers l'URL de base et définissez le modèle sur uncensored.
- Le streaming, l'appel de fonctions et le mode JSON fonctionnent via les paramètres standards.
- Limites : 8 requêtes concurrentes et 300 par minute avec une clé complète.
- Paiement par token : 0,15 $ par 1 M de tokens d'entrée, 0,50 $ par 1 M de tokens de sortie.
Réponse courte : changez l'URL de base
Si vous recherchez une API Qwen Abliterated, la solution pratique est un endpoint hébergé qui parle le protocole OpenAI. Vous gardez votre code client, modifiez deux valeurs et envoyez des requêtes à un serveur qui exécute le modèle pour vous. Pas de téléchargement GGUF, pas de choix de quantification, pas de budget VRAM.
Une note nécessaire sur le nommage : il s'agit d'un service indépendant, pas de l'API officielle Qwen, et le modèle hébergé est adressé sous le nom uncensored plutôt que par un nom de checkpoint Qwen. C'est un modèle à poids ouverts, exécuté par un fournisseur indépendant et ajusté pour répondre sans refus de contenu pour une utilisation adulte légale. Si vous avez besoin d'un fichier abliterated particulier, exécutez ce fichier en local. Si vous avez besoin d'un endpoint de chat fiable pour une application, lisez la suite.
| Paramètre | Valeur |
|---|---|
| URL de base | https://api.qwenabliterated.top/v1 |
| Modèle | uncensored |
| En-tête d'authentification | Authorization: Bearer YOUR_API_KEY |
| Endpoints | POST /v1/chat/completions, GET /v1/models |
| Fenêtre de contexte | 100 000 tokens, prompt plus complétion |
Obtenez une clé
Inscrivez-vous avec Google, ou avec une adresse e-mail et un mot de passe, puis ouvrez la page Clé API. Les nouveaux utilisateurs peuvent réclamer 0,50 $ de crédit d'essai en un clic, une fois par personne, valable 7 jours et sans carte. Cela suffit pour exécuter chaque exemple ci-dessous plusieurs fois.
Les clés d'essai ont des limites plus basses que les clés complètes : 2 requêtes simultanées et 60 requêtes par minute, contre 8 et 300 pour une clé complète. Gardez cela à l'esprit si vous testez avec des travailleurs en parallèle.
Stockez la clé dans une variable d'environnement plutôt que dans le contrôle de source :
export QWENABL_KEY="paste-your-key-here"Première requête en Python
Installez le SDK officiel avec pip install openai, puis :
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)
La réponse contient un bloc usage standard, donc vous pouvez enregistrer les tokens de prompt et de complétion et calculer votre propre dépense. Les en-têtes incluent X-Request-Id pour les questions de support et X-Balance-USD pour que vous puissiez surveiller le crédit restant sans ouvrir de tableau de bord.
Pourquoi utiliser une API plutôt que des fichiers GGUF
La méthode habituelle pour un modèle sans censure consiste à trouver un fichier quantifié, à le charger dans un environnement d'exécution local et à parler à un serveur local. Cela fonctionne, et pour les expériences, c'est un bon moyen d'apprendre. La friction apparaît lorsque vous passez des expériences à quelque chose que les autres utilisent.
Premièrement, le matériel. Un fichier qui tient sur votre carte de bureau avec une courte fenêtre de contexte peut ne pas tenir avec une longue, car le cache d'attention augmente avec chaque token. Deuxièmement, la concurrence. Un seul processus local gère confortablement une ou deux conversations, mais dix utilisateurs en même temps créent des files d'attente. Troisièmement, la disponibilité. Une machine à domicile se met en veille, perd le courant et reçoit une mise à jour du pilote au mauvais moment. Une API hébergée transforme cela en le travail de quelqu'un d'autre, et vous ne payez que pour les tokens utilisés.
Ce que vous abandonnez est la liberté de choisir un checkpoint spécifique et la garantie que les octets ne quittent jamais votre réseau. Décidez de ce qui compte le plus pour votre projet avant de choisir.
Node.js et curl
Le SDK Node prend les mêmes deux options :
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);
Et avec curl, ce qui est pratique pour vérifier une clé avant de connecter quoi que ce soit :
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
Un appel réussi renvoie une liste JSON qui inclut uncensored. Un 401 signifie que la clé est incorrecte ou manquante. La documentation couvre le format d'erreur en détail.
Streaming, mode JSON et outils
Diffusion en continu
Définissez stream: true et lisez les événements envoyés par le serveur. L'utilisation est signalée à la fin du flux.
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)
Une requête en streaming occupe son slot de concurrence jusqu'à la fin du flux, donc un client qui ouvre un flux et s'éloigne bloquera la capacité. Consommez ou fermez toujours le flux.
Mode JSON
Passez response_format={"type": "json_object"} et mentionnez JSON dans votre prompt. Analysez de manière défensive de toute façon ; aucun modèle ne suit parfaitement un schéma à chaque fois.
Appel de fonctions
Envoyez tools et éventuellement tool_choice. Lorsque le modèle demande un outil, exécutez-le et renvoyez la sortie comme un message avec role: "tool". Les appels d'outils sont également en streaming. Les paramètres d'échantillonnage temperature, top_p, stop, seed et les pénalités de fréquence et de présence sont transmis.
Intégrer dans une application réelle
Un script unique est facile. Une application nécessite quelques habitudes supplémentaires, et ce sont les mêmes que vous utiliseriez avec n'importe quelle API compatible OpenAI.
Conservez la clé sur le serveur
Ne livrez jamais la clé dans le code du navigateur ou d'une application mobile. Appelez l'API depuis votre backend et exposez votre propre route vers le front-end, où vous pouvez ajouter l'authentification et des limites par utilisateur. Quiconque trouve une clé dans un bundle peut dépenser votre crédit.
Définissez des délais d'attente et limitez la sortie
La complétion peut utiliser tout ce qui reste de la fenêtre de 100 000 tokens, et max_tokens est optionnel. Pour une fonctionnalité de chat, définissez un plafond qui correspond à votre interface afin qu'une réponse inhabituellement longue ne puisse pas gonfler la facture. Associez cela à un timeout client et vous avez un plafond à la fois sur le temps et l'argent pour chaque appel.
Enregistrez l'ID de requête
Chaque réponse contient X-Request-Id. Stockez-le à côté de votre propre trace de l'appel. Lorsqu'un résultat semble incorrect ou qu'une requête échoue, cet identifiant est ce qui permet au support de trouver la requête exacte. L'en-tête X-Balance-USD est utile pour une alerte simple : si le nombre tombe en dessous d'un seuil, envoyez-vous un message avant qu'une tâche ne manque de crédit.
Vérifiez la liste des modèles au démarrage
Un test de santé qui appelle GET /v1/models ne coûte aucun token et confirme la clé, l'URL et le chemin réseau en une seule étape. Exécutez-le au démarrage de votre service et échouez brutalement s'il renvoie une erreur.
Limites et gestion des erreurs
Les requêtes dépassant une limite reçoivent un HTTP 429. Le code d'erreur vous indique quelle limite vous avez atteinte : rate_limited signifie trop de requêtes par minute, et concurrency signifie trop de requêtes à la fois. En cas de surcharge temporaire, l'API renvoie également un 429 avec un en-tête Retry-After: 5. La taille maximale du corps est de 8 Mo.
Respectez l'en-tête et reculez :
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")
Si vous exécutez un pool de workers, plafonnez-le à 8 threads pour une clé complète. Aller au-delà ne fait que convertir le travail en 429. Les requêtes échouées ou refusées ne sont pas facturées, donc les nouvelles tentatives ne vous coûtent rien de plus lorsqu'elles échouent.
Le coût d'une requête
Les tokens d'entrée sont à $0,15 par 1 M et les tokens de sortie à $0,50 par 1 M. Quelques exemples, calculés exactement :
- Un tour de chat avec 2 000 tokens de prompt et 500 tokens de complétion : 2 000 x $0,15 / 1M = $0,0003, plus 500 x $0,50 / 1M = $0,00025, soit $0,00055. Un millier de tours coûtent $0,55.
- Un lot qui envoie 10 M de tokens d'entrée et reçoit 2 M de tokens de sortie : $1,50 plus $1,00, soit $2,50.
- Un appel à contexte long avec 90 000 tokens de prompt et 1 000 tokens de sortie : $0,0135 plus $0,0005, soit $0,014.
Le crédit est prépayé, n'expire jamais et il n'y a pas d'abonnement. Rechargez n'importe quel montant entier de 20 $ à 500 $ ; 50 $ ajoutent 5 %, donc un rechargement de 50 $ donne 52,50 $ de crédit. Payez par crypto (USDT sur TRC20, USDC sur Base). Voir la page des tarifs pour le tableau complet des bonus.
Hébergé ou fichiers locaux : lequel choisir
Un GGUF local vous donne la confidentialité par isolement et un contrôle total sur les poids exacts. Une API hébergée ne vous demande aucun travail matériel, une longue fenêtre de contexte et une URL que d'autres services peuvent appeler. La plupart des équipes qui construisent un bot, un outil d'écriture ou un backend de jeu trouvent l'hébergement plus simple, car un boîtier GPU de rechange est une autre chose à maintenir.
Pour une vue plus large sur le paiement par token par rapport à d'autres façons d'atteindre un modèle de type Qwen, consultez le guide de comparaison. Les prompts envoyés à l'API ne sont pas utilisés pour l'entraînement. Le modèle est textuel uniquement, et le contenu sexuel impliquant des mineurs n'est autorisé en aucune circonstance.
Plus de guides
Questions et réponses
Ai-je besoin d'un GPU pour l'utiliser ?
Non. Le modèle s'exécute sur les serveurs du fournisseur. Votre code envoie uniquement des requêtes HTTP, un ordinateur portable ou un petit VPS suffit.
Quel nom de modèle dois-je envoyer ?
Envoyez uncensored comme valeur du modèle. Vous pouvez le confirmer avec une requête GET vers /v1/models.
Est-ce que cela prend en charge les SDK Python et Node.js d'OpenAI ?
Oui. Définissez l'URL de base sur l'adresse /v1 du site et utilisez votre clé. Les complétions de chat, le streaming, l'appel de fonctions et le mode JSON fonctionnent via les paramètres habituels.
Que se passe-t-il si j'envoie trop de requêtes ?
Vous recevez un HTTP 429 avec le code rate_limited ou concurrency. Attendez et réessayez, et respectez l'en-tête Retry-After lorsqu'il est présent.
Existe-t-il un moyen gratuit de le tester ?
Les nouveaux utilisateurs peuvent obtenir $0,50 de crédit d'essai gratuit en un clic sur la page de la clé API. Il est valable 7 jours et ne nécessite pas de carte.
Votre clé est à un formulaire de distance
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.
Obtenir une clé API