Trainable SQL Query Builder Telegram-бот, превращающий русские вопросы в SQL. Самообучается на исправлениях.
🎯 Что делает 📝 Русский → SQL – понимает вопросы типа "Сколько видео с 1000+ просмотров?"
🧠 Самообучается – запоминает исправленные SQL как шаблоны
🔍 Автосхема – сам изучает структуру PostgreSQL или JSON данных
🤖 Умный кэш – второй раз отвечает мгновенно
✏️ Правки SQL – аналитики могут править сгенерированные запросы
🚀 Быстрый старт bash
git clone https://github.com/ваш-репозиторий.git cd Trainable-SQL-query-builder
pip install -r requirements.txt
cp .env.example .env
python main.py 💬 Примеры text Вы: "Сколько видео в системе?" Бот: SELECT COUNT(*) FROM videos; 📊 Результат: 360
Вы: "Топ 5 по просмотрам за ноябрь" Бот: SELECT title, views_count FROM videos WHERE EXTRACT(MONTH FROM created_at) = 11 ORDER BY views_count DESC LIMIT 5; 🏗️ Как работает text Пользователь → Конструктор → LLM → SQL → База → Ответ ↑ ↓ ↓ ↓ ↓ Исправление ← Кэш ← Сохранение ← Выполнение Компоненты: Конструктор – умный кэш SQL шаблонов
LLMClient – Ollama/OpenAI для генерации SQL
AutoSchemaDetector – сам изучает БД
PatternLearner – учится на исправлениях
⚙️ Конфиг (.env) env TELEGRAM_TOKEN=ваш_токен DATABASE_URL=postgresql://user:pass@localhost/db LLM_PROVIDER=ollama # или openai OLLAMA_MODEL=mistral:7b-instruct 📁 Структура text src/ ├── bot/ # Telegram бот ├── constructor/ # Кэш и шаблоны SQL ├── llm/ # Работа с LLM ├── database/ # Подключение к БД └── schema/ # Автоопределение схемы 🧪 Тестирование bash python test_llm.py # Проверить LLM python test_constructor.py # Проверить кэш 🎯 Для кого Аналитики – получают SQL без знания синтаксиса
Разработчики – экономят время на рутинных запросах
Команды – накапливают библиотеку типовых SQL
Один раз поправил SQL – система запомнила навсегда.