Punti chiave
- L'API senza censura segue la sintassi standard di OpenAI ma non dispone di funzionalità avanzate come embedding o routing su più modelli, quindi il tuo client deve essere configurato per un singolo endpoint.
- Le risposte in streaming richiedono una gestione specifica SSE; se il tuo SDK utilizza di default l'analisi JSON, incontrerai errori di parsing su output non censurati di grandi dimensioni.
- La chiamata di funzioni funziona ma richiede una rigorosa aderenza allo schema JSON perché il modello potrebbe generare più frequentemente argomenti non veritieri rispetto ai modelli ottimizzati per le istruzioni.
- Hai un limite di 300 richieste al minuto e una dimensione del corpo di 8MB, il che rende necessarie strategie di raggruppamento attente per le applicazioni ad alto volume.
Comprendere l'endpoint dell'API AI senza censura
Quando integri un'API AI senza censura, l'errore più comune è assumere che si comporti identicamente ai modelli commerciali standard. Il nostro endpoint è un servizio di chat-completions ospitato e compatibile con OpenAI. Fornisce un singolo modello di linguaggio grande senza censura dedicato. Questo significa che non devi gestire il routing o il versioning dei modelli. Invii richieste a POST /v1/chat/completions e ricevi testo in risposta.
A differenza degli aggregatori che raggruppano immagini, video e più fornitori, questo servizio si concentra esclusivamente sulla generazione di testo ad alte prestazioni e senza restrizioni. Il modello è a pesi aperti e ottimizzato per rispondere senza rifiuti di contenuti per l'uso adulto legale. Tuttavia, non è GPT, Claude, Gemini o il modello di alcun altro fornitore. Esegue sui nostri server GPU.
L'URL base è https://api.uncensoredgptapi.com/v1. Per usarlo, modifica il campo base_url nei tuoi SDK OpenAI esistenti o in qualsiasi client compatibile con OpenAI e fornisci la tua chiave API. L'ID del modello da inviare è semplicemente "uncensored". Questa semplicità riduce i tempi di integrazione, ma richiede di verificare che il tuo client possa gestire un endpoint a modello singolo senza aspettarsi fallback.
Errori comuni di autenticazione
Gli errori di autenticazione derivano solitamente da intestazioni mal configurate o chiavi scadute. L'API utilizza l'autenticazione con token Bearer standard. Devi includere la tua chiave API nell'intestazione Authorization per ogni richiesta.
Un errore comune è memorizzare nella cache la chiave API senza verificarne la validità. Se rigeneri la chiave, quella vecchia viene revocata immediatamente. Devi aggiornare la configurazione del client per usare la nuova chiave. Se ricevi un errore 401 Unauthorized, controlla due cose: prima, assicurati che la chiave sia copiata correttamente senza spazi vuoti iniziali o finali. Secondo, verifica di usare l'URL base corretto. Anche una leggera deviazione nel dominio o nel percorso causerà un errore di autenticazione.
Un altro problema frequente è l'utilizzo dell'ID del modello errato. L'endpoint si aspetta "uncensored". Se invii "gpt-4" o un altro ID del modello standard, l'endpoint potrebbe rifiutare la richiesta o restituire un errore perché fornisce solo un modello. Controlla sempre due volte il campo model nel payload della richiesta.
curl https://api.uncensoredgptapi.com/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."}]
}'
Gestione corretta delle risposte in streaming
Le risposte in streaming tramite Server-Sent Events (SSE) sono supportate ma spesso gestite male dagli sviluppatori abituati a risposte JSON sincrone. Quando imposti "stream": true nella tua richiesta, l'API restituisce un flusso di oggetti JSON parziali, non una singola risposta JSON completa.
Se il tuo client tenta di analizzare l'intera risposta come JSON in una volta, fallirà. Devi leggere il flusso riga per riga. Ogni riga inizia con data: e contiene un oggetto JSON parziale. L'ultima riga è data: [DONE]. Il tuo codice dovrebbe aggregare questi chunk per ricostruire il testo finale.
Alcuni SDK gestiscono questo automaticamente, ma le implementazioni personalizzate richiedono un parsing SSE esplicito. Assicurati che il buffer del tuo client possa gestire output di grandi dimensioni senza andare in timeout. Il modello senza censura può generare risposte lunghe e lo streaming aiuta a gestire l'utilizzo della memoria. Se sperimenti connessioni interrotte, valuta l'implementazione di un backoff esponenziale per la logica di ritentativa.
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)
Errori di configurazione della chiamata di funzioni
La chiamata di funzioni è supportata, ma il modello senza censura potrebbe generare più frequentemente argomenti non veritieri rispetto ai modelli ottimizzati per le istruzioni. Questo richiede una convalida più rigorosa da parte tua. Quando definisci gli strumenti, assicurati che il tuo schema JSON sia preciso. Il modello tenterà di compilare gli argomenti, ma potrebbe omettere campi obbligatori o fornire tipi errati.
Convalida sempre gli argomenti della chiamata di funzione prima di eseguire la funzione. Se il modello restituisce JSON non valido per gli argomenti, devi gestire l'errore in modo elegante. Non assumere che l'output sia perfettamente strutturato. Potrebbe essere necessario implementare un meccanismo di ritentativa o un passaggio di post-elaborazione per pulire gli argomenti.
Inoltre, tieni presente che il modello senza censura potrebbe ignorare le definizioni degli strumenti se il prompt è complesso. Se riscontri problemi, semplifica le descrizioni degli strumenti e assicurati che il prompt di sistema istruisca chiaramente il modello a utilizzare gli strumenti quando appropriato. Testa con alcuni input di esempio per verificare il comportamento.
Limiti della finestra di contesto (100k token)
L'API senza censura supporta una finestra di contesto di 100.000 token, combinando sia prompt che completamento. Questo è significativamente più grande di molti modelli standard, consentendo conversazioni estese o l'elaborazione di documenti di grandi dimensioni. Tuttavia, non è infinito. Se il tuo input supera questo limite, l'API restituirà un errore.
Per evitare di raggiungere questo limite, monitora l'utilizzo dei token. La maggior parte degli SDK fornisce utilità per contare i token. Tieni traccia dei token cumulativi nella cronologia delle conversazioni. Se stai elaborando documenti di grandi dimensioni, valuta di frammentarli o di riassumere le parti precedenti della conversazione per liberare spazio di contesto.
Ricorda che la finestra di contesto include tutti i messaggi nell'array messages. Ogni messaggio contribuisce al totale. Se invii molti messaggi piccoli, il sovraccarico può sommarsi. Ottimizza la struttura del tuo prompt per minimizzare i token non necessari. Ad esempio, evita di ripetere le istruzioni di sistema in ogni turno se rimangono costanti.
Spiegazione del limite di richieste (300 RPM)
L'API impone un limite di richieste di 300 richieste al minuto per chiave. Questo è un limite rigido per garantire un utilizzo equo tra tutti gli utenti. Se superi questo limite, riceverai un errore 429 Too Many Requests. Il tuo client dovrebbe gestirlo implementando una strategia di ritentativa.
Un errore comune è non tenere conto del traffico a raffica. Se invii 300 richieste in rapida successione, potresti raggiungere il limite anche se la tua velocità media è inferiore. Distribuisci le tue richieste uniformemente nel minuto. Se stai elaborando un set di dati di grandi dimensioni, valuta di raggruppare le richieste o di utilizzare una coda per gestire il flusso.
I limiti di richieste si applicano per chiave API. Se hai più servizi che utilizzano la stessa chiave, condividono il limite. Per aumentare la capacità, puoi generare una nuova chiave, ma tieni presente che è attiva solo una chiave per account. Puoi rigenerare la chiave in qualsiasi momento, ma questo revoca quella vecchia, quindi assicurati che tutti i client siano aggiornati.
Limiti della dimensione del corpo della richiesta (8MB)
Ogni corpo della richiesta è limitato a 8 MB. Questo limite si applica al payload JSON, inclusi l'array messages e eventuali definizioni degli strumenti. Se la tua richiesta supera questa dimensione, l'API la rifiuterà con un errore 413 Payload Too Large.
Questo limite è importante quando si inviano file di grandi dimensioni come dati codificati in base64 o quando si includono cronologie di conversazioni estese. Se stai lavorando con documenti di grandi dimensioni, valuta di comprimere il testo o di rimuovere gli spazi vuoti non necessari prima di inviare. Puoi anche utilizzare lo streaming per ridurre l'utilizzo della memoria, ma il corpo della richiesta iniziale deve comunque rientrare nel limite di 8 MB.
Monitora le dimensioni delle tue richieste durante lo sviluppo. Se riscontri questo errore, rivedi la struttura del tuo prompt e rimuovi le informazioni ridondanti. Ad esempio, se stai includendo l'intero prompt di sistema in ogni messaggio, spostalo nel ruolo system una volta e fai riferimento ad esso.
Gestione e rigenerazione della chiave API
Ogni account è limitato a una sola chiave API. Questa chiave viene generata durante la registrazione e viene mostrata immediatamente. Puoi rigenerare la chiave in qualsiasi momento dal tuo dashboard. Quando la rigeneri, la vecchia chiave viene revocata istantaneamente. Qualsiasi client che utilizza la vecchia chiave riceverà un errore 401 Unauthorized.
Per gestire questo in modo efficace, aggiorna tutti i tuoi client prima di rigenerare la chiave. Se hai più servizi o dispositivi che utilizzano la chiave, assicurati che tutti vengano aggiornati contemporaneamente. Puoi generare una nuova chiave tutte le volte necessarie, ma solo una sarà attiva alla volta.
La chiave API è collegata alla tua email e password. Se perdi la chiave, puoi rigenerarla. Non c'è limite al numero di rigenerazioni. Tuttavia, una rigenerazione frequente potrebbe indicare un problema di sicurezza, quindi utilizzala quando necessario. Mantieni la tua chiave sicura e non condividerla pubblicamente.
Risoluzione dei problemi sui filtri sui contenuti
Il modello senza censura non rifiuta argomenti legali per adulti, fiction, ricerca sulla sicurezza o controversi. Tuttavia, esiste un unico limite rigido sui contenuti che si applica sempre: nessun contenuto sessuale che coinvolga minori. Le richieste contenenti questo contenuto vengono bloccate.
Se riscontri rifiuti imprevisti, controlla il tuo prompt per indicatori sottili di contenuti proibiti. Il modello è ottimizzato per l'uso senza restrizioni, ma potrebbe comunque applicare filtri di sicurezza di base. Se stai testando con casi limite, documenta il comportamento per comprendere i confini del modello.
Un altro problema comune è l'allucinazione. Il modello senza censura potrebbe generare informazioni plausibili ma errate. Verifica sempre gli output critici, specialmente quando si utilizzano chiamate di funzioni o si genera codice. Il modello privilegia la fluidità rispetto alla precisione fattuale rigorosa in alcuni casi.