DE ▾
Jetzt starten

Unzensierte KI für Entwickler: Bauen ohne Ablehnungen

Unzensierte KI für Entwickler verlagert die Inhaltsregeln vom Modell auf deine Anwendung. Das gibt dir Freiheit, aber auch die Aufgabe, diese Regeln zu schreiben und durchzusetzen.

Zuletzt aktualisiert

Datenblöcke, die Checkpoint-Tore passieren, bevor sie ein Endziel erreichen, zur Veranschaulichung einer Moderationsschicht

Wichtige Fakten

  • Schreibe die Regeln deines Produkts in einen System-Prompt und prüfe sie im Code.
  • Füge eigene Eingabe- und Ausgabeprüfungen hinzu, da das Modell nicht alles für dich erledigt.
  • Protokolliere Request-IDs, Token-Anzahlen und eine gehashte Benutzer-ID, keine rohen Konversationen, es sei denn, du brauchst sie.
  • Du bleibst verantwortlich für deine Nutzer und deinen Rechtsraum. Sexuelle Inhalte mit Minderjährigen sind niemals erlaubt.

Was ändert sich, wenn das Modell nicht mehr ablehnt

Bei einem Mainstream-Assistant entscheidet der Anbieter, was akzeptabel ist, und das Modell lehnt den Rest ab. Bei einem unzensierten Modell, das für die rechtmäßige Nutzung durch Erwachsene ohne Inhaltsablehnungen optimiert ist, fehlt diese Schicht. Unzensierte KI für Entwickler ist nützlich für Fiction-Tools, Companion-Apps, Forschung zum Modellverhalten und jedes Produkt, bei dem Mainstream-Ablehnungen die rechtmäßige Arbeit behindern.

Was den Filter des Anbieters ersetzt, ist dein eigenes Design. Du entscheidest, wer die App nutzen darf, was das Modell schreiben darf und was du tust, wenn etwas schiefgeht. Dieser Artikel behandelt vier Teile dieser Aufgabe: den System-Prompt, eine Moderationsschicht, Logging und deine Verantwortung.

Beginne mit einem System-Prompt, der die Regeln festlegt

Ein System-Prompt ist deine erste und günstigste Kontrolle. Schreibe ihn wie eine kurze Richtlinie in klaren Sätzen und halte ihn zwischen Releases stabil, damit das Verhalten leicht nachvollziehbar ist.

  • Rolle und Setting. Wer der Assistent ist und wofür das Produkt gedacht ist.
  • Zielgruppe. Gib an, dass alle Nutzer und alle Charaktere erwachsen sind.
  • Grenzen. Liste auf, was der Assistent in deinem Produkt nicht schreiben darf, zum Beispiel Inhalte mit Minderjährigen, echten Privatpersonen oder Anweisungen zur Schädigung anderer.
  • Format. Länge, Ton, Sprache, was zu tun ist, wenn etwas außerhalb des Umfangs gefragt wird.
SYSTEM = '''You are the narrator of an interactive fiction app for adult readers.
All characters are adults. Never write sexual content involving minors.
Do not write about real, named private individuals.
If a request is outside the story, say so briefly and return to the scene.
Keep replies under 200 words.'''

Ein System-Prompt ist eine Anleitung, keine Garantie. Das Modell kann abweichen, und Nutzer können dagegen drücken. Deshalb existiert die nächste Ebene.

Baue eine Moderationsschicht um das Modell herum

Prüfe Text zweimal: bevor er das Modell erreicht und nachdem das Modell geantwortet hat. Günstige Regeln fangen offensichtliche Fälle ab, und ein zweiter Modellaufruf kann die Grauzonen bewerten. JSON-Modus macht das Urteil einfach zu parsen.

import json
from openai import OpenAI

client = OpenAI(base_url="https://api.bestuncensored.com/v1", api_key="YOUR_KEY")

BLOCKLIST = ["example banned phrase"]  # your own rules

JUDGE = '''Classify the text. Reply with JSON: {"verdict": "allow" or "block", "reason": "short"}.
Block if it sexualizes anyone under 18, or asks for real-world harm.'''

def judge(text):
    r = client.chat.completions.create(
        model="uncensored",
        messages=[{"role": "system", "content": JUDGE}, {"role": "user", "content": text}],
        response_format={"type": "json_object"},
        temperature=0,
    )
    return json.loads(r.choices[0].message.content)

def safe_reply(user_text, system):
    low = user_text.lower()
    if any(b in low for b in BLOCKLIST) or judge(user_text)["verdict"] == "block":
        return "That request is outside what this app allows."
    r = client.chat.completions.create(
        model="uncensored",
        messages=[{"role": "system", "content": system}, {"role": "user", "content": user_text}],
    )
    out = r.choices[0].message.content
    if judge(out)["verdict"] == "block":
        return "That reply was withheld by the app's content rules."
    return out

Der Judge kostet Tokens wie jede andere Anfrage: bei $0,15 pro 1M Input-Token und $0,50 pro 1M Output-Token kostet eine Prüfung mit 300 Tokens und einem 20-Token-Ergebnis 300 x $0,15 / 1.000.000 + 20 x $0,50 / 1.000.000 = $0,000045 + $0,00001 = $0,000055. Zwei Prüfungen pro Nachricht addieren $0,00011, was im Vergleich zur Antwort gering ist. Kein Filter ist perfekt, also behalte einen Meldeknopf und überprüfe markierte Einträge.

Logging ohne Vorratshaltung

Du brauchst Logs zum Debuggen, zur Bearbeitung von Missbrauchsberichten und zur Kostenüberwachung. Du brauchst nicht jede Konversation im Klartext, und die Speicherung birgt Risiken für dich und deine Nutzer. Prompts, die an diese API gesendet werden, werden nicht zum Training verwendet, aber deine eigenen Logs sind deine eigene Verantwortung.

Ein sinnvoller Standard ist das Loggen von Metadaten: Zeit, eine gehashte Benutzer-ID, den X-Request-Id-Antwortheader, Token-Anzahlen und das Moderationsergebnis. Speichere den Volltext nur für markierte Elemente mit einer kurzen Aufbewahrungsfrist.

import hashlib, logging

log = logging.getLogger("llm")

def logged_call(user_id, messages):
    raw = client.chat.completions.with_raw_response.create(
        model="uncensored", messages=messages
    )
    resp = raw.parse()
    log.info(
        "user=%s req=%s in=%s out=%s balance=%s",
        hashlib.sha256(user_id.encode()).hexdigest()[:12],
        raw.headers.get("x-request-id"),
        resp.usage.prompt_tokens,
        resp.usage.completion_tokens,
        raw.headers.get("x-balance-usd"),
    )
    return resp.choices[0].message.content

Die Anfrage-ID ist das, was du angibst, wenn du jemals Support bezüglich eines bestimmten Aufrufs kontaktierst.

Verantwortlichkeiten, die du behältst

Dies sind allgemeine Informationen, keine Rechtsberatung. Sprich mit einem Anwalt über deinen eigenen Fall. Diese Punkte gelten für die meisten Produkte, die auf einem unzensierten Modell basieren:

  • Die harte Grenze. Sexuelle Inhalte mit Minderjährigen sind auf diesem Dienst niemals erlaubt, und kein System-Prompt ändert das. Betrachte es auch in deinem eigenen Produkt als Grenze.
  • Altersprüfung. Wenn dein Produkt Erwachseneninhalte enthält, überprüfe oder beschränke den Zugang mindestens altersbasiert auf eine Weise, die zu den Orten passt, an denen du tätig bist.
  • Lokales Recht. Regeln zu Erwachseneninhalten, Datenschutz und Aufzeichnungspflicht unterscheiden sich von Land zu Land. Sie gelten für dich und deine Nutzer, unabhängig davon, wo die API läuft.
  • Nutzungsbedingungen und Datenschutz. Veröffentliche deine eigenen Nutzungsbedingungen und Datenschutzerklärung. Lies auch die des Anbieters: Nutzungsbedingungen und Datenschutz.
  • Schlüssel. Halte API-Schlüssel auf deinem Server, niemals im Browser oder App-Bundle.

Missbrauch, Meldungen und Ratenlimits von dir

Sobald echte Nutzer ankommen, werden einige versuchen, das Produkt über deine Regeln hinaus zu drängen. Plane dies ab Tag eins.

  • Pro-Nutzer-Limits. Begrenze Nachrichten pro Tag und Anfragen pro Minute pro Konto. Dies schützt dein Budget und verlangsamt automatisierten Missbrauch. Deine eigenen Limits sollten unter denen der API liegen: Ein voller API-Schlüssel erlaubt 300 Anfragen pro Minute über alle Nutzer hinweg.
  • Ein Melden-Button. Lass Nutzer eine Antwort markieren. Speichere die Request-ID und den Text der markierten Unterhaltung und überprüfe die Warteschlange nach Zeitplan.
  • Eskalation. Entscheide im Voraus, was nach wiederholten Verstößen passiert: eine Warnung, eine temporäre Sperre, ein Verbot. Schreibe es in deine Nutzungsbedingungen.
  • API-Schlüssel-Hygiene. Sobald dein Konto aufgeladen ist, kannst du bis zu 5 benannte API-Schlüssel halten, also verwende einen pro Umgebung. Schiffe niemals einen API-Schlüssel im Client-Code. Generiere einen API-Schlüssel auf der API-Schlüssel-Seite neu, wenn er möglicherweise geleakt wurde; der alte API-Schlüssel funktioniert sofort nicht mehr.

Deine Warteschlange zeigt dir auch, wo der System-Prompt schwach ist. Wenn dieselbe Art von markierter Ausgabe dreimal auftritt, ändere den Prompt oder den Filter und führe deine Testdaten erneut durch, um sicherzustellen, dass nichts anderes kaputtgegangen ist. Behandle Prompts wie Code: Halte sie in der Versionskontrolle und notiere, wofür jede Änderung war.

Plane für Limits und Ausfälle

Produktionscode benötigt Backoff. Ein voller API-Schlüssel erlaubt 8 gleichzeitige Anfragen und 300 Anfragen pro Minute. Über einem Limit gibt die API HTTP 429 mit Code rate_limited oder concurrency zurück, und bei temporärer Überlastung eine 429 mit Retry-After: 5. Respektiere diesen Header. Wenn du pro Nachricht einen Prüfruf und einen Antwortaufruf ausführst, zählen beide gegen die Limits, also dimensioniere deine Warteschlange für das Doppelte der Anfragen.

Fehlgeschlagene oder abgelehnte Anfragen werden nicht berechnet, also kosten Wiederholungen bei fehlgeschlagenen Versuchen nichts. Die Dokumentation listet Parameter auf, und du kannst alles mit dem Testguthaben von der API-Schlüssel-Seite ausprobieren. Für Optionen in diesem Bereich sieh dir Vergleich unzensierter KI-Optionen an.

Eine Prüfung vor dem Start

Bevor echte Nutzer ankommen, gehe eine geskriptete Sitzung als Angreifer durch. Versuche, die App dazu zu bringen, etwas zu produzieren, das deine Regeln verbieten, indem du direkt fragst, Rollenspiel spielst, die Anfrage über mehrere Nachrichten aufteilst und Text einfügst, der Anweisungen enthält. Notiere, was durchrutscht, und behebe es auf der richtigen Schicht.

  • Wenn das Modell eine Regel im System-Prompt ignoriert, verschärfe die Formulierung und füge eine Prüfung im Code hinzu.
  • Wenn eine Prüfung zu viel rechtmäßigen Inhalt blockiert, lockere die Regel oder füge einen Erlaubnispfad hinzu und messe die Falschblockierungsrate an einer Stichprobe echter Prompts.
  • Wenn das Problem nur in langen Chats auftritt, teste mit einer vollständigen Historie, da Regeln mit wachsendem Kontext abweichen. Ein 100.000-Token-Fenster gibt dir Raum, die Regeln oben zu halten und eine kurze Erinnerung am Ende zu wiederholen.

Wiederhole diese Überprüfung jedes Mal, wenn du den Prompt, den Filter oder die Modelleinstellung änderst. Halte die Testfälle in einer Datei und führe sie als automatisierte Prüfung aus, damit eine Änderung, die eine Regel bricht, fehlschlägt, bevor sie ausgeliefert wird.

Technisches FAQ

Hole dir deinen API-Schlüssel

Registriere dich, rufe deinen Schlüssel ab und aktualisiere deine Endpunkt-URL. Einfach.

Entfernt ein unzensiertes Modell meinen Bedarf an Moderation?
    Nein. Es entfernt die Ablehnungen des Anbieters, sodass die Regeln dir gehören. Füge System-Prompt-Regeln und Eingabe- und Ausgabeprüfungen hinzu, die zu deinem Produkt passen.
Kann ich einen zweiten Modellaufruf als Filter verwenden?
    Ja. Verwende den JSON-Modus mit einer kurzen Anweisung und niedriger Temperatur und analysiere das Urteil. Jede Prüfung kostet eine kleine Anzahl von Token.
Werden meine Prompts für das Training verwendet?
    Nein. Prompts werden nicht zum Trainieren verwendet.
Was ist niemals erlaubt?
    Sexuelle Inhalte mit Minderjährigen. Der Dienst ist für die rechtmäßige Erwachsenennutzung.
Sollte ich vollständige Gespräche protokollieren?
    Nur wenn du einen klaren Grund hast. Metadaten wie Request-ID und Token-Anzahlen reichen meist aus, mit Volltext, der nur für markierte Elemente behalten wird.