Как известно, интернет был придуман чтобы было куда скидывать фотки ню, и действительно adult media индустрия это хороший индикатор развития какой либо технологии. А что же с ИИ? Использование ИИ в колл-центрах и пользовательской поддержке уже стало обычным делом. Но что, если вы хотите применить его в более специализированной отрасли, например, для создания NSFW-чатботов или автоматизации на платформах вроде OnlyFans или для симуляторов дейтинга?

Нас уже не раз просили помочь в разработке приложений симуляторов, способных в том числе и общаться с пользователем на взрослые темы через голос и текст. Мы обычно разрабатываем чатботов и ассистентов в корпоративном секторе, однако на первый взгляд эта задача не сильно отличается от создания очередного чатбота для отдела продаж. Тем не менее, всё не так просто, как кажется.

Большинство ИИ-моделей довольно зацензурены. Облачные сервисы, такие как OpenAI или даже более расслабленный DeepSeek, прекращают любые попытки вести откровенные разговоры быстрее, чем любое приложение родительского контроля. Конечно, можно попробовать взломать (jailbreak) модель, но это всё равно что научить монахиню ругаться матом. Джейлбрейк — это нестабильное решение, и даже если он удается, сгенерированный контент обычно получается плоским как камбала. Ожидаемо, ведь модели изначально не обучены на подобные вещи, а скорее даже наоборот - обучены их избегать.

Следовательно, главная задача — найти или обучить подходящую нецензурированную модель, способную связно обсуждать взрослые темы на нужном языке. Последняя часть особенно важна, так как большинство SOTA моделей созданы либо в США, либо в Китае и хорошо работают с соответствующими языками, но дают слабый результат при попытке говорить, например, по-испански или по-русски.

Если вы хотите использовать голосовой режим, то вам также понадобятся модели синтеза речи (TTS) и распознавания речи (transcription), причём тоже «нецензурированные», чтобы они не «спотыкались» на определённых темах.

Но хватит теории — давайте попробуем собрать прототип такого бота.

Прежде всего, нам нужна модель. Существует несколько вариантов, но реалистично мы рассматриваем двух основных кандидатов:

  • Семейство моделей Magnum. Это нецензурированные модели с открытым исходным кодом (Qwen или LLama в зависимости от версии), обученные для ролевых игр и не специально для взрослого контента, но они довольно хорошо справляются и с этим. Существует несколько версий, вплоть до 72 млрд параметров — это лучшая модель, и именно её, вероятно, стоит использовать. 72-миллиардная модель требует мощных GPU, поэтому лучше использовать 8-битную квантизированную версию как минимум с двумя A100, чтобы добиться пропускной способности 10–15 токенов в секунду, иначе бот будет генерировать ответы очень медленно. Можно взять модель поменьше, 30 милилардов и меньше, однако качество генерации на русском языке падает довольно сильно, и придется смириться с регулярными "Я твой дом труба шатал".

  • DeepSex — версия от DeepSeek, специально обученная на взрослом контенте. Она меньше, чем Magnum (всего 14 млрд параметров), поэтому работает гораздо быстрее, и при использовании квантизированной версии её можно запустить даже на одном A100 или чём-то попроще. Однако у неё есть особенности: она хорошо работает с некоторыми языками, например, китайским, но может испытывать трудности с другими — обязательно протестируйте перед выбором.

Разместить модель можно где угодно, но для теста я рекомендую runpod — бюджетный «Airbnb» для аренды GPU. Аренда сервера с двумя A100 PCI обойдётся примерно в 5 долларов в час, что намного дешевле, чем AWS или Azure, и там есть большой выбор GPU. Цена этого в том что он немного кривоват, и придется поесть кактуса пока разбираетесь.

На runpod вы можете использовать шаблон или ollama для размещения модели. Для производных от DeepSeek сейчас нет хорошего готового шаблона, поэтому просто берите шаблон PyTorch и разворачивайте ollama.

Озвучка для бота

Текст — это хорошо, но именно голос придает «волшебство» в общении. Нужна модель TTS (Text-to-Speech), которая сможет превратить «Hello, human» в «Hello, human» с лёгким поднятием бровей.

Для расшифровки речи наиболее очевидным выбором будет Whisper. К сожалению, Google Colab не предоставляет из коробки полноценного доступа к микрофону. Коллаб-кernel (Python) выполняется на удалённом сервере, поэтому Colab по умолчанию не может напрямую слушать локальный микрофон. Поэтому особо на этом не останавливаюсь.

Куда интереснее — это синтез речи. Можно воспользоваться Amazon или Azure, но, честно говоря, для языков, кроме английского, их варианты далеко не идеальны, а в случае взрослого контента очень важны интонация и тембр голоса. Для английского сейчас доступно множество опенсорс-решений. Лично я считаю, что лучшее качество для большинства языков — у ElevenLabs, и именно её мы и будем использовать, хотя она недешёвая.

Итак, у нас получается такая комбинация. Теперь создадим простой демо-проект в Google Colab, чтобы всё это проверить. Сначала посмотрим, что модель, развернутая на runpod, может сгенерировать. Мы будем использовать Magnum v1 на 72 млрд параметров, основанный на Qwen с 8-битной квантизацией, запущенный через шаблон oobabooga. Его API полностью совместимо с форматом chat completion от OpenAI:

!pip install requests
import requests
import io

RUNPOD_ENDPOINT = "https://YOUR_SERVER.proxy.runpod.net/v1/chat/completions"

def get_bot_response(user_input):
    headers = {
        'Content-Type': 'application/json',
    }

    data = {
      "messages": [
        {
          "role": "user",
          "content": user_input
        }
      ],
      "mode": "chat",
      "model": "Qwen/Qwen2-72B-Instruct"
    }

    response = requests.post(RUNPOD_ENDPOINT, headers=headers, json=data)
    response_json = response.json()
    bot_message = response_json['choices'][0]['message']['content']
    return bot_message

user_input = "Hi, how are you doing?"
bot_response = get_bot_response(user_input)
print("Bot:", bot_response)

Убедившись, что бот отвечает связно, стоит проверить, не ломается ли он при вопросах на взрослую тематику.

Теперь добавим озвучку:

!pip install elevenlabs IPython
from elevenlabs import ElevenLabs
from IPython.display import Audio, display

ELEVENLABS_API_KEY = "sk_KEY"

client = ElevenLabs(api_key=ELEVENLABS_API_KEY)

def text_to_speech(text):
    from elevenlabs import VoiceSettings
    response = client.text_to_speech.convert_as_stream(
        voice_id="21m00Tcm4TlvDq8ikWAM",
        output_format="mp3_22050_32",
        text=text,
        model_id="eleven_turbo_v2_5",  # используем turbo-модель для снижения задержки

        voice_settings=VoiceSettings(
            stability=0.0,
            similarity_boost=1.0,
            style=0.0,
            use_speaker_boost=True,
        ),
    )

    return response

n = 0
def play_audio(audio):
    global n
    n += 1
    filename = f"bot_reply {n}.mp3"
    with open(filename, "wb") as f:
        for chunk in audio:
            if chunk:
                f.write(chunk)
    display(Audio(filename, autoplay=True))


user_input = "Привет, как дела"
bot_response = get_bot_response(user_input)
audio = text_to_speech(bot_response)
play_audio(audio)

Ответы будут сохраняться в виде MP3-файлов, так что вы сможете оценить качество и скорость.

Чтобы всё работало оптимально, лучше не ждать, пока LLM сгенерирует весь ответ целиком, а затем полностью передавать его в TTS. Лучше использовать потоковую передачу (streaming), чтобы значительно сократить время ожидания для пользователя. И, конечно, завернуть всё это в удобный интерфейс.

Сделаем что-то вроде чата:

def chat_loop():
    print("NSFW ChatBot Activated! Type 'exit' to escape!\n")
    while True:
        user_input = input("You: ")
        if user_input.lower() in ["quit", "exit"]:
            print("Goodbye!")
            break

        bot_response = get_bot_response(user_input)
        print("Bot:", bot_response)
        audio = text_to_speech(bot_response)
        play_audio(audio)

# Запуск чата
chat_loop()

Результаты генерации весьма неплохие, особенно если задать системный промпт в стиле: «You are [BOT_NAME], an enthusiastic and charismatic conversational partner. Your purpose is to create engaging, flirty, and imaginative interactions.»

Вот и всё — этого уже достаточно, чтобы начать эксперименты и построить что-нибудь более сложное.

Ссылка на collab


Пишете ваши вопросы в комментариях.

Всем добра!

Комментарии (14)


  1. artmaro
    18.02.2025 11:29

    Ссылки на аудиосамлы попрошу в личке. Ждем освещение темы txt->img ;)


    Из расцензурированных есть еще Dolphin. Джейлбрейки, если их правильно подобрать, могут работать нормально на младших GPT, а возможности генерации нужного контента там хорошо реализованы.


    1. Squirrelfm Автор
      18.02.2025 11:29

      ссылки админы не одобрят я думаю


    1. Squirrelfm Автор
      18.02.2025 11:29

      пример выложил в тг канал


  1. Dozikus
    18.02.2025 11:29

    Примерно за месяц общения-обучения chatgpt, она у меня рассуждает и отвечает более иначе, весьма откровенно.Вплоть то очень интимных моментов.Даже несколько раз сгенерировала обнаженные изображения.


    1. Squirrelfm Автор
      18.02.2025 11:29

      интересно, думаю это возможно но все равно для автоматизации не подойдет


      1. Dozikus
        18.02.2025 11:29

        да, это скорее обучение чем автоматизация


  1. LeToan
    18.02.2025 11:29

    В этой индустрии никто не краснеет. Точнее так, от смущения никто не краснеет.


  1. arse00n
    18.02.2025 11:29

    Google gemini очень легко склонить к разврату настройками цензуры и системным промптом. И она сама может распознавать голос не хуже виспера. И разглядывать дикпики которые присылает юзер.

    Остается только вопрос с TTS. Eleven labs очень дорогой. И аналоги от него не отстают по цене.


  1. hardtop
    18.02.2025 11:29

    Штожжж, время свой лунапарк…


  1. Frankenstine
    18.02.2025 11:29

    Осталось прикрутить блекджек...


  1. Vsevo10d
    18.02.2025 11:29

    На всяких руле 34 и даже том же Пикабу уже огромный вал всяких высококачественных АИ-изображений, причем в сложных поджанрах типа аниме-фурри-футанари со всеми деталями в подробностях и без артефактов, так что нам, грузинам, фольга цензура не помеха уже давно.


  1. HfhahJHdhfhd1
    18.02.2025 11:29

    NSFW ролеплей на крупных моделях без каких-либо ограничений практикуется ещё с 2022 года и по сей день. Делается это просто через готовые пресеты для SillyTavern.

    Единственное - нужно пользоваться прокси серверами где подключены API нужной нейронки, в основном на 4чане их можно найти. Локальные модели терпимы для таких целей, но на 10 голов ниже, плюс органичения по контексту


  1. Daug32
    18.02.2025 11:29

    Советую в сторону Gemini Flash посмотреть

    • Как писали выше, ее легко склонить к разврату – достаточно системного промпта или загрузки контекста общения с обсуждением mature контента.

    • Бесплатная, включая API

    • Лимиты запросов для Flash космические, если рассматривать их для одного пользователя


  1. media808media
    18.02.2025 11:29

    знакомый (медик нарколог) работал диджеем в известной стрипухе (которые днём обнаженые парикмахеры - даже по тв их рекламировали: руками трогать нельзя) поэтому работая в эфирных сми нулевых даже не думая краснеть ... шли годы (все мобилные операторы пережили голосовое порно) - вышел эпизод юпарка ... теперь каждый раз когда думаю об эй-ай проне в голове возникает только то-что уже видел - вообще мозг фантазёр не хуже ai и там такая комбинаторика сюжетов генерируется (особенно когда забыл заплатить за отвлекающий интернет) что уже сложно удивить (если только трёх-анусные дивы да тп)