Мануал по локальному запуску чат-ботов для ролевых игр.
Пидоры, привет.
Вижу, что многим становится интересно, когда я упоминаю ролевухи с ботами, развернутыми локально.
Напишу небольшой мануал, по быстрой настройке и запуске ролевых моделей.
Вижу, что многим становится интересно, когда я упоминаю ролевухи с ботами, развернутыми локально.
Напишу небольшой мануал, по быстрой настройке и запуске ролевых моделей.
Краткая теория: Для работы бота, нужно установить и настроить два компонента. Та часть, которая будет обеспечивать работу самой нейросети и возможность передать ей запрос - называется бэкэнд, а та часть, которая обеспечивает веб-интерфейс для взаимодействия с ботом - называется фронтэнд. Я обычно использую для бэкэнда https://github.com/oobabooga/text-generation-webui , но сегодня я буду описывать настройку на базе https://lmstudio.ai/ , для того, чтобы максимально упростить процедуру установки. Фронтэнды бывают очень разнообразные, но сегодня у нас конкретная цель - бот для ролевых игр, а для этого наиболее всего подходит интерфейс SillyTavern https://github.com/SillyTavern/SillyTavern . Я буду настраивать пошагово все на полностью чистой Windows 11, иллюстрируя пошагово.
PS: Я приведу общую настройку, без привязки к оборудованию. Из обязательных требований, только процессор с поддержкой инструкций AVX2, хотя бы 16 гб оперативки и по возможности видеокарта nVidia или AMD(это не обязательно, но наличие даже простой видеокарты, позволит значительно ускорить процесс работы бэкэнда. Я довольно долго использовал старую nVidia GTX 960 на 4 гигабайта видеопамяти, сгружая туда несколько слоев модели и кеш. Это ускоряло обработку контекста раз в десять.) Чем больше у вас оперативки, тем больше модель туда сможет влезть, но при работе на процессоре, я не рекомендую использовать модели больше 13 миллиардов параметров(13B)
На моем 12700kf, без использования видеокарты, 8B модель генерирует примерно 8-10 токенов в секунду. Это примерно 3-4 слова в секунду. На видеокартах 3090, скорость достигает 40-70 токенов для 8b, но там уже можно взять модельки получше.
Я последнее время ролю вот с этой: https://huggingface.co/Gryphe/Pantheon-RP-1.8-24b-Small-3.1 (ну или квантованная версия https://huggingface.co/bartowski/Gryphe_Pantheon-RP-1.8-24b-Small-3.1-GGUF)
На моем 12700kf, без использования видеокарты, 8B модель генерирует примерно 8-10 токенов в секунду. Это примерно 3-4 слова в секунду. На видеокартах 3090, скорость достигает 40-70 токенов для 8b, но там уже можно взять модельки получше.
Я последнее время ролю вот с этой: https://huggingface.co/Gryphe/Pantheon-RP-1.8-24b-Small-3.1 (ну или квантованная версия https://huggingface.co/bartowski/Gryphe_Pantheon-RP-1.8-24b-Small-3.1-GGUF)
Запускаете LMStudio и пропускаете обучение, тыкая на надпись справа вверху.
Можно сразу же приступать к скачиванию нужной языковой модели.
Я использую несколько различных языковых моделей, но наиболее легковесная и качественная модель, отвечающая большинству моих требований - это https://huggingface.co/Cas-Archive/L3-Umbral-Mind-RP-v1.0.1-8B на базе Meta*(экстремисты, террористы и ваще гандоны) LLama 3.1, с проведенной над ней процедурой аблитерации(снятие моральных блокировок и цензуры) и дообученной на различных похабных датасетах и заточенная под всякоразные непотребства.
Т.к мы работаем с LLAMA.CPP, то нам нужна версия пересобранная в формат GGUF.
В большинстве случаев, достаточно будет квантованной версии на Q8(Она дает приемлемое качество ответов, при этом потребляя вдвое меньше памяти.)
Для этого, мы должны скачать нужную нам модель, используя встроенный загрузчик lmstudio
Я использую несколько различных языковых моделей, но наиболее легковесная и качественная модель, отвечающая большинству моих требований - это https://huggingface.co/Cas-Archive/L3-Umbral-Mind-RP-v1.0.1-8B на базе Meta*(экстремисты, террористы и ваще гандоны) LLama 3.1, с проведенной над ней процедурой аблитерации(снятие моральных блокировок и цензуры) и дообученной на различных похабных датасетах и заточенная под всякоразные непотребства.
Т.к мы работаем с LLAMA.CPP, то нам нужна версия пересобранная в формат GGUF.
В большинстве случаев, достаточно будет квантованной версии на Q8(Она дает приемлемое качество ответов, при этом потребляя вдвое меньше памяти.)
Для этого, мы должны скачать нужную нам модель, используя встроенный загрузчик lmstudio
Нужно выбрать размер квантования Q8 и скачать выбранную модель.
После завершения закачки - выберите и загрузите в память выбранную модель.
(Скорость загрузки в память будет зависеть от скорости чтения вашего жесткого диска)
(Скорость загрузки в память будет зависеть от скорости чтения вашего жесткого диска)
Если на этом этапе, не возникнет никаких проблем, то это означает, что модель загружена успешно и в теории вы уже можете писать ей различные вопросы, используя внутренний интерфейс чата.
Но это не удобно и по большей части, не дает полноценно насладиться ролевой игрой. Для того, чтобы использовать возможности современной языковой модели по полной, нам нужно перевести студию в режим сервера. Для этого, откройте системный трей и разрешите студии слушать подключения на порт 1234(просто поставьте галочку)
Убедитесь, что сервер запущен и готов к работе.
Теперь можно приступать к установке Таверны. Для этого, нам потребуется дополнительная программа:
После этого, переходит на гитхаб Таверны и качаем свежий релиз:
На момент написания мануала, это версия 1.12.13
Распаковывайте в удобное для вас место(я использую рабочий стол.)
Для старта приложения, нужно запустить файл Start.bat, который находится внутри и дождаться загрузки и установки всех необходимых компонентов.
Таверна также не требует каких-то настроек и в большинстве случаев заработает сразу без дополнительных телодвижений. В результате откроется внутренний интерфейс:
Придумайте себе имя и нажмите Save
Теперь, нам нужно соединить Таверну и LMStudio. Для этого, нужно указать адрес в настройках таверны.
Теперь, нам нужно соединить Таверну и LMStudio. Для этого, нужно указать адрес в настройках таверны.
Выбираем API "Text Completion", API Type "Generic(OpenAI-compatible) [LM Studio, LiteLLM, etc]"
После чего, указываем Server URL http://127.0.0.1:1234 и нажать Connect.
Если вы увидели в статусе ответа модель, то значит все хорошо и связь установлена. Можно поставить галочку на автоподключение и снова нажать на пиктограмму вилки (1), чтобы свернуть меню и перейти к настройкам таверны.
Переходим к базовым настройкам модели:
После чего, указываем Server URL http://127.0.0.1:1234 и нажать Connect.
Если вы увидели в статусе ответа модель, то значит все хорошо и связь установлена. Можно поставить галочку на автоподключение и снова нажать на пиктограмму вилки (1), чтобы свернуть меню и перейти к настройкам таверны.
Переходим к базовым настройкам модели:
Т.к L3-Umbral-Mind-RP-v1.0.1-8B основана на архитектуре LLama-3, то нам нужно выбрать соответствующие типы инструкций(желтый и зеленый элементы) Также, активируйте все маленькие элементы, чтобы они загорелись зеленым. Больше, ничего на странице трогать не нужно. Можно переходить к опции автоперевода. Пидоры, свободно владеющие басурманским, могут пропустить эту часть и переходить к следующей.
После этого, уже можно переходить к диалогу с ботом. По-умолчанию, в Таверне уже есть один персонаж, Серафина. С ней можно провести тестовый диалог, чтобы оценить скорость и общие настройки.
Настройки по умолчанию не очень качественные, я рекомендую использовать предпрофиль Mirostat и можно включить стриминг токенов, тогда сообщение будет появляться в реальном времени, что позволит примерно понимать скорость генерации ответов.
У таверны, есть отличный сайт с документацией, который содержит просто потрясающее количество полезных сведений по всевозможным настройкам.
https://docs.sillytavern.app/
https://docs.sillytavern.app/
Вы можете как создавать собственных персонажей, так и загружать карточки уже готовых.
Вот пример, как это можно сделать. Открываем сайт с карточками:
https://aicharactercards.com/
и либо выбираете карточку из предложенных, либо ролите ее. Я предпочитаю делать персонажей самостоятельно, но на первых парах использовал готовые.
Вот пример, как это можно сделать. Открываем сайт с карточками:
https://aicharactercards.com/
и либо выбираете карточку из предложенных, либо ролите ее. Я предпочитаю делать персонажей самостоятельно, но на первых парах использовал готовые.
Копируем адрес карты, перейдя в нее.
После этого, возвращаемся в таверну, чтобы импортировать карту персонажа.
Импортируем карту и все теги.
И можно начинать чат.
В целом, на этом все. Уже можно творить всякое непотребное и делать что угодно.
Можете писать вопросы в комменты, постараюсь помочь чем смогу.
Можете писать вопросы в комменты, постараюсь помочь чем смогу.