API Qwen Abliterated: chiama un modello ospitato, senza GPU

Puoi chiamare un modello di chat senza censura via HTTP con l'SDK OpenAI che già usi, saltando il download dei pesi o l'affitto di una GPU. Questa guida mostra la configurazione, con codice funzionante e costi esatti.
Punti chiave
- Collega qualsiasi SDK OpenAI all'URL base e imposta il modello su uncensored.
- Streaming, chiamata di strumenti e modalità JSON funzionano tramite i parametri standard.
- Limiti: 8 richieste parallele e 300 al minuto con una chiave completa.
- Paghi per token: $0,15 per 1M di input, $0,50 per 1M di output.
Risposta breve: cambia l'URL base
Se cerchi una qwen abliterated api, la strada pratica è un endpoint ospitato che parla il protocollo OpenAI. Mantieni il codice client, cambi due valori e invii richieste a un server che esegue il modello per te. Nessun download GGUF, nessuna scelta di quantizzazione, nessun budget VRAM.
Una nota necessaria sulla denominazione: questo è un servizio indipendente, non l'API ufficiale Qwen, e il modello ospitato è indirizzato come uncensored invece che con il nome di un checkpoint Qwen. È un modello a pesi aperti, gestito da un provider indipendente e ottimizzato per rispondere senza rifiuti di contenuto per uso adulto legale. Se ti serve un file abliterated specifico, eseguilo localmente. Se ti serve un endpoint chat affidabile per un'app, leggi oltre.
| Impostazione | Valore |
|---|---|
| URL di base | https://api.qwenabliterated.top/v1 |
| Modello | uncensored |
| Intestazione di autenticazione | Authorization: Bearer YOUR_API_KEY |
| Endpoint | POST /v1/chat/completions, GET /v1/models |
| Finestra di contesto | 100.000 token, prompt più completamento |
Ottieni una chiave
Accedi con Google, oppure con email e password, poi apri la pagina chiave API. I nuovi utenti possono richiedere $0,50 di credito di prova gratuito con un clic, uno per persona, valido per 7 giorni e senza carta. È sufficiente per eseguire ogni esempio qui sotto più volte.
Le chiavi di prova hanno limiti inferiori rispetto alle chiavi complete: 2 richieste concorrenti e 60 richieste al minuto, contro 8 e 300 con una chiave completa. Tienine conto se testi con worker paralleli.
Archivia la chiave in una variabile d'ambiente invece che nel controllo del codice sorgente:
export QWENABL_KEY="paste-your-key-here"Prima richiesta in Python
Installa l'SDK ufficiale con pip install openai, poi:
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 risposta include un blocco usage standard, così puoi loggare i token prompt e completion e calcolare la spesa autonomamente. Le intestazioni includono X-Request-Id per le domande di supporto e X-Balance-USD così puoi monitorare il credito residuo senza aprire una dashboard.
Perché usare un'API invece di file GGUF
La strada usuale verso un modello senza censura è trovare un file quantizzato, caricarlo in un runtime locale e parlare con un server locale. Funziona e, per gli esperimenti, è un buon modo per imparare. L'attrito si manifesta quando passi dagli esperimenti a qualcosa che usano altre persone.
Prima, l'hardware. Un file che sta sulla tua scheda desktop a contesto breve potrebbe non stare a contesto lungo, perché la cache di attenzione cresce con ogni token. Seconda, la concorrenza. Un singolo processo locale gestisce comodamente una o due chat, ma dieci utenti contemporanei creano code. Terza, la disponibilità. Una macchina domestica va in standby, perde alimentazione e riceve un aggiornamento driver nel momento sbagliato. Un'API ospitata trasforma queste problematiche nel lavoro di qualcun altro, e paghi solo per i token usati.
Quello che rinunci è la libertà di scegliere un checkpoint specifico e la garanzia che i byte non escano mai dalla tua rete. Decidi quale delle due cose conta di più per il tuo progetto prima di scegliere.
Node.js e curl
L'SDK Node accetta le stesse due opzioni:
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);
E con curl, utile per verificare una chiave prima di collegare qualsiasi cosa:
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
Una chiamata riuscita restituisce una lista JSON che include uncensored. Un 401 significa che la chiave è errata o mancante. La documentazione copre il formato degli errori nel dettaglio.
Streaming, modalità JSON e strumenti
Streaming
Imposta stream: true e leggi gli eventi server-sent. L'utilizzo viene riportato alla fine dello stream.
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)
Una richiesta in streaming mantiene il suo slot di concorrenza fino al termine dello stream, quindi un client che apre uno stream e se ne va bloccherà la capacità. Consuma o chiudi sempre lo stream.
Modalità JSON
Passa response_format={"type": "json_object"} e menziona JSON nel tuo prompt. Analizza comunque in modo difensivo; nessun modello segue uno schema perfettamente ogni volta.
Chiamata di funzioni
Invia tools e opzionalmente tool_choice. Quando il modello chiede uno strumento, eseguilo e restituisci l'output come messaggio con role: "tool". Anche le chiamate di strumenti sono in streaming. I parametri di campionamento temperature, top_p, stop, seed e le penalità di frequenza e presenza vengono passati.
Integrarla in un'applicazione reale
Uno script singolo è facile. Un'applicazione richiede alcune abitudini in più, e sono le stesse che useresti con qualsiasi API stile OpenAI.
Mantieni la chiave sul server
Non spedire mai la chiave nel codice browser o in un'app mobile. Chiama l'API dal tuo backend ed esponi la tua route al frontend, dove puoi aggiungere autenticazione e limiti per utente. Chiunque trovi una chiave in un bundle può spendere il tuo credito.
Imposta i timeout e limita l'output
La completion può usare tutto ciò che resta della finestra da 100.000 token, e max_tokens è opzionale. Per una funzione chat, imposta un limite che corrisponda alla tua interfaccia così una risposta insolitamente lunga non può gonfiare il conto. Abbinalo a un timeout client e avrai un soffitto su tempo e denaro per ogni chiamata.
Logga l'ID della richiesta
Ogni risposta include X-Request-Id. Archivialo accanto alla tua registrazione della chiamata. Quando un risultato sembra errato o una richiesta fallisce, quell'identificatore è ciò che permette al supporto di trovare la richiesta esatta. L'intestazione X-Balance-USD è utile per un semplice alert: se il numero scende sotto una soglia, invia te stesso un messaggio prima che un lavoro si esaurisca.
Controlla l'elenco dei modelli all'avvio
Un controllo di salute che chiama GET /v1/models non costa token e conferma la chiave, l'URL e il percorso di rete in un solo passaggio. Esegui quando il tuo servizio si avvia e fallisci visibilmente se restituisce un errore.
Limiti e gestione degli errori
Le richieste oltre il limite ricevono HTTP 429. Il codice errore ti dice quale limite hai raggiunto: rate_limited significa troppe richieste al minuto, e concurrency significa troppe contemporaneamente. Durante un sovraccarico temporaneo l'API restituisce anche 429 con un'intestazione Retry-After: 5. Il corpo massimo è 8 MB.
Rispetta l'intestazione e usa il backoff:
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")
Se esegui un pool di worker, limitalo a 8 thread per una chiave completa. Superare questo limite converte solo il lavoro in 429. Le richieste fallite o rifiutate non vengono addebitate, quindi i retry non ti costano nulla in più quando falliscono.
Quanto costa una richiesta
I token di input sono $0,15 per 1M e i token di output $0,50 per 1M. Alcuni esempi, calcolati esattamente:
- Un turno di chat con 2.000 token prompt e 500 token completion: 2.000 x $0,15 / 1M = $0,0003, più 500 x $0,50 / 1M = $0,00025, quindi $0,00055. Mille turni costano $0,55.
- Un lavoro batch che invia 10M di token input e riceve 2M di token output: $1,50 più $1,00, quindi $2,50.
- Una chiamata con contesto lungo di 90.000 token di prompt e 1.000 token di output: $0,0135 più $0,0005, quindi $0,014.
Il credito è prepagato, non scade mai e non c'è abbonamento. Ricarica qualsiasi importo intero da $20 a $500; $50 aggiunge il 5%, quindi una ricarica di $50 dà $52,50 di credito. Paga con cripto (USDT su TRC20, USDC su Base). Vedi la pagina prezzi per la tabella completa dei bonus.
File ospitati o locali: quale scegliere
Un GGUF locale garantisce privacy garantita dall'isolamento e controllo completo sui pesi esatti. Un’API ospitata non richiede lavoro hardware, offre contesto lungo e un URL che altri servizi possono chiamare. La maggior parte dei team che costruiscono un bot, un’applicazione di scrittura o un backend per giochi trova più semplice l’hosting, poiché una scheda GPU di riserva è un altro sistema da mantenere attivo.
Per una panoramica più ampia sul pagamento per token rispetto ad altri modi per accedere a un modello stile Qwen, vedi la guida comparativa. I prompt inviati all'API non sono usati per l'addestramento. Il modello è solo testo e i contenuti sessuali che coinvolgono minorenni non sono permessi in nessun caso.
Altre guide
Domande e risposte
Ho bisogno di una GPU per utilizzarlo?
No. Il modello gira sui server del provider. Il tuo codice invia solo richieste HTTP, quindi basta un portatile o un piccolo VPS.
Quale nome del modello devo inviare?
Invia uncensored come valore del modello. Puoi confermarlo con una richiesta GET a /v1/models.
Supporta gli SDK Python e Node di OpenAI?
Sì. Imposta l'URL di base sull'indirizzo /v1 del sito e usa la tua chiave. Completamenti chat, streaming, chiamata di funzioni e modalità JSON funzionano tramite i parametri normali.
Cosa succede se invio troppe richieste?
Ricevi HTTP 429 con il codice rate_limited o concurrency. Attendi e riprova, e onora l'intestazione Retry-After quando è presente.
Esiste un modo gratuito per provarlo?
I nuovi utenti possono richiedere $0,50 di credito di prova gratuito con un clic nella pagina della chiave API. Dura 7 giorni e non richiede carta.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, modifica l'URL di base. È tutta la configurazione.
Ottieni la chiave API