Neo Prompt — это веб-интерфейс на базе Gradio для работы с локальными LLM через цепочки пресетов. Поддерживает LM Studio и Bionic (OpenAI-совместимый API). Позволяет выстраивать цепочки из настраиваемого количества пресетов (по умолчанию 6, максимум 13) и обрабатывать запросы последовательно, с полной поддержкой стриминга, отображением «размышлений» модели (reasoning) и детальной статистикой использования токенов.
Проект специально разработан для связки промптов ТРИЗ, но может использоваться для любых многошаговых рассуждений.
- Подключение к LM Studio или Bionic – автоматическое определение доступного сервера (сначала LM Studio, затем Bionic).
- Цепочка из N пресетов – количество шагов задаётся в
.env(по умолчанию 6, максимум 13). Каждый следующий пресет получает на вход только ответ предыдущего, без истории и системного промпта. - Стриминг ответов – генерация в реальном времени с отображением процесса «мышления» (reasoning).
- Автоматический или ручной режим – авто-режим выполняет все шаги подряд, ручной – по кнопке.
- Режим «Новый чат» – сброс контекста для каждого запроса.
- Детальная статистика – скорость, токены, время, прогресс использования контекста.
- Современный интерфейс – тёмная тема Gradio, адаптивный дизайн.
- Python 3.12 или выше.
- Для работы с LM Studio – запущенный сервер LM Studio с активной моделью.
- Для работы с Bionic – запущенный Bionic-сервер с OpenAI-совместимым API (ключ и URL настраиваются в
.env).
-
Клонируйте репозиторий:
git clone https://github.com/AITISPEC/neo-prompt.git cd neo-prompt -
Установите проект с помощью скрипта
install.ps1(Windows PowerShell):.\install.ps1 -create_envСкрипт проверит наличие Python 3.12+, создаст виртуальное окружение и установит зависимости.
Доступные флаги:
Флаг Описание -create_envСоздать виртуальное окружение (обязателен) -verboseПоказать подробный вывод установки -nodepsУстановить только проект без зависимостей -env_name "name"Имя виртуального окружения (по умолчанию .venv)-extra "args"Дополнительные аргументы для pip -
Настройте параметры через
.env: Скопируйте файл.env.exampleв.envи отредактируйте под свои нужды:# LM Studio LM_STUDIO_URL=http://192.168.0.98:1234 LM_STUDIO_AUTH=user_1 # Bionic BIONIC_ENABLED=true BIONIC_URL=http://localhost:1234/v1 BIONIC_API_KEY=sk-... BIONIC_MODEL=bionic-agent # Общие DEFAULT_CONTEXT_LENGTH=8192 COOLDOWN_SECONDS=10
-
Запустите приложение:
- Через
run.bat(Windows) - Или активируйте окружение и выполните:
python Neo-Prompt.py
- Через
-
Откройте браузер и перейдите по адресу http://127.0.0.1:7860.
| Файл | Назначение |
|---|---|
Neo-Prompt.py |
Главный файл приложения с интерфейсом Gradio. |
config.py |
Загрузка настроек из .env, параметры по умолчанию. |
neo_client.py |
Клиент для LM Studio и Bionic, автоопределение сервера, стриминг, статистика. |
model_manager.py |
Управление цепочкой пресетов, состояние шагов, режимы. |
presets.py |
Загрузка пресетов из файлов LM Studio (~/.lmstudio/config-presets/). |
formatters.py |
Форматирование reasoning и ответов. |
ui_components.py |
CSS-стили для интерфейса. |
.env.example |
Шаблон переменных окружения. |
install.ps1 |
Установочный скрипт. |
- Проверьте статус сервера – кнопка «Проверить» покажет модель и тип сервера (LM Studio / Bionic).
- Обновите список пресетов – кнопка «Обновить пресеты» загрузит все доступные пресеты из папки LM Studio.
- Выберите пресеты для шагов (до
MAX_STEPS). Пустые слоты пропускаются – цепочка будет короче. - Настройте режимы:
- Авто – все шаги выполняются автоматически.
- Новый чат – каждый запрос отправляется без предыдущего контекста.
- Введите сообщение и нажмите «Отправить». Во время генерации отображается мышление модели, после завершения ответ появляется в чате, а справа – статистика.
Важно: В цепочке каждый следующий пресет получает только текст ответа от предыдущего. Никакой информации о промптах или истории не передаётся.
- Тип сервера – автоопределение: сначала пробуется LM Studio, при недоступности – Bionic (если включён).
- Порт и хост – в
Neo-Prompt.pyвdemo.launch()укажите своиserver_nameиserver_port. - Тема интерфейса – измените параметр
theme(по умолчаниюgr.themes.Soft()).
Проект распространяется под лицензией Apache 2.0. Подробности в файле LICENSE.
Приветствуются сообщения об ошибках, предложения и пул-реквесты. Для серьёзных изменений сначала создайте issue для обсуждения.
