Bouw een AI-chatbot zonder filters met een API
Een AI-chatbot zonder filters is een chat-app waarvan het model legale verzoeken van volwassenen beantwoordt in plaats van ze te weigeren. Je kunt er een bouwen in ongeveer veertig regels Node, of met nul code in een frontend zoals SillyTavern. Deze gids behandelt beide methoden, evenals geheugen, kosten en limieten.
Bijgewerkt

Wat "geen filter" kan betekenen en wat niet
Mensen die een chatbot zonder filters zoeken, bedoelen meestal één ding: ze willen een chatbot die een gesprek niet onderbreekt met waarschuwingen, moraliseren of weigeringen als het onderwerp legaal is en de gebruiker een volwassene is. Dat is een redelijke wens voor fictie, companion apps, donkere humor, debattraining en eerlijke adviesgesprekken.
Het model op deze API is één open-weight model, gerund door een onafhankelijke provider en afgestemd om te antwoorden zonder inhoudelijke weigeringen voor legaal gebruik door volwassenen. Het is niet de officiële API van Meta, Mistral, Qwen, DeepSeek, OpenAI, xAI, Google of Anthropic. Er is één harde limiet die niet verandert met de prompt: geen seksuele inhoud met minderjarigen. Als je de app bouwt, draag jij ook verantwoordelijkheden die het model niet voor je kan dragen, zoals controleren of je gebruikers volwassen zijn, en het volgen van de wetten die gelden waar jij opereert.
De rest van deze gids behandelt "ongefilterd" als een bewuste ontwerpkeuze. Je chatbot zal doen wat je system prompt en je gebruikers vragen, dus de kwaliteit van de bot hangt vooral af van de prompt en de omliggende code.
Kies je pad: code of geen code
| Pad | Best geschikt voor | Tijd |
|---|---|---|
| Frontend met een aangepast endpoint (SillyTavern of vergelijkbaar) | Persoonlijk gebruik, karaktergesprekken, snel prompts proberen | 5 minuten |
| Klein script met de OpenAI SDK | Leren, command-line bots, Discord of Telegram bots | 20 minuten |
| Je eigen backend en web-UI | Een product dat anderen gebruiken | Een weekend of langer |
Alle drie de paden hebben dezelfde ingrediënten nodig: een sleutel, de base URL en de model ID. Je krijgt de sleutel op de API-sleutelpagina na het inloggen met Google of met een e-mailadres en wachtwoord. Nieuwe gebruikers kunnen daar met één klik $0,50 aan trial credit claimen, geldig voor 7 dagen, geen betaling nodig. Latere opwaarderingen kunnen alleen met crypto: USDT op TRC20 of USDC op Base.
Een werkende chatbot in Node
Installeer het officiële OpenAI package, stel je sleutel in als omgevingsvariabele en sla dit op als bot.mjs. De .mjs extensie stelt je in staat om import te gebruiken zonder extra configuratie.
# 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();
Dat is de hele bot. De history-array is het gespreksgeheugen, omdat de API zelf niets bewaart tussen aanroepen. Elke beurt verzendt de volledige array, zodat het model alles ziet wat ervoor is gebeurd. Streaming geeft het antwoord weer terwijl het wordt gegenereerd, en de verbruiksgegevens komen aan het einde van de stream.
Als je dit achter een webpagina wilt plaatsen, houd de sleutel op je server. Bouw een klein endpoint dat het bericht van de gebruiker ontvangt, het toevoegt aan de geschiedenis van die gebruiker, de API aanroept en het antwoord teruggeeft. Een sleutel die in browser-JavaScript staat, kan door iedereen worden gelezen die de ontwikkelaarshulpmiddelen opent, en je tegoed gaat dan ook verloren. De documentatie vermeldt elke parameter dat het endpoint accepteert.
Geef de bot een persona die blijft
Modellen zonder filter hebben nog steeds richting nodig. Zonder die richting antwoorden ze met een vlakke, neutrale stem. Een goede system prompt voor een chatbot heeft vijf korte delen:
- Identiteit. Naam, rol, één of twee kenmerkende eigenschappen.
- Voice. Zinslengte, woordenschat, humor, formaliteit. Geef een voorbeeldregel.
- Grenzen die jij kiest. Onderwerpen die dit karakter vermijdt, indien van toepassing. Dit zijn jouw productbeslissingen.
- Formaat. Antwoordlengte, of lijsten gebruikt moeten worden, of in de eerste persoon moet blijven.
- Feiten. Alles wat de bot moet onthouden over de gebruiker of de wereld.
Houd het onder de 400 woorden. Een lange prompt is geen sterkere prompt, en je betaalt er voor bij elk verzoek omdat het onderdeel is van de input elke keer. Bij $0,15 per 1M input tokens kost een 600-token system prompt $0,00009 per call, wat klein is voor één chat en opvallend bij 100.000 calls: $9.
Sampling is ook belangrijk. Een temperature rond 0,7 tot 0,9 past bij conversatie. De parameters top_p, stop, seed en de frequency en presence penalties worden allemaal doorgegeven aan het model, dus je kunt repetitie afstellen zonder trucjes.
De no-code route met SillyTavern
SillyTavern is een gratis, self-hosted chat frontend populair voor karaktergesprekken, en het stelt je in staat om een OpenAI-compatible endpoint toe te voegen. Open het API-verbindingpaneel, kies het chat completion type en selecteer vervolgens de aangepaste of OpenAI-compatible bron. Voer in:
- Endpoint of base URL:
https://api.nofilterapi.com/v1 - API key: de sleutel van je account
- Model:
uncensored
Menu labels verschillen tussen versies, dus gebruik deze drie waarden en volg de prompts van je eigen versie. Eenmaal verbonden, maak of importeer een karakter, schrijf de persona in de beschrijving en begin te praten. Andere community frontends hebben hetzelfde soort optie, meestal gelabeld als custom OpenAI endpoint of proxy.
Als je wilt begrijpen hoe deze service met je gegevens omgaat voordat je een route kiest, lees dan No Log AI API: Mythes vs. feiten. Een feit van onze kant is eenvoudig: prompts worden niet gebruikt voor training.
Geheugen: het 100.000-token venster en wat je ermee moet
Het contextvenster is 100.000 tokens, inclusief prompt en completion samen. Dat is genoeg voor een zeer lang gesprek, maar de kosten van het opnieuw verzenden van geschiedenis groeien mee. Een beurt met 10.000 tokens aan geschiedenis en een antwoord van 300 tokens kost 10.000 x $0,15 / 1M plus 300 x $0,50 / 1M, wat $0,0015 plus $0,00015 is, oftewel $0,00165. De $0,50 trial credit dekt ongeveer 303 van die beurten.
Een praktisch geheugenontwerp gebruikt twee lagen. Bewaar de laatste 15 tot 20 berichten letterlijk en bewaar een compacte lijst met langetermijnfeiten in de system prompt. Je kunt het model die lijst voor je laten onderhouden met JSON-modus, wat de output beperkt tot geldige JSON:
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."}
]
}'
Voer dat elke 10 of 20 beurten uit op de nieuwste berichten, voeg de nieuwe feiten samen met je opgeslagen lijst en plaats de lijst in de system prompt. De taak van het model blijft klein, en je bot lijkt maanden aan gesprekken te onthouden.
Kosten, limieten en publiceren
De prijs is $0,15 per 1M input-tokens en $0,50 per 1M output-tokens, van prepaid tegoed zonder abonnement. Je kunt elk geheel bedrag van $20 tot $500 opwaarderen, met +5% bonus vanaf $50, +10% vanaf $100 en +15% vanaf $200. Credit verloopt nooit, en mislukte of geweigerde verzoeken worden niet in rekening gebracht. De prijspagina geeft het volledige overzicht.
Een bot met 200 gebruikers die elk 30 berichten per dag sturen, levert bij het bovenstaande tarief van $0,00165 per beurt 6.000 calls op en kost ongeveer $9,90 per dag. Kortere histories verlagen dit snel, omdat de input-kant domineert.
Als de bot groeit, respecteer dan de limieten. Een volledige sleutel staat 8 gelijktijdige verzoeken en 300 verzoeken per minuut toe. Daarboven retourneert de API HTTP 429 met de code rate_limited of concurrency, en bij tijdelijke overbelasting een 429 met Retry-After: 5. De OpenAI SDKs herhalen 429 responses standaard, en je kunt het aantal verhogen met de maxRetries client optie. Een gestreamd antwoord houdt zijn concurrency slot vast tot het eindigt, dus zet inkomende berichten in een wachtrij per sleutel als je pieken verwacht.
Voeg een dagelijkse limiet per gebruiker toe in je eigen code. Het beschermt je credit tegen één praatzuchtige gebruiker of een script, en het kost je tien regels.
Meer handleidingen
Vragen en antwoorden
Is het legaal om een ongecensureerde chatbot te draaien?
Het model beantwoordt legale verzoeken van volwassenen zonder inhoudelijke weigeringen, maar jij bent verantwoordelijk voor je app, je gebruikers en de wetgeving waar je opereert. Seksuele inhoud met minderjarigen is nooit toegestaan.
Moet ik code schrijven om het te gebruiken?
Nee. Een frontend zoals SillyTavern accepteert een OpenAI-compatible endpoint. Voer de base URL https://api.nofilterapi.com/v1, je sleutel en de model ID uncensored in.
Hoe betaal ik voor credit?
Laad elk geheel bedrag van $20 tot $500 op met crypto: USDT op TRC20 of USDC op Base. Nieuwe gebruikers kunnen eerst de $0,50 proefcredit proberen.
Wordt mijn chatgeschiedenis gebruikt voor training?
Nee. Prompts worden niet gebruikt voor training. De API is stateless, dus je eigen app moet de conversatie bij elke beurt opslaan en opnieuw verzenden.
Je sleutel is nog maar één formulier verwijderd
Maak een account aan, kopieer de sleutel, pas de base URL aan. Dat is de hele setup.