IT ▾
Ottieni la chiave API

NsfwAiApiGuida

Prompt di sistema LLM NSFW: struttura ed esempi

Un prompt di sistema LLM NSFW è un breve blocco di istruzioni che fissa chi interpreta il modello, cosa permette la storia e come dovrebbero essere le risposte. Questa guida mostra un layout che funziona per narrativa adulta legale e chat di compagnia, con codice eseguibile.

Aggiornato

Schede prompt impilate che fluiscono in un bubble di chat sopra un terminale, illustrando la struttura del prompt di sistema
Illustrazione isometrica che confronta una GPU locale e un cluster di server ospitati uniti da bolle di chat

Cosa fa un prompt di sistema in un'app di narrativa per adulti

Il messaggio di sistema è la prima voce nell'array messages. Il modello lo legge prima di ogni turno e lo tratta come istruzioni operative. Con un modello senza censura il prompt conta più che con uno fortemente filtrato, perché non c'è uno strato nascosto che decide il tono per te. Ciò che non specifichi, il modello lo completa con i suoi valori predefiniti, che spesso sono piatti, ripetitivi o troppo lunghi.

Quindi il lavoro del prompt non è "jailbreakare" nulla. Il modello di questo servizio è ottimizzato per rispondere senza rifiuti di contenuti per uso adulto legale, quindi non servono trucchi. Hai bisogno di direzione: chi parla, dove, in che stile e dove sono i limiti della storia. Un prompt che fa questo bene produce personaggi coerenti per centinaia di turni.

Una regola sfugge al tuo controllo e a qualsiasi prompt: nessun contenuto sessuale che coinvolga i minorenni. Indica nel tuo prompt che ogni personaggio è adulto. Mantieni la storia pulita e rispetta le regole del servizio nella documentazione API.

La struttura in cinque parti

La maggior parte dei prompt che restano validi in una sessione lunga ha la stessa struttura. Mantieni ogni parte a poche righe.

  1. Ruolo. Una frase su chi è il modello. Dai un nome e un lavoro, non un elenco di aggettivi.
  2. Impostazione. Luogo, tempo, rapporto con il personaggio dell'utente e una nota che tutti i personaggi sono adulti.
  3. Voce. Persona e tempo verbale, lunghezza delle frasi, livello di umorismo, vocabolario. Specifica quanto dovrebbero essere lunghe le risposte in parole.
  4. Regole. Un paio di istruzioni positive, come "non parlare mai per il personaggio dell'utente" e "mantieni le scene di buon gusto e non grafiche a meno che l'utente non indichi diversamente".
  5. Riga di uscita. Cosa fare quando l'utente chiede qualcosa al di fuori della storia. Una breve frase fuori personaggio, poi ritorno alla scena.

Resisti all'impulso di aggiungere una sesta, settima e ottava parte. Ogni paragrafo extra compete per l'attenzione e i modelli tendono a seguire più affidabilmente le prime e le ultime righe di un prompt.

Un esempio funzionante che puoi inviare oggi

Lo script qui sotto usa l'SDK Python di OpenAI. Solo il base URL, la chiave e l'ID del modello differiscono da una configurazione standard di OpenAI. Se sei alle prime armi con l'endpoint, la guida Python copre l'installazione e la gestione degli errori.

from openai import OpenAI

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

SYSTEM = """You are Mara, a ship's navigator in a slow-burn space drama.
Setting: the freighter Calloway, year 2412. Adults only, all characters are 18+.
Voice: dry, warm, quick with a joke. Replies are 80-150 words.
Write in third person past tense for narration, first person for dialogue.
Never speak or act for the user's character.
Stay in character. If the user asks for something outside the story, answer in one short out-of-character line, then offer to continue."""

history = [{"role": "system", "content": SYSTEM}]

def say(text):
    history.append({"role": "user", "content": text})
    r = client.chat.completions.create(
        model="uncensored",
        messages=history,
        temperature=0.9,
        top_p=0.95,
        presence_penalty=0.3,
    )
    reply = r.choices[0].message.content
    history.append({"role": "assistant", "content": reply})
    return reply

print(say("Mara, the engines are quiet tonight. Can't sleep?"))

Nota cosa non contiene il prompt. Non c'è un paragrafo di scuse, nessun elenco di venti parole bandite, nessuna istruzione per "essere il più esplicito possibile". Fornisce un personaggio, un luogo, una voce e una lunghezza. L'esplicitità segue poi l'iniziativa dell'utente nella conversazione, che è come la maggior parte dei lettori di narrativa per adulti vuole che si comporti.

La stessa richiesta con curl

Se vuoi testare un prompt prima di collegarlo al codice, curl è veloce. Il messaggio di sistema va nella prima posizione, esattamente come in Python.

curl https://api.nsfwaiapi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are Mara, a navigator. Adults only. Stay in character. Replies under 120 words."},
      {"role": "user", "content": "Mara, are you still awake?"}
    ],
    "temperature": 0.9
  }'

La risposta è JSON standard per le chat completions. Il testo della risposta è in choices[0].message.content, e l'intestazione di risposta X-Balance-USD mostra il tuo credito residuo dopo la chiamata.

Impostazioni che interagiscono con il prompt

Il prompt è solo metà del comportamento. Le impostazioni di campionamento cambiano quanto strettamente il modello lo segue.

  • temperature tra 0,8 e 1,0 dà una prosa vivace. Scendi a 0,6 se il personaggio si allontana dal prompt.
  • top_p intorno a 0,9-0,95 taglia le scelte di parole strane senza appiattire la voce.
  • presence_penalty o frequency_penalty di 0,2-0,5 riduce le frasi ripetute nelle chat lunghe. Questi vengono passati al modello.
  • seed aiuta quando confronti due versioni di un prompt: fissa il seed e cambia solo il testo.
  • max_tokens è opzionale. Un'istruzione sulla lunghezza all'interno del prompt di solito funziona meglio di un limite rigido, che può tagliare una frase a metà.

Cambia una cosa alla volta. Se modifichi il prompt e la temperatura insieme non saprai quale cambiamento ha aiutato.

Errori comuni e come risolverli

Il modello parla per l'utente

Aggiungi una riga esplicita: "Non scrivere mai le parole, i pensieri o le azioni del personaggio dell'utente." Ripetila come ultima riga del prompt. I modelli danno molto peso alla fine del messaggio di sistema.

Le risposte continuano a diventare più lunghe

Dai un numero, come "80-150 parole". Una formulazione vaga come "conciso" viene letta in modo diverso a ogni turno. Controlla anche che i tuoi messaggi di esempio nella cronologia non siano lunghi, poiché il modello copia la lunghezza che vede.

Il personaggio dimentica il contesto dopo molti turni

Il messaggio di sistema è sempre in cima, quindi non esce dalla finestra da 100.000 token, ma i dettagli si perdono in una cronologia lunga. Ogni 30 o 40 turni, aggiungi un breve riassunto come messaggio utente, oppure riassumi i turni vecchi e sostituiscili. La guida al modello roleplay discute di come la dimensione del contesto influenzi le scene lunghe.

Il tono diventa ripetitivo

Aggiungi un suggerimento di variazione alla sezione voce, come "varia le aperture delle frasi ed evita di ripetere una frase usata nelle ultime tre risposte", e aumenta leggermente la penalità di presenza.

Chiacchiere fuori personaggio

Definisci la riga di uscita. Senza una, il modello improvvisa avvisi.

Quanto costa il prompt di sistema

Il messaggio di sistema viene inviato con ogni richiesta, quindi conta come input ogni volta. Prendi un prompt di 400 token. A $0,15 per 1 milione di token di input, 400 token costano 400 / 1.000.000 x $0,15 = $0,00006 per richiesta. Su 1.000 richieste sono 400.000 token, o $0,06.

Una conversazione trasporta anche la sua cronologia, che di solito costa molto più del messaggio di sistema. L'output è fatturato a $0,50 per 1 milione di token, quindi una risposta di 150 parole di circa 200 token costa 200 / 1.000.000 x $0,50 = $0,0001. Le richieste fallite o rifiutate non vengono addebitate. I prezzi attuali e gli importi di ricarica sono nella pagina prezzi, e puoi iniziare con una chiave di prova dalla pagina chiave API. Il pagamento è in cripto (USDT su TRC20 o USDC su Base).

La conclusione: un prompt da 600 token non è un problema di costo. Scrivi il prompt che ti serve e dedica lo sforzo a testarlo invece di tagliarlo.

Domande e risposte

Quanto dovrebbe essere lungo un prompt di sistema NSFW?

Tra 150 e 400 parole coprono la maggior parte dei casi. Prompt più lunghi raramente aiutano e possono diluire le istruzioni che contano.

Ho bisogno di un jailbreak per ottenere risposte senza censura?

No. Il modello è ottimizzato per rispondere senza rifiuti di contenuti per uso adulto legale, quindi un ruolo e un contesto chiari sono sufficienti. Il testo in stile jailbreak aggiunge soprattutto rumore.

Posso modificare il prompt di sistema a metà conversazione?

Sì. Sostituisci il primo messaggio nell'array alla prossima richiesta. Il modello segue la nuova versione immediatamente, sebbene le risposte precedenti nella cronologia ne influenzino ancora lo stile.

C'è qualcosa che è assolutamente proibito, indipendentemente dal prompt?

Sì. I contenuti sessuali che coinvolgono minorenni non sono mai consentiti e dovresti specificare che tutti i personaggi sono adulti nel tuo blocco di impostazione.

La tua chiave è a un modulo di distanza

Crea un account, copia la chiave, modifica l'URL di base. È tutta la configurazione.

Ottieni la chiave API

NsfwAiApiAPI LLM senza censura per la generazione di testo NSFW