Skip to content

Repository files navigation

Neo Prompt

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

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).

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

  1. Клонируйте репозиторий:

    git clone https://github.com/AITISPEC/neo-prompt.git
    cd neo-prompt
  2. Установите проект с помощью скрипта install.ps1 (Windows PowerShell):

    .\install.ps1 -create_env

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

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

    Флаг Описание
    -create_env Создать виртуальное окружение (обязателен)
    -verbose Показать подробный вывод установки
    -nodeps Установить только проект без зависимостей
    -env_name "name" Имя виртуального окружения (по умолчанию .venv)
    -extra "args" Дополнительные аргументы для pip
  3. Настройте параметры через .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
  4. Запустите приложение:

    • Через run.bat (Windows)
    • Или активируйте окружение и выполните:
      python Neo-Prompt.py
  5. Откройте браузер и перейдите по адресу 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 Установочный скрипт.

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

  1. Проверьте статус сервера – кнопка «Проверить» покажет модель и тип сервера (LM Studio / Bionic).
  2. Обновите список пресетов – кнопка «Обновить пресеты» загрузит все доступные пресеты из папки LM Studio.
  3. Выберите пресеты для шагов (до MAX_STEPS). Пустые слоты пропускаются – цепочка будет короче.
  4. Настройте режимы:
    • Авто – все шаги выполняются автоматически.
    • Новый чат – каждый запрос отправляется без предыдущего контекста.
  5. Введите сообщение и нажмите «Отправить». Во время генерации отображается мышление модели, после завершения ответ появляется в чате, а справа – статистика.

Важно: В цепочке каждый следующий пресет получает только текст ответа от предыдущего. Никакой информации о промптах или истории не передаётся.


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

  • Тип сервера – автоопределение: сначала пробуется LM Studio, при недоступности – Bionic (если включён).
  • Порт и хост – в Neo-Prompt.py в demo.launch() укажите свои server_name и server_port.
  • Тема интерфейса – измените параметр theme (по умолчанию gr.themes.Soft()).

📄 Лицензия

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


🤝 Вклад

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

Latest Release

About

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

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages