RU
BAZILEVS
BAZILEVS
10 подписчиков

KoboldAI: как бесплатно генерировать нейронкой фанфики?

UPD 26.04.24: добавил в самый низ блок по подключению Command R+ API. 
Шалом, уважаемые базозавры. На написание этого текста меня сподвиг вот этот пост:
Я задумался о том, что идея с таким использованием фанфиков имеет свой шарм, однако подобные вещи человеку писать от начала и до конца не стоит. Как известно, кукуха не лечится, так что с такой задачей может вполне справиться и нейросеть.
Какую нейросеть взять и почему?
Определённо нам не подойдёт ChatGPT. Он не работает с NSFW-контентом просто так, а с джейлбрейками всякими возиться не хочется. Есть сервисы, генерирующие NSFW-тексты, но они хотят наших денег, да ещё и буржуинские, так что занести им не получится без танцев с бубном, а танцевать мне лень, к тому же пресловутой швабоды у нас всё же не будет. 
У нас есть решение проще: KoboldAI. Это сервис, на котором волонтёры дают вам возможность юзать текстовые нейросети, хостя их на своём железе. Всё это доступно бесплатно, так что это наш вариант, на котором и остановимся. Есть один минус: всё это нормально работает только на английском, но далее мы разберём, как переводить свой ввод и вывод нейронки читабельно. Также уточню, что разберём только базовый функционал, так как гайд для чайников. 
Разбор интерфейса
Интерфейс выглядит сложным, но по факту всё просто, как валенок.
Начнём с верхних кнопок:
- кнопка AI: это выбор модели, которая будет работать с нашим текстом. Хороший момент, чтобы пояснить кое-что: на KoboldAI волонтёры хостят разные модели нейросетей и вы выбираете, на какой именно модели хотите генерить. Есть модели с цензурой, а есть и без. Наличие цензуры нигде не указано, моделей там обычно много, есть модели тупые, есть и поумнее, поэтому надо тестить руками.
На что нужно смотреть при выборе модели:
1. В конце названия модели есть цифра и буква b. Например, 70b или 13b. Чем больше цифра, тем лучше, но не всегда. Всё равно тестируйте, так как бывают модели на 7b, которые умнее некоторых моделей на 13b. 
2. Название модели. По названию иногда можно понять, работает ли модель с NSFW, например, с Erebus и MXLewd всё сразу ясно. Также можно загуглить название модели и наткнуться на отзывы в сабреддите r/kobold_ai.
3. Текущая загруженность модели. Справа от названия есть показатель ETA, это предположительное время ответа нейросети. Если ETA слишком высокий, то лучше не берите, ибо замучаетесь ждать.
Что могу посоветовать из моделей: для начала всё семейство LLaMA, они прям неплохи. Ежели вы собираетесь генерить NSFW, то можете взять MLewd, MXLewd, Erebus, их обучали на подобном и с генерацией они справятся лучше. Если они недоступны или у них высокий ETA, то берите всё те же LLaMA, они без цензуры, но в NSFW не фонтан. 
- кнопка New Session: нажмите эту кнопку, когда наиграетесь с текущим текстом и захотите начать заново.
- кнопка Scenarios: если вам лениво писать свои промпты для истории, то вы можете использовать чужие. Там доступно много предустановленных сценариев, но можете и импортировать промпты с сайтов aetherroom.club и chub.ai (очень много нелегального NSFW, имейте в виду и берите оттуда только промпты по чаепитию свинки Пеппы и её семьи). В сценариях с этих сайтов вы можете изучить то, как другие промптмейкеры составляют свои промпты, тоже полезно. Чтобы импортировать сценарий с одного из этих сайтов, скопируйте ссылку на сценарий с сайта и вставьте её во всплывшее окно после нажатия кнопки "Import from chub.ai" или "Import from aetherroom.club". Дождитесь подгрузки названия и описания промпта в блоке снизу и нажмите "ОК". Также важный момент: с пункта "Automatically select AI model" снимайте галочку, чтобы ваша история не генерилась кучей моделей с разным качеством.
- кнопка Save/Load: она позволяет вам вытащить ваш текст из KoboldAI, чтобы вы могли импортировать его потом на другом устройстве и продолжить генерацию. И да, пока вы не почистите куки, то сайт не забудет вашу историю сам, так что сохранять её каждый раз перед закрытием сайта не нужно.
- кнопка Settings: нас тут волнует немного деталей.
Пункт "Quick Presets", который выставляет настройки генерации. Старайтесь выставлять пресет, подходящий под вашу модель, 13B к 13B. Наведясь мышкой на название пресета, вы можете прочесть его описание.
Пункт "Format" определяет режимы генерации, разберём его. Instruct Mode - инструктирует вас по чему-либо. Instruct Tag Preset определяет, как подавать тэг генерации вашей модели, так что выбирайте тэг и модель так, чтоб они совпадали. Story Mode - генерация художественного текста, как рассказ. Adventure Mode - позволяет играть в ролевую игру. После его выбора на экране ввода текста слева от поля ввода появится кнопка "Story", прожав её, она сменится на "Action". Это режимы ввода, в Story вы подаёте историю, в Action вы подаёте своё действие на предложенную моделью ситуацию. Chat Mode - режим чата. Самый иммерсивный режим, как по мне. В "Your Name" и "AI Name" пишете своё имя и имя бота для генерируемой истории. В "Multiline Replies" советую поставить галочку, чтобы модель могла отвечать несколькими сообщениями, это отличная функция, если в рамках вашего сценария модель отыгрывает несколько персонажей. В "UI Style Select" для Chat Mode советую ставить "Messenger", для остальных режимов ставьте то, что вам удобнее. При написании сообщений для чата вы можете вставлять свои действия, заключив их в звёздочки: *Джонни погладил собаку.* Да, пёсик, ты хочешь кушать?. То, что в звёздочках отобразится в чате серым, а то, что без звёздочек будет как прямая речь. Саму прямую речь в кавычки можно не закрывать, моделям плевать.
Перейдём к нижним кнопкам:
- кнопка Memory: в поле "Memory" вы задаёте описание себя, описание персонажа, с которым вы будете взаимодействовать в вашей истории, мира и всего важного. Вы можете писать физические и ментальные качества своего и чужих персонажей, можете указывать детали мира, в общем, творите прям здесь. В поле "Author's Note" вы указываете тон генерации. Например, если вы пишете романтический фанфик, а нейросеть генерит откровенный NSFW, то можете явно проставить теги: romantic, softcore, tenderness.
- кнопка World Info: если у вас ОЧЕНЬ много специфических терминов, которые важны для генерации и которые не знает модель, то вы можете задать их явно. Простой пример, вы пишете фанфик во вселенной Сталкера и вам нужно пояснить модели, что такое Зона, аномалии, артефакты, и какую нынче колбасу и батоны стали делать. Для этого нужно нажать на "+" в правом верхнем углу окошка, добавить ключевое слово "Key" и описать в поле "What to Remember" то, что нейронке надо знать.
- кнопка Back: откат сообщения нейронки или вашего. Полезно, если вы хотите вернуться в прошлое и повести историю по другому пути. Также полезно, если вы на свой запрос генерили два раза и вам не нравится текущий вариант и вы хотите вернуться к предыдущему.
- кнопка Redo: возврат сообщения нейронки или вашего. Работает, только если вы не загенерили что-то после нажатия "Back", так что имейте в виду.
- кнопка Retry: повторяет генерацию сообщения нейронки в ответ на ваше. Может работать до бесконечности, однако через "Back" можно вернуть только предыдущую генерацию, откатить все генерации одного сообщения не получится, откатываться будут уже сообщения.
- кнопка "Add Img": генерирует картинку по случайному последнему куску текста. Генерит проклято, так что не советую юзать. На всякий случай: выбор генератора есть в "Settings"-"Advanced"-"Generate Images".
- кнопка "Edit": позволяет переписать что-то в готовом ответе нейронки или вашем сообщении. Для редактирования ваших сообщений юзать не советую, лучше откатиться через "Back" и вставить уже исправленный запрос.
В поле ввода ниже вы вводите свой текст, жмёте на кнопку отправки и ждёте ответа. После ответа модели пишете продолжение и снова отправляете, ожидая ответа. Повторять до бесконечности, всё просто.
Мои лайфхаки:
- перевод, приближенный к человеческому: самый лучший онлайн-переводчик DeepL. Имеет крутую фичу: при нажатии на слово в поле перевода он предлагает альтернативные варианты. При переводе на русский можно сменить род или построение предложения, это очень удобно. При переводе на английский проверяйте всё же, что он там перевёл, бывают глупые ошибки.
DeepL, разумеется, жадный и хочет наших денег, но мы его можем заабузить. Самый очевидный лимит: 1500 символов на одну генерацию. Можно обойти через написание простенького скрипта на доступ к API, там такого ограничения нет, однако тогда мы не сможем тыкать на слова и менять их, неудобно. Я лично перевожу по 1500 символов, ну а куда деваться. Раньше был рабочий кряк, но сейчас я такого не нашёл.
Неочевидный лимит: месячный бан за частое использование. Я такой ловил, выглядит так, как будто не прогружена часть интерфейса сайта, перевод не работает вовсе. Бан идёт только на основное пространство вашего браузера, при использовании режима инкогнито с того же браузера всё работает. Однако не увлекайтесь, вдруг ужесточат меры отслеживания, поэтому, если прям МНОГО переводите, то делайте это в режиме инкогнито и под проксями или VPN.
- мультиаккаунтинг KoboldAI: через какое-то время вам может надоесть генерить одну историю, постоянно ожидая ответа. Если вы захотите генерить несколько историй сразу, то открыв новую вкладку, вас встретит та же история. Как это обойти? Самый очевидный вариант: один браузер + его режим инкогнито, второй браузер + его режим инкогнито и так далее. Это глупо. Если вы используете Chrome, то SessionBox вам в помощь. Он жадноват, даёт бесплатно сохранять только 5 сессий, впрочем, этого вам может хватить. Однако есть и бесплатная альтернатива, но уже для Firefox: Firefox Multi-Account Containers. В нём можно создать неограниченное количество контейнеров, открывая в них KoboldAI. 
Подключение Command R+ API
Этот блок был добавлен 26.04.2024.
Свершилось чудо и теперь нейрозавры могут генерить русский текст без цензуры, не выходя из уютного Кобольда. Чатжпт не нужон. Бегло потестить можно тут. Приступим к настройке. 
Так как речь всё же о API, то нам нужен API-ключ. Его можно получить на сайте cohere.com. Русских туда не пускают, я притворяюсь американцем и прокатывает. Жмём по кнопке "Try now" в правом верхнем углу, открывается окно регистрации. Тут зависит от вас, будете ли вы регистрироваться на свою почту, так как есть лимит использования API, или будете мультиаккаунтить на временную гугловскую почту. Такие сервисы ищутся по запросу "temporary gmail", на негугловскую почту регистрация запрещена.
После регистрации отвечаем на вопросы на сайте, правда не нужна, ответы ни на что не влияют. Выходим на дашборд, жмём по кнопке "API Keys" слева. Пролистываем вниз до блока "Trial keys". Нам уже выдан один ключик. Жмём по иконке глаза справа от него, потом по иконке копирования, ключ в буфере обмена. 
Теперь идём на KoboldAI Lite, тоже под включенной маскировкой под американца, иначе волшебство не удастся. Жмём кнопку "AI" слева вверху, тыкаем по "AI Horde", выбираем "Cohere API". Там, где написано "command", нажимаем и выбираем "command-r-plus". В поле для ввода вставляем API-ключ, полученный у Cohere. Если справа вверху появится зелёная надпись "Connected to Cohere Endpoint" и ваши запросы будут идти без ошибок, то гойда.
Также ещё важные моменты:
- у каждого аккаунта Cohere есть лимит на 1000 запросов в месяц. Никто не мешает мультиаккаунтить пока что, так что имейте в виду.
- без маскировки под американца не получится ни взять ключ, ни подключиться к API Cohere через KoboldAI Lite.
- Command R+ не обучалась на русский полноценно, стадия pre-training. Иногда путает рода, странные окончания ставит, может выдавать иероглифы, но бесплатных альтернатив без цензуры, знающих русский, нет. На этой же стадии у модели и украинский, так что можете написать промпт хохла и докапываться до него.
- цензура сугубо номинальная. На некоторые запросы он ругается в духе чатжпт, мол, я чат-бот и мне низзя, но такое бывает очень редко и лечится буквально перестановкой порядка одного-двух слов в промпте. Я видел, что люди творили с этой нейронкой на русском, позволена любая лютая жесть. Экспериментируйте.
Спасибо за прочтение! Этот гайд был опубликован бесплатно, поэтому, если он был вам полезен, то, пожалуйста, подпишитесь на мой Telegram @bazilevs_based и поддержите меня подпиской на Boosty, чтобы я смог писать подобные гайды чаще и делать видео качественнее, так как ваша поддержка напрямую влияет на мои видео.

Уровни подписки

Базозавр-котёнок

$ 1,13 в месяц
Маленькая поддержка

Базозавр-слон

$ 2,82 в месяц
Поддержка побольше

Гигабазозавр

$ 5,7 в месяц
Жесть какая большая поддержка
Наверх