Различия в региональных нормативах градостроительного проектирования в Российской Федерации практически невозможно проанализировать вручную быстро, так как у каждого субъекта Российской Федерации своя структура актов, плотность регулирования и т.д. Федеральные нормы задают базовый уровень, но региональная специфика часто диктует свои требования.
Мне знакома эта проблематика, так как за моими плечами разносторонний
юридический бэкграунд.
Даже у опытного юриста сравнение региональных требований между двумя
субъектами Российской Федерации по одному типу объекта может занимать часы
или дни, но и это не гарантирует 100% точности, ведь так легко пропустить
существенный пункт.
RegioBuild формирует перечень требований для конкретного субъекта Российской Федерации при проектировании объекта капитального строительства, анализирует РНГП/ТСН и федеральный фон, а также умеет сравнивать данные требования между двумя субъектами Российской Федерации.
Telegram (https://t.me/regiobuild_bot) в данном
случае лишь демонстрационный канал.
Ядро продукта — HTTP API (/info, /compare, /api/v1/*, /health,
/metrics).
Внешние системы подключаются независимо от мессенджера.
RegioBuild — справочный инструмент, а не юридическая консультация.
Полученные ответы не заменяют проектную документацию, заключение юриста и
самостоятельную проверку актуальности требований нормативных правовых актов
на момент запроса.
Муниципальные ПЗЗ в базу сервиса не включены, поэтому на сегодняшний день их
нужно проверять отдельно.
Подробнее можно ознакомиться здесь:
docs/LEGAL_DISCLAIMER.md.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Обзор требований по выбранному субъекту Российской Федерации — региональные и федеральные требования к объекту с указанием пунктов.
- Сравнение требований между двумя субъектами Российской Федерации — различия и совпадения в региональных и федеральных требованиях к объекту с указанием пунктов.
| ISO 3166-2 | Субъект |
|---|---|
RU-MOS |
Московская область |
RU-KDA |
Краснодарский край |
RU-SVE |
Свердловская область |
RU-NVS |
Новосибирская область |
RU-TA |
Республика Татарстан |
RU-FED |
Федеральный слой: ГрК РФ, СП 42, 123-ФЗ, СанПиН |
База сервиса ограничена этим корпусом. ПЗЗ и муниципальный уровень вне скоупа.
Архитектура расширяема: новый субъект подключается конфигами и данными —
docs/ADDING_REGION.md.
Кратко:
- Ingestion — PDF/HTML/DOCX → иерархический разбор → чанки в Qdrant.
- Retrieval — нормализация типа объекта, multi-query, hybrid dense + BM25, ранжирование с приоритетом надёжных секций и curated-якорей.
- Grounding — пункт из ответа модели попадает в выдачу только при совпадении с retrieved-фрагментами; при слабой опоре — отказ.
- Агент — LangGraph: normalize → understand → retrieve → classify → rerank → LLM → format/guardrail.
- LLM — GigaChat Ultra (
GigaChat-3-Ultra),temperature=0.0.
Подробнее: docs/ARCHITECTURE.md.
Оценка retrieval (якоря section_number, не юридическая верность ответа):
| Набор | Hit rate |
|---|---|
data/eval/golden.jsonl |
100/100 |
data/eval/blind_paraphrase.jsonl |
60/60 |
Коммерческий контур — /api/v1 с X-API-Key и машиночитаемыми цитатами
(документ, пункт, уровень, дата сверки). Спецификация: GET /docs.
python -m scripts.manage_api_keys create --name "ООО Клиент" --daily-limit 200
curl -X POST https://<host>/api/v1/info \
-H "Content-Type: application/json" \
-H "X-API-Key: rgb_…" \
-d '{"region": "RU-KDA", "object_type": "автомойка"}'Пример клиента: examples/api_client.py.
Прод: VPS Aeza (Москва), nginx, API, Telegram-бот, Prometheus, Grafana Cloud
(remote_write), Alertmanager, еженедельный бэкап. Выкладка — GitHub Actions →
SSH → scripts/deploy_remote.sh + scripts/verify_deploy.sh (verify OK).
| Слой | Состав |
|---|---|
| Язык | Python 3.11 |
| Backend | FastAPI |
| Клиент | aiogram 3 |
| Оркестрация | LangGraph |
| Embeddings | fastembed (ONNX) |
| Vector DB | Qdrant Cloud |
| Классификация | scikit-learn (TF-IDF + LogisticRegression) |
| LLM | GigaChat Ultra |
| Данные | SQLAlchemy, Alembic |
| Observability | Prometheus, Grafana Cloud, Sentry |
| Инфраструктура | Docker, GitHub Actions, VPS Aeza |
RegioBuild/
app/ # agent, api, bot, ingestion, vectorstore, llm
config/ # regions.yaml, documents.yaml, object_categories.yaml
docs/
migrations/
scripts/
tests/
data/ # curated; raw/processed/structured — локально
python -m venv venv
venv\Scripts\activate # Linux/Mac: source venv/bin/activate
pip install -r requirements.txt
copy .env.example .env # Linux/Mac: cp .env.example .envВ .env — учётные данные GigaChat, при необходимости токен бота и параметры
Qdrant.
alembic upgrade head
python -m scripts.parse_pdf_docs # при наличии data/raw/docs
python -m scripts.index_qdrant
uvicorn app.api.main:app --reload
python -m app.bot.mainПрод: docker compose -f docker-compose.prod.yml --env-file .env up -d --build.
pytest
python -m scripts.eval_golden© Никита Мокин / Nikita Mokin
GitHub ·
LinkedIn
Все права защищены.
Копирование репозитория, воспроизведение существенных частей решения и
использование кода либо продукта в коммерческих целях без предварительного
письменного согласия правообладателя запрещены.
Размещение исходников на GitHub предназначено для демонстрации компетенций и
не предоставляет лицензии на их коммерческую эксплуатацию.














