NsfwAiApi/Руководство
Системный промпт NSFW LLM: структура и примеры
Системный промпт NSFW LLM — это короткий блок инструкций, который определяет, кого играет модель, что разрешено в истории и как должны выглядеть ответы. Это руководство показывает структуру, которая работает для законной взрослой художественной литературы и чата-компаньона, с кодом, который можно запустить.


Что делает системный промпт в приложении для взрослой прозы
Системное сообщение — это первая запись в массиве messages. Модель читает его перед каждой репликой и воспринимает как постоянные инструкции. С моделью без цензуры промпт важнее, чем с сильно отфильтрованной, потому что нет скрытого слоя, определяющего тон за вас. Всё, что вы не указали, модель заполнит своими значениями по умолчанию, а они часто бывают плоскими, повторяющимися или слишком длинными.
Таким образом, задача промпта — не «взломать» ничего. Модель в этом сервисе настроена на ответы без отказов по контенту для законного взрослого использования, поэтому вам не нужны трюки. Вам нужны указания: кто говорит, где, в каком стиле и где границы истории. Промпт, который делает это хорошо, обеспечивает согласованность персонажей на протяжении сотен ходов.
Одно правило находится вне вашего контроля и вне любого промпта: сексуальный контент с участием несовершеннолетних запрещён. Укажите в промпте, что каждый персонаж — взрослый. Это сохраняет историю чистой и соответствует правилам сервиса в API документации.
Структура из пяти частей
Большинство промптов, которые работают в длинной сессии, имеют одинаковую структуру. Держите каждую часть в пределах нескольких строк.
- Роль. Одно предложение о том, кем является модель. Дайте имя и должность, а не список прилагательных.
- Сеттинг. Место, время, отношения с персонажем пользователя и примечание о том, что все персонажи — взрослые.
- Голос. Грамматическое лицо и время, длина предложений, уровень юмора, лексика. Укажите, сколько слов должны занимать ответы.
- Правила. Несколько позитивных инструкций, например «никогда не говорите от имени персонажа пользователя» и «сохраняйте сцены приличными и неграфическими, если пользователь не поведёт иначе».
- Выходная фраза. Что делать, когда пользователь задаёт вопрос вне сюжета. Одно короткое предложение вне роли, затем возвращение к сцене.
Сопротивляйтесь искушению добавить шестую, седьмую и восьмую часть. Каждый дополнительный абзац конкурирует за внимание, и модели склонны лучше следовать первым и последним строкам промпта, чем середине.
Рабочий пример, который можно отправить сегодня
Скрипт ниже использует Python SDK от OpenAI. Отличаются только базовый URL, ключ и идентификатор модели. Если вы новичок в работе с эндпоинтом, руководство по Python описывает установку и обработку ошибок.
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?"))Обратите внимание, чего нет в промпте. Нет абзаца извинений, нет списка из двадцати запрещённых слов, нет инструкции «быть максимально откровенным». Он задаёт персонажа, место, голос и длину. Степень откровенности определяется поведением пользователя в разговоре, именно так большинство читателей взрослой прозы хотят, чтобы модель себя вела.
Тот же запрос с curl
Если вы хотите протестировать промпт перед подключением к коду, curl прост в использовании. Системное сообщение помещается в первый слот, точно как в 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
}'Ответ — это стандартный JSON chat completions. Текст ответа находится в choices[0].message.content, а заголовок ответа X-Balance-USD показывает ваш оставшийся баланс после вызова.
Настройки, взаимодействующие с промптом
Промпт — лишь половина поведения. Параметры сэмплирования определяют, насколько точно модель следует ему.
- temperature в диапазоне от 0.8 до 1.0 даёт живой текст. Уменьшите до 0.6, если персонаж отклоняется от сценария.
- top_p около 0.9–0.95 убирает странные варианты слов, не сглаживая голос.
- presence_penalty или frequency_penalty от 0.2 до 0.5 снижает частоту повторения фраз в длинных чатах. Они передаются модели.
- seed помогает, когда вы сравниваете две версии промпта: зафиксируйте сид и измените только текст.
- max_tokens необязательно. Инструкция по длине внутри промпта обычно работает лучше, чем жесткое ограничение, которое может обрезать предложение пополам.
Изменяйте по одной вещи за раз. Если вы редактируете промпт и температуру одновременно, вы не узнаете, какое изменение помогло.
Распространенные ошибки и способы их исправления
Модель говорит за пользователя
Добавьте одну явную строку: «Никогда не пишите слова, мысли или действия персонажа пользователя». Повторите её как последнюю строку промпта. Модели сильно учитывают конец системного сообщения.
Ответы становятся всё длиннее
Укажите число, например «от 80 до 150 слов». Размытые формулировки вроде «лаконично» интерпретируются по-разному в каждой реплике. Также проверьте, что ваши примерные сообщения в истории не длинные, так как модель копирует видимую длину.
Персонаж забывает сеттинг после многих реплик
Системное сообщение всегда вверху, поэтому оно не выходит за пределы контекстного окна на 100 000 токенов, но детали теряются в длинной истории. Каждые 30 или 40 реплик добавляйте краткое резюме как сообщение пользователя или суммируйте старые реплики и заменяйте их. Руководство по модели для ролевых игр обсуждает, как размер контекста влияет на длинные сцены.
Тон становится повторяющимся
Добавьте подсказку вариативности в раздел голоса, например «варьируйте начало предложений и избегайте повторения фразы, использованной в последних трёх ответах», и немного повысьте штраф за повторение.
Разговор вне роли
Определите выходную фразу. Без неё модель генерирует дисклеймеры.
Сколько стоит системный промпт
Системное сообщение отправляется с каждым запросом, поэтому оно считается входными данными каждый раз. Возьмём промпт из 400 токенов. При стоимости $0,15 за 1 млн входных токенов 400 токенов стоят 400 / 1 000 000 x $0,15 = $0,00006 за запрос. За 1000 запросов это 400 000 токенов или $0,06.
Разговор также содержит историю, которая обычно обходится дороже системного сообщения. Выходные токены оцениваются в $0,50 за 1 млн токенов, поэтому ответ на 150 слов (около 200 токенов) стоит 200 / 1 000 000 × $0,50 = $0,0001. Неудачные или отклонённые запросы не оплачиваются. Текущие цены и суммы для пополнения указаны на странице цен, а начать можно с пробного ключа на странице API-ключей. Оплата криптовалютой (USDT в сети TRC20 или USDC в сети Base).
Главный вывод: промпт на 600 токенов — это не проблема стоимости. Напишите нужный промпт и потратьте усилия на его тестирование, а не на его сокращение.
Дополнительные руководства
Вопросы и ответы
Какой длины должен быть системный промпт NSFW?
150–400 слов покрывают большинство случаев. Более длинные промпты редко помогают и могут размыть важные инструкции.
Нужен ли джейлбрейк для получения ответов без цензуры?
Нет. Модель настроена на ответы без отказов в выдаче контента для законного взрослого использования, поэтому достаточно чёткой роли и сеттинга. Текст в стиле джейлбрейка чаще добавляет шум.
Могу ли я изменить системный промпт во время разговора?
Да. Замените первое сообщение в массиве в следующем запросе. Модель сразу начнёт следовать новой версии, хотя предыдущие ответы в истории всё ещё влияют на стиль.
Есть ли что-то, что запрещено независимо от промпта?
Да. Сексуальный контент с участием несовершеннолетних всегда запрещён, и вы должны указать, что все персонажи — взрослые, в блоке сеттинга.
Ваш ключ — всего в одной форме
Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.
Получить API-ключNsfwAiApiAPI LLM без цензуры для генерации NSFW-текста