Démarrage rapide : Intégrez l'API sans censure
Intégrez l'API LLM sans censure dans votre pile avec un seul changement d'URL de base et zéro verrouillage d'abonnement. Ce guide couvre l'authentification, le streaming et l'utilisation des outils pour le point de terminaison AiNoCensor.
Authentification : Définition de la clé API
Obtenez votre clé via une connexion Google ou e-mail sur le Obtenir la clé API page et passez-le dans le Authorization header. Le système émet une clé active par compte, remplaçant immédiatement toute clé précédente. Cette configuration simple vous permet de commencer à envoyer des requêtes sans configurer des chaînes de proxy complexes ni gérer des cycles de facturation mensuels.
curl https://api.ainocensor.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top five Rust crates for async networking."}]
}'Gardez votre clé en sécurité. La plateforme ne suit ni ne consigne les invites pour l'entraînement, vos données restent donc les vôtres pendant que vous construisez des applications sans restrictions.
Requête de base : Complétions de chat
Envoyez une requête POST à https://api.ainocensor.com/v1/chat/completions en utilisant l'ID du modèle uncensored pour recevoir des réponses textuelles. Ce point de terminaison prend en charge les paramètres standards tels que temperature et top_p pour contrôler l'aléatoire. Vous n'avez pas besoin de changer de SDK ; n'importe quel client compatible OpenAI fonctionne en ajustant l'URL de base.
from openai import OpenAI
client = OpenAI(base_url="https://api.ainocensor.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)Le modèle répond sans refus de contenu pour les sujets adultes ou créatifs légaux, ce qui le rend idéal pour les implémentations de chatbot NSFW ou les tâches de rétention de contexte approfondie.
Réponses en streaming (SSE)
Activez le streaming en définissant stream: true pour recevoir des tokens via les Server-Sent Events (SSE) pour une latence plus faible. Cette approche est cruciale pour les mises à jour d'interface utilisateur en temps réel où l'attente d'une réponse complète entraînerait des délais notables. Le dernier chunk contient l'utilisation totale des tokens pour la transparence de la facturation.
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)Les erreurs et les refus ne consomment pas de crédit, donc le streaming de grandes sorties reste rentable même si la connexion tombe inattendument.
Appel de fonctions et outils
Définissez vos outils dans le corps de la requête et utilisez tool_choice pour laisser le modèle décider quand les invoquer. Cette capacité permet au LLM sans censure de s'intégrer aux systèmes externes sans analyse manuelle des sorties textuelles. Vous pouvez spécifier required ou auto modes en fonction des besoins de votre application.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ainocensor.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);L'API prend en charge les définitions d'outils standard, garantissant la compatibilité avec les frameworks d'agents existants qui attendent des structures d'appel de fonctions de style OpenAI.
Configuration du Mode JSON
Définir response_format à {"type": "json_object"} pour forcer le modèle à produire un JSON strictement valide. Cette fonctionnalité est essentielle pour analyser des données structurées dans des pipelines automatisés ou pour créer des générateurs d'histoires NSFW fiables nécessitant un respect rigoureux d'un schéma spécifique. Elle élimine le besoin de nettoyer les sorties mal formées avec des expressions régulières.
Le modèle est ajusté pour maintenir ce format même dans des paramètres de créativité élevés, garantisant que votre récepteur reçoit des structures de données cohérentes.
Gestion des erreurs et des limites
Surveillez les erreurs 401 si votre clé est invalide, les erreurs 402 lorsque le crédit prépayé est épuisé, et les limites de taux 429 déclenchées par le dépassement de 300 requêtes par minute. L'API impose une limite de corps de requête de 8 Mo et permet jusqu'à 8 requêtes simultanées par clé. Votre crédit prépayé n'expire jamais, vous pouvez donc suspendre l'utilisation entre les projets sans perdre votre solde.
Avec une fenêtre de contexte de 100 000 jetons, vous pouvez alimenter le modèle sans censure avec des documents étendus ou des historiques de conversation sans perdre le contexte antérieur.
Questions fréquentes
Comment le modèle sans censure gère-t-il les sujets controversés ?
Le modèle est ajusté pour répondre sans refus de contenu pour une utilisation adulte, fictive ou controversée légale. Il n'applique pas les filtres de sécurité standards, permettant une utilisation créative ou NSFW sans restriction tout en refusant toujours le contenu sexuel impliquant des mineurs.
Que se passe-t-il si je touche la limite de taux ?
Vous recevrez un code d'état 429. La limite est de 300 requêtes par minute par clé et de 8 requêtes simultanées. Vous pouvez générer une nouvelle clé pour remplacer l'ancienne si nécessaire, bien que chaque compte soit limité à une seule clé active à la fois.
Le crédit est-il remboursable en cas d'erreur ?
Non, le crédit prépayé n’est pas remboursable, mais il n’expire jamais. Si vous subissez un double débit ou une autre erreur de facturation, vous pouvez le résoudre via la page Support sans perdre votre solde existant.
Récupérer votre clé API
Inscrivez-vous, copiez la clé, mettez à jour l'URL du point de terminaison. Intégration complète en quelques secondes.