Skip to content

AITISPEC/Neo-Prompt-beta

Repository files navigation

Neo Prompt

Сделайте работу с LM Studio удобной и продуктивной! 🚀

Neo Prompt — это веб-интерфейс на базе Gradio для работы с локальным сервером LM Studio. Он позволяет выстраивать цепочки из до 5 пресетов (промптов) и обрабатывать запросы последовательно, с полной поддержкой стриминга, отображением «размышлений» модели (reasoning) и детальной статистикой использования токенов.

Проект специально разработан для связки промптов ТРИЗ (Теория решения изобретательских задач), но может использоваться для любых многошаговых рассуждений.

Скриншот

✨ Возможности

🔌 Подключение к LM Studio API

Автоматическое определение статуса сервера и загруженной модели.

🔗 Цепочка из 5 пресетов

Выберите до пяти пресетов из конфигурационных файлов LM Studio. Запрос будет обработан каждым пресетом по порядку, при этом каждый следующий агент (пресет) получает на вход только ответ предыдущего агента и не имеет информации о самом предыдущем агенте, его промпте или истории переписки. Это обеспечивает чистое последовательное преобразование ответа, идеально подходящее для ТРИЗ-цепочек.

⚡ Стриминг ответов

Ответы генерируются в реальном времени. Отдельный блок показывает процесс «мышления» модели (reasoning content).

🤖 Автоматический или ручной режим

В авто-режиме все шаги выполняются последовательно. В ручном — вы контролируете переход к следующему шагу кнопкой.

🆕 Режим «Новый чат»

Каждое сообщение может начинаться с чистым контекстом, если это необходимо.

📊 Детальная статистика

Скорость генерации, количество токенов в последнем ответе, время выполнения и общий прогресс использования контекстного окна.

🎨 Современный интерфейс

Приятная тёмная тема, адаптированная для Gradio.

📋 Требования

  • Установленный и запущенный LM Studio с активным локальным API‑сервером (адрес нужно настроить в config.py) и загруженной моделью.
  • Python 3.12 или выше.

🚀 Быстрый старт

  1. Клонируйте репозиторий:
git clone https://github.com/AITISPEC/neo-prompt.git
cd neo-prompt
  1. Установите проект с помощью скрипта install.ps1 (Windows PowerShell):
.\install.ps1 -create_env

Скрипт автоматически проверит наличие Python 3.12+, создаст виртуальное окружение и установит зависимости (gradio, requests).

Доступные флаги:

Флаг Описание
-create_env Создать виртуальное окружение (обязателен)
-verbose Показывать подробный вывод установки
-nodeps Установить только проект, без зависимостей
-env_name "name" Имя виртуального окружения (по умолчанию .venv)
-extra "args" Дополнительные аргументы для pip
  1. Настройте конфигурацию (при необходимости): Отредактируйте config.py, указав актуальный адрес сервера LM Studio.
BASE_API_URL = "http://192.168.0.98:1234"
  1. Запустите приложение файлом run.bat, либо:

    • Активируйте окружение (если еще не активно):
      .venv\Scripts\Activate.ps1
    • Введите команду:
      python Neo-Prompt.py
  2. Откройте браузер и перейдите по адресу http://127.0.0.1:7860.

🧩 Структура проекта

Файл Назначение
Neo-Prompt.py Главный файл приложения с интерфейсом Gradio.
config.py Настройки: адрес API, приоритет моделей, размер контекста.
neo_client.py Клиент для взаимодействия с LM Studio API, стриминг, статистика.
model_manager.py Управление цепочкой пресетов, состоянием шагов, режимами.
presets.py Загрузка пресетов из файловой системы LM Studio.
formatters.py Форматирование отображения reasoning и ответов.
ui_components.py CSS-стили для красивого отображения в Gradio.
requirements.txt Список Python‑зависимостей.
install.ps1 Установочный скрипт для Windows.

🖥️ Использование

Действие Описание
Проверьте статус сервера — нажмите кнопку «Проверить». Если всё в порядке, вы увидите название модели и доступный контекст.
Обновите список пресетов. Кнопка «Обновить пресеты» загрузит все пресеты из папки ~/.lmstudio/config-presets/.
Выберите пресеты для шагов (от 1 до 5). Можно оставить пустые слоты — тогда цепочка будет короче.

⭐ Настройте режимы:

Режим Описание
Авто Все выбранные шаги выполняются автоматически подряд.
Новый чат Каждый запрос отправляется без предыдущего контекста (полезно при тестировании).
  • Введите сообщение и нажмите «Отправить».
  • Во время генерации в верхней области отображается процесс «размышления» модели. После завершения ответ появляется в чате.
  • Справа отображается статистика по последнему ответу и общее использование токенов.

Важно: В цепочке обработки каждый следующий пресет получает только текст ответа от предыдущего пресета. Никакой информации о предыдущих агентах, их системных промптах или исходном запросе не передаётся. Это обеспечивает строгую последовательную трансформацию, аналогичную применению инструментов ТРИЗ, где каждый шаг преобразует результат предыдущего без «шума» контекста.

🔧 Дополнительная настройка

  • Смена темы интерфейса: измените параметр theme в demo.launch().
  • Порт и доступ: по умолчанию server_name="127.0.0.1", server_port=7860. Для доступа из локальной сети измените server_name на "0.0.0.0".

📄 Лицензия

Проект распространяется под лицензией Apache 2.0. Подробности см. в файле LICENSE.

🤝 Вклад

Приветствуются сообщения об ошибках, предложения по улучшению и пул-реквесты. Для серьёзных изменений сначала создайте issue для обсуждения.

Latest Release

About

Neo Prompt — это веб-интерфейс на базе Gradio для работы с локальным сервером LM Studio. Он позволяет выстраивать цепочки из до 5 пресетов (промптов) и обрабатывать запросы последовательно.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors