FR ▾
Obtenir une clé API

Créez un chatbot IA sans filtre avec une API

Un chatbot IA sans filtre est une application de chat dont le modèle répond aux demandes adultes légales au lieu de les refuser. Vous pouvez en créer un en une quarantaine de lignes de Node, ou sans code avec un frontend comme SillyTavern, et ce guide couvre les deux, ainsi que la mémoire, les coûts et les limites.

Mis à jour le

Illustration isométrique de bulles de chat lumineuses à côté d'un cube terminal, représentant la création d'un chatbot sur une API ouverte

Ce que « sans filtre » peut et ne peut pas signifier

Les utilisateurs qui souhaitent un chatbot sans filtre de contenu veulent généralement une chose : un chatbot qui n’interrompt pas une conversation avec des avertissements, des moralisations ou des refus lorsque le sujet est légal et que l’utilisateur est majeur. C’est une attente légitime pour la fiction, les applications de compagnon, l’humour noir, les débats et les conversations avec des conseils francs.

Le modèle sur cette API est un modèle à poids ouverts, hébergé par un fournisseur indépendant et ajusté pour répondre sans refus de contenu pour une utilisation légale des adultes. Ce n’est pas l’API officielle de Meta, Mistral, Qwen, DeepSeek, OpenAI, xAI, Google ou Anthropic. Il y a une limite stricte qu’aucun prompt ne modifie : pas de contenu sexuel impliquant des mineurs. En tant que personne qui construit l’application, vous avez aussi des responsabilités que le modèle ne peut pas assumer pour vous, comme vérifier que vos utilisateurs sont majeurs et respecter les lois applicables dans votre zone d’activité.

La suite de ce guide traite « sans filtre » comme un choix de conception que vous faites délibérément. Votre chatbot fera ce que votre prompt système et vos utilisateurs demandent, donc la qualité du bot dépend principalement du prompt et du code environnant.

Choisissez votre voie : code ou sans code

VoieIdéal pourDurée
Frontend avec un endpoint personnalisé (SillyTavern ou similaire)Usage personnel, discussion de personnages, test rapide de prompts5 minutes
Script simple avec le SDK OpenAIApprentissage, bots en ligne de commande, bots Discord ou Telegram20 minutes
Votre propre backend et interface webUn produit utilisé par d'autresUn week-end ou plus

Les trois méthodes nécessitent les mêmes éléments : une clé, l’URL de base et l’ID du modèle. Vous obtenez la clé sur la page Clé API après vous être connecté avec Google ou avec un e-mail et un mot de passe. Les nouveaux utilisateurs peuvent obtenir 0,50 $ de crédit d’essai en un clic, valable 7 jours, sans paiement. Les recharges ultérieures sont uniquement en crypto : USDT sur TRC20 ou USDC sur Base.

Un chatbot fonctionnel en Node

Installez le package officiel OpenAI, définissez votre clé comme variable d'environnement et enregistrez ceci sous bot.mjs. L'extension .mjs vous permet d'utiliser import sans configuration supplémentaire.

# base URL https://api.nofilterapi.com/v1, model uncensored
npm install openai
export NOFILTER_API_KEY="YOUR_API_KEY"
node bot.mjs
import OpenAI from "openai";
import readline from "node:readline/promises";
import { stdin as input, stdout as output } from "node:process";

const client = new OpenAI({
  baseURL: "https://api.nofilterapi.com/v1",
  apiKey: process.env.NOFILTER_API_KEY,
});

const history = [
  {
    role: "system",
    content:
      "You are Dex, a blunt, funny late-night radio host. Speak plainly, " +
      "keep replies under 120 words, and never lecture. All users are adults.",
  },
];

const rl = readline.createInterface({ input, output });

while (true) {
  const text = await rl.question("you> ");
  if (text.trim() === "") break;
  history.push({ role: "user", content: text });

  const stream = await client.chat.completions.create({
    model: "uncensored",
    messages: history,
    temperature: 0.8,
    max_tokens: 400,
    stream: true,
  });

  let reply = "";
  process.stdout.write("dex> ");
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? "";
    reply += piece;
    process.stdout.write(piece);
  }
  process.stdout.write("\n");
  history.push({ role: "assistant", content: reply });
}
rl.close();

Voici le bot en entier. Le tableau history est la mémoire de conversation, car l’API ne conserve rien entre les appels. Chaque tour envoie le tableau entier, de sorte que le modèle voit tout ce qui a précédé. Le streaming affiche la réponse au fur et à mesure de sa génération, et les chiffres d’utilisation arrivent à la fin du flux.

Si vous souhaitez placer cela derrière une page web, gardez la clé sur votre serveur. Créez un petit endpoint qui reçoit le message de l'utilisateur, l'ajoute à l'historique de cet utilisateur, appelle l'API et renvoie la réponse. Une clé placée dans le JavaScript du navigateur peut être lue par quiconque ouvre les outils de développement, et votre crédit partirait avec elle. La documentation liste tous les paramètres que l'endpoint accepte.

Donnez au bot une identité qui tient

Les modèles sans filtre ont encore besoin d'indications. Sans cela, ils répondent d'une voix plate et neutre. Un bon prompt système pour un chatbot a cinq parties courtes :

  1. Identité. Nom, rôle, une ou deux caractéristiques définissantes.
  2. Voix. Longueur des phrases, vocabulaire, humour, formalité. Donnez une ligne d'exemple.
  3. Limites de votre choix. Sujets que ce personnage évite, le cas échéant. Ce sont vos décisions produit.
  4. Format. Longueur de la réponse, utilisation de listes, maintien à la première personne.
  5. Faits. Tout ce que le bot doit retenir sur l'utilisateur ou le monde.

Gardez-le sous environ 400 mots. Un prompt long n’est pas un prompt plus fort, et vous le payez à chaque requête car il fait partie de l’entrée à chaque fois. À 0,15 $ par 1 million de tokens d’entrée, un prompt système de 600 tokens coûte 0,00009 $ par appel, ce qui est peu pour un chat et notable à 100 000 appels : 9 $.

L'échantillonnage compte aussi. Une température autour de 0,7 à 0,9 convient à la conversation. Les paramètres top_p, stop, seed et les pénalités de fréquence et de présence sont tous transmis au modèle, donc vous pouvez ajuster la répétition sans astuces.

La voie sans code avec SillyTavern

SillyTavern est un frontend de chat gratuit et auto-hébergé populaire pour les conversations de personnages, et il permet d'ajouter un endpoint compatible OpenAI. Ouvrez le panneau de connexion API, choisissez le type de complétion de chat, puis sélectionnez la source personnalisée ou compatible OpenAI. Saisissez :

  • Endpoint ou URL de base : https://api.nofilterapi.com/v1
  • Clé API : la clé de votre compte
  • Modèle : uncensored

Les étiquettes de menu diffèrent entre les versions, donc utilisez ces trois valeurs et suivez les invites de votre version. Une fois connecté, créez ou importez un personnage, écrivez l'identité dans sa description et commencez à parler. D'autres frontends communautaires ont le même type d'option, généralement étiqueté endpoint OpenAI personnalisé ou proxy.

Si vous voulez comprendre comment ce service traite vos données avant de choisir une voie, lisez No Log AI API : Mythes vs Faits. Un fait de notre côté est simple : les prompts ne sont pas utilisés pour l'entraînement.

Mémoire : la fenêtre de 100 000 tokens et comment la gérer

La fenêtre de contexte est de 100 000 tokens, couvrant le prompt et la complétion ensemble. Cela suffit pour une conversation très longue, mais le coût de renvoi de l’historique augmente avec elle. Un tour avec 10 000 tokens d’historique et une réponse de 300 tokens coûte 10 000 x 0,15 $ / 1M plus 300 x 0,50 $ / 1M, ce qui fait 0,0015 $ plus 0,00015 $, soit 0,00165 $. Le crédit d’essai de 0,50 $ couvre environ 303 de ces tours.

Une conception de mémoire pratique utilise deux couches. Conservez les 15 à 20 derniers messages tels quels, et gardez une liste compacte de faits à long terme dans le prompt système. Vous pouvez demander au modèle de maintenir cette liste pour vous en mode JSON, ce qui contraint la sortie à du JSON valide :

curl https://api.nofilterapi.com/v1/chat/completions \
  -H "Authorization: Bearer $NOFILTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Extract durable facts about the user from the chat. Reply as JSON: {\"facts\": [string]}."},
      {"role": "user", "content": "User: I work night shifts at a bakery and my cat is called Biscuit."}
    ]
  }'

Exécutez cela tous les 10 ou 20 tours sur les derniers messages, fusionnez les nouveaux faits dans votre liste stockée, et placez la liste dans le prompt système. La tâche du modèle reste petite, et votre bot semble se souvenir de mois de conversation.

Coûts, limites et mise en production

Le prix est de 0,15 $ par 1 M de tokens d'entrée et de 0,50 $ par 1 M de tokens de sortie, prélevés sur le crédit prépayé sans abonnement. Vous pouvez recharger un montant entier de 20 $ à 500 $, avec un bonus de +5 % à partir de 50 $, +10 % à partir de 100 $ et +15 % à partir de 200 $. Le crédit n'expire jamais, et les requêtes échouées ou refusées ne sont pas facturées. La page de tarification présente le détail complet.

Un bot avec 200 utilisateurs qui envoient chacun 30 messages par jour, au prix de 0,00165 $ par tour mentionné ci-dessus, effectue 6 000 appels et dépense environ 9,90 $ par jour. Des historiques plus courts réduisent rapidement ce coût, car le côté entrée domine.

Lorsque le bot grandit, respectez les limites. Une clé complète permet 8 requêtes simultanées et 300 requêtes par minute. Au-delà, l'API renvoie une erreur HTTP 429 avec le code rate_limited ou concurrency, et en cas de surcharge temporaire, une erreur 429 avec Retry-After: 5. Les SDK OpenAI réessayent les réponses 429 par défaut, et vous pouvez augmenter le nombre d'essais avec l'option client maxRetries. Une réponse en streaming occupe son slot de concurrence jusqu'à sa fin, donc mettez en file d'attente les messages entrants par clé si vous vous attendez à des pics de trafic.

Ajoutez un plafond quotidien par utilisateur dans votre propre code. Cela protège votre crédit contre un utilisateur bavard ou un script, et cela vous coûte dix lignes de code.

Questions et réponses

Est-il légal d'exécuter un chatbot sans censure ?

Le modèle répond aux demandes adultes légales sans refus de contenu, mais vous êtes responsable de votre application, de vos utilisateurs et des lois de votre région. Le contenu sexuel impliquant des mineurs est toujours interdit.

Dois-je écrire du code pour l'utiliser ?

Non. Un frontend tel que SillyTavern accepte un endpoint compatible OpenAI. Entrez l'URL de base https://api.nofilterapi.com/v1, votre clé et l'ID du modèle uncensored.

Comment payer du crédit ?

Rechargez un montant entier de 20 $ à 500 $ avec de la crypto : USDT sur TRC20 ou USDC sur Base. Les nouveaux utilisateurs peuvent d'abord essayer le crédit d'essai gratuit de 0,50 $.

Mon historique de chat sera-t-il utilisé pour l'entraînement ?

Non. Les prompts ne sont pas utilisés pour l'entraînement. L'API est sans état, donc votre propre application doit stocker et renvoyer la conversation à chaque tour.

Votre clé n'est qu'à un formulaire d'ici

Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.