URL de base et authentification
L'authentification nécessite une seule clé API passée dans le Authorization header.
Chaque requête doit cibler l'URL de base https://api.dolphinaisincensura.com/v1 Et incluez la clé en tant que Bearer YOUR_API_KEY.
Cette configuration fonctionne avec n'importe quel SDK compatible OpenAI en mettant simplement à jour le base_url configuration.
Les erreurs comme 401 indiquent une clé invalide ou manquante, tandis que 402 signale un crédit prépayé insuffisant.
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"}]
}'
Envoi d'une complétion de chat
Envoyez une requête POST à /v1/chat/completions avec un model field set to uncensored.
Inclure un messages tableau contenant l'historique de vos prompts pour maintenir le contexte de la conversation.
L'API renvoie une réponse textuelle directement dans le content field of the first choice.
L'approche à modèle unique élimine les frais de proxy et garantit une tarification prévisible à $0.15 par 1M de tokens d'entrée.
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)
Gestion du streaming (SSE)
Activez le streaming en définissant stream à true dans votre charge utile de requête.
Le serveur répond par des événements envoyés par le serveur (SSE) qui délivrent les jetons de manière incrémentale.
Analysez chaque chunk SSE pour extraire le texte généré sans attendre la réponse complète.
Les statistiques d'utilisation des tokens sont fournies dans le dernier chunk du flux pour une facturation précise.
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)
Appel de fonction et mode JSON
Utilisez le tools paramètre pour définir les schémas de fonction pour l'extraction de données structurées.
Définir response_format à {"type": "json_object"} pour forcer une sortie JSON stricte afin d'obtenir une analyse fiable.
Specify temperature et top_p pour contrôler la créativité par rapport au déterminisme dans vos résultats.
Ces fonctionnalités vous permettent de créer des agents autonomes qui interagissent avec des API ou des bases de données externes.
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);
Comprendre les limites de jetons et le contexte
La fenêtre de contexte prend en charge 100 000 tokens pour l'invite et la complétion combinées.
La sortie maximale par requête est de 16 000 tokens, ou 2 048 si max_tokens n'est pas défini.
Les limites de taux permettent 300 requêtes par minute et 8 requêtes simultanées par clé API.
Les requêtes dépassant la limite de corps de 8 Mo ou atteignant les limites de concurrence retournent des erreurs 429.
Les réponses d'erreur et les refus ne consomment pas votre crédit prépayé.
Limites de débit et concurrence
Chaque clé API est limitée à 300 requêtes par minute et 8 connexions simultanées actives.
Un code de statut 429 indique que vous avez dépassé ces seuils de concurrence ou de taux.
Vous pouvez générer une nouvelle clé pour remplacer une clé existante, mais une seule clé active est autorisée par compte.
Surveillez votre consommation via les en-têtes de réponse pour rester dans la limite de 8 Mo du corps de la requête.