Автор: Guljaca
Написал программу для оффлайн ролевых игр с малыми ИИ Моделями в качестве мастера.
Проблема моделей в том, что они могут нормально выполнять только одну задачу за раз, а длину контекста хоть и заявляют в сотни тысяч, но нормальная работа возможна только при 2000-4000 токенов для 9b моделей. Ну и им тяжело дается описание нескольких персонажей одновременно.
ОПИСАНИЕ ВОЗМОЖНОСТЕЙ:
- Программа делит процесс обработки запроса на несколько этапов, в
которых модели задается одна задача и отправляется минимальный "system
prompt".
- Программа позволяет внутри интерфейса создавать игровые объекты,
редактировать и менять промты, менять очередность загрузки промтов
- Скрипт не принимает решения за модель, он только разбивает задачу, и передает данные между шагами.
- Модель общается с программой через Tools
- Чтобы модель генерировала интересные события, я добавил элементы случайности в игровой процесс. Они полностью настраиваются в промтах.
- Программа позволяет модели обрабатывать сразу множество персонажей, не смешивая их.
- Чтобы модель не была предвзятой к игроку, реакция каждого персонажа
обрабатывается отдельно. Сначала модель определяет, что персонаж
"планирует" сделать. Затем сводит их решения на подготовленную сцену, и
выводит итоговый результат.
- Прога позволяет бросать ИИ кубики d20, d100, 1d6. Но не игроку. В промте можно определить, что эти числа будут обозначать, и как на них нейронка должна реагировать.
- Режим двух моделей. Вторая модель "переводит" то, что нагенерировала первая. Полезно для моделей, которые плохо знают русский язык. Можно нагенерить на английском, и перевести на русский той же Translategemma. Впрочем, его можно использовать не только для перевода. (Сейчас не факт, что работает)
Полная обратная связь:
- Интерфейс показывает какие промты отправляются в модель.
- Интерфейс показывает весь процесс мышления модели, включая обращение к скрипту
- В папке logs хранится до 30 логов сообщений, описывающих каждое принятое моделью решение
- Возможность перегенерации последнего сообщения
МОДЕЛИ:
- QWEN 3.5 9b Base стабильно вызывает команды при температуре 0.8, но для повествования лучше найти что-то с Tools, Thinking, Instruct, Uncensored. Tools, Thinking обязательны.
- Qwen3.5-9b-claude-4.6-os-auto-variable-heretic-uncensored-thinking-max-neocode-imatrix@q6_k выглядит многообещающе
ПО ИНТЕРФЕЙСУ:
- Прога тестилась на локальном сервере LM_Studio
- Настройки - настройки модели поверх настроек сервера
- Профиль - позволяет отключать объекты, к которым прога получает доступ. Все объекты - это отдельные промты.
- Рассказчики - тут описывается мир, мастера игры
- Персонажи, Локации, Предметы - тут создаются всякие объекты
- Системные промты - база, на которых скрипт работает. Можно редактировать. Если что-то сломается - просто удалите все файлы из data/prompts
- Промты перевода - нужны для работы двух моделей
- Этапы позволяют решать, какие промты, в каком порядке, попадут в модель на каждом этапе принятия решения. Суть в том, чтобы снизить количество информации, которую нейронка будет за раз обрабатывать.
В целом, кому интересно - забирайте. Вроде работает. Баги наверняка есть. Буду дорабатывать по мере использования - там как пойдет.
Детали тут: https://github.com/Guljaca/RPG-AI-Assistant/blob/main/README.md
Затестить тут: https://github.com/Guljaca/RPG-AI-Assistant/tree/main
Скрипт открытый - меняйте как хотите. Я только рад буду, если кто-то что-то годное на его основе сделает.
Комментировать
Подробнее https://reactor...
