URL Base e Autenticazione
L'autenticazione richiede una singola chiave API passata nell' Authorization header.
Ogni richiesta deve puntare all'URL base https://api.dolphinaisincensura.com/v1 e includi la chiave come Bearer YOUR_API_KEY.
Questa configurazione funziona con qualsiasi SDK compatibile con OpenAI semplicemente aggiornando il base_url configurazione.
Errori come 401 indicano una chiave non valida o mancante, mentre 402 segnala credito prepagato insufficiente.
curl https://api.dolphinaisincensura.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the python imports for requests and json"}]
}'
Invio di un completamento chat
Invia una richiesta POST a /v1/chat/completions con un model field impostato a uncensored.
Includi un messages array contenente la cronologia dei tuoi prompt per mantenere il contesto della conversazione.
L'API restituisce una risposta testuale direttamente nel content field della prima scelta.
Questo approccio a modello singolo elimina le tariffe del proxy e garantisce prezzi prevedibili a $0.15 per 1M token di input.
from openai import OpenAI
client = OpenAI(base_url="https://api.dolphinaisincensura.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Gestione dello streaming (SSE)
Abilita lo streaming impostando stream a true nel payload della richiesta.
Il server risponde con Server-Sent Events (SSE) che forniscono i token in modo incrementale.
Analizza ogni frammento SSE per estrarre il testo generato senza attendere la risposta completa.
Le statistiche sull'utilizzo dei token sono fornite nell'ultimo chunk dello stream per una fatturazione accurata.
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)
Function Calling e modalità JSON
Usa il tools parametro per definire gli schemi delle funzioni per l'estrazione di dati strutturati.
Imposta response_format a {"type": "json_object"} per forzare un output JSON rigoroso per un'analisi affidabile.
Specificare temperature e top_p per controllare la creatività rispetto al determinismo nei vostri risultati.
Queste funzionalità ti permettono di costruire agenti autonomi che interagiscono con API o database esterni.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.dolphinaisincensura.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Comprendere i limiti dei token e il contesto
La finestra di contesto supporta 100.000 token per prompt e completamento combinati.
L'output massimo per richiesta è di 16.000 token, o 2.048 se max_tokens è non impostato.
I limiti di frequenza consentono 300 richieste al minuto e 8 richieste concorrenti per chiave API.
Le richieste che superano il limite del corpo di 8 MB o che raggiungono i limiti di concorrenza restituiscono errori 429.
Le risposte di errore e i rifiuti non consumano il tuo credito prepagato.
Limiti di frequenza e concorrenza
Ogni chiave API è limitata a 300 richieste al minuto e 8 connessioni simultanee attive.
Un codice di stato 429 indica che hai superato queste soglie di concorrenza o di velocità.
Puoi generare una nuova chiave per sostituire quella esistente, ma è consentita una sola chiave attiva per account.
Monitora il tuo utilizzo tramite le intestazioni di risposta per rimanere entro il limite di 8 MB del corpo della richiesta.