URL de base et authentification
Connectez à notre API compatible OpenAI en mettant à jour la configuration de votre client pour pointer vers https://api.openaicompatibleapiendpoints.com/v1. Vous avez besoin d'une clé API valide envoyée dans le Authorization en-tête en tant que jeton Bearer. Cette configuration fonctionne avec les SDK officiels OpenAI et toute bibliothèque cliente compatible. Aucune configuration de passerelle complexe n'est requise.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Chaque requête doit inclure votre clé unique. Si la clé est manquante ou invalide, le serveur renvoie immédiatement une erreur 401. Cela garantit que vos appels atteignent le LLM uncensored correct sans délais de routage.
Point de terminaison Chat Completions
Envoyez des messages au POST /v1/chat/completions point de terminaison pour obtenir des réponses textuelles du uncensored modèle. Ce point de terminaison gère les tours de conversation standard et prend en charge une fenêtre de contexte de 100 000 tokens. Vous pouvez définir une sortie maximale de 16 000 tokens par requête. Le modèle répond sans refus de contenu pour les sujets adultes légaux.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)Utilisez le standard messages tableau au format JSON. L'API ignore les champs supplémentaires qu'elle ne reconnaît pas, facilitant la migration. Vous ne payez que pour les tokens réellement consommés par le modèle.
Réponses en streaming
Activer la livraison de jetons en temps réel en définissant stream: true dans votre requête. Le serveur envoie une série de Server-Sent Events (SSE) jusqu'à ce que la réponse soit terminée. Les statistiques d'utilisation des tokens apparaissent dans le dernier chunk du flux. Cela réduit la latence perçue pour les utilisateurs attendant des réponses longues.
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)Mettez en mémoire tampon les tokens entrants côté client pour reconstituer le texte complet. Les erreurs lors du streaming sont rares mais doivent être gérées en vérifiant le dernier événement pour un code d'erreur. Le flux s'arrête automatiquement lorsque la limite de contexte ou le nombre maximal de tokens est atteint.
Mode JSON et outils
Forcez une sortie structurée en définissant response_format à {"type": "json_object"}. Cela garantit que le modèle renvoie du JSON au lieu de texte markdown. Vous pouvez également utiliser le tools le paramètre pour l'appel de fonctions. L'API prend en charge tool_choice pour un contrôle précis des fonctions que le modèle invoque.
Utiliser temperature et top_p pour ajuster l'aléatoire. Définissez seed pour des résultats reproductibles lors du débogage. Ces paramètres fonctionnent exactement comme prévu dans les intégrations standard compatibles OpenAI.
Gestion des erreurs et limites
Gérez les erreurs HTTP standard pour gérer les échecs côté client avec élégance. Un statut 401 signifie que votre clé API est invalide. Un statut 402 indique que votre crédit prépayé est épuisé. Une erreur 429 signale que vous avez dépassé la limite de 300 requêtes par minute.
Chaque clé permet huit requêtes simultanées. Le corps de la requête est limité à 8 Mo. Les remboursements ne sont pas émis pour le crédit utilisé, mais les erreurs lors du traitement sont gratuites. Vérifiez toujours le error objet dans la réponse JSON pour plus de détails.
Fenêtre de Contexte et Détails du Modèle
Le modèle prend en charge une fenêtre de contexte de 100 000 tokens, combinant prompt et complétion. Cela permet une rétention de contexte approfondie pour les longs documents ou les conversations étendues. La sortie max par défaut est de 2 048 tokens si vous ne spécifiez pas max_tokens. Vous pouvez augmenter cela jusqu'à 16 000 jetons par requête.
Le modèle n'est pas GPT, Claude ou un modèle d'un autre fournisseur. C'est un modèle à poids ouverts ajusté pour des réponses sans censure. Aucune donnée de vos invites n'est utilisée pour l'entraînement. Cela garantit la confidentialité de vos données propriétaires.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);