О проекте
Команда: BSR
Кейс HackAlem.ai: Торговля — Электрокомплект · ekt.kz
Стадия: Прототип
Задача кейса: AI-консультант по каталогу ekt.kz: товары, аналоги, цены, остатки, корзина
Суть
Прототип ИИ-консультанта ekt.kz: поиск товаров по названию, артикулу и ID, характеристики, цена, наличие и сертификаты из API, подбор аналогов, разбор загруженных файлов и корзина с подтверждением.
Как устроено
Python-бэкенд обращается к EKT API (/api/products с постраничной загрузкой, /api/products/detail) с Basic Auth на сервере. Запросы нормализуются (3×2,5 / 3х2.5 / 3 x 2,5), ответ формирует OpenAI через Responses API. В рамках сессии запоминаются последние найденные товары. Поддерживаются вложения PDF/DOCX/XLSX/изображения и языки ru/kk. Перед добавлением в сессионную корзину нужно подтверждение, и остаток проверяется повторно. Без ключа работает fallback на данных API.
Ключевые решения
- query normalization
- attachment parsing
- session memory
- stock re-check before cart add
Особенности
Нормализация записи сечения кабеля в запросах (3×2,5 / 3х2.5). Корзина вынесена в отдельный модуль cart.py, чтобы потом заменить её на реальный endpoint EKT, не трогая чат.
Стек
Python · HTML/CSS/JS
Модели
gpt-5.6-luna
Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-3f85dbff-bsr.
README
README.mdEKT AI Assistant — HackAlem AI
Готовый прототип ИИ-консультанта для сайта ekt.kz.
Возможности
- каталог EKT через Basic Auth;
/api/products+ постраничная загрузка;/api/products/detail?id=...для точной карточки;- поиск по названию, артикулу и ID;
- нормализация запросов
3×2,5 / 3х2.5 / 3 x 2,5; - характеристики, цена, наличие и сертификаты из API;
- релевантные аналоги;
- OpenAI через Responses API;
- PDF, DOCX, XLSX, TXT, JPEG, PNG, WEBP;
- русский и казахский язык;
- память последних найденных товаров в рамках сессии;
- подтверждение перед добавлением в корзину;
- повторная проверка остатка перед добавлением;
- адаптивный интерфейс.
Быстрый запуск Windows
- Распакуйте архив.
- Откройте PowerShell в папке проекта.
- Запустите:
.\run.bat
- Откройте:
http://127.0.0.1:8000
OpenAI
В .env добавьте свой API-ключ:
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-5.6-luna
Без ключа сайт продолжит работать в fallback-режиме на данных EKT API.
Важно
Basic Auth находится только на backend и не отправляется в браузер. Файл .env добавлен в .gitignore; не публикуйте его в GitHub.
Корзина в этом прототипе сессионная. Когда EKT предоставит endpoint реальной корзины, нужно заменить реализацию app/cart.py, не меняя чат и интерфейс.
Авторы коммитов
История коммитов
- 2026-09-23 17:54first commitRuhaRs
Структура репозитория (18 файлов)
.gitignore README.md app/__init__.py app/ai.py app/attachments.py app/cart.py app/config.py app/ekt_client.py app/main.py app/models.py app/session_state.py app/static/app.js app/static/index.html app/static/style.css app/uploads/.gitkeep requirements.txt run.bat run.sh
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.