ARGO — Онлайн-справочник БАДов с ИИ-поиском и рекомендациями
Веб-разработка
Описание проекта
Назначение
ARGO — это веб-платформа для фармацевтической компании, объединяющая каталог товаров, интеллектуальный поиск на базе ИИ, систему персональных рекомендаций, блог и полный цикл заказа от гостя до менеджера.
Основные возможности
Каталог товаров
- Импорт из PDF-каталога (Argo_2025.pdf): автоматическое извлечение карточек товаров со страниц 13–347, поддержка OCR (Tesseract) при отсутствии текстового слоя
- Импорт прайс-листов из Excel (.xls/.xlsx): обновление цен по артикулу с логированием изменений
- LLM-парсинг страниц PDF чанками по 4 страницы с перекрытием для точности
- Категории и подкатегории: витамин D3 (500 ME, 1000 ME, 2000 ME, 5000 ME, 10000 ME), омега-3, железо, цинк, магний, коллаген, CoQ10, витамин K2, пробиотики, кальций и другие
- Детальные карточки: описание, состав, дозировка, артикул, цена, изображение
ИИ-поиск и RAG
- Семантический поиск через эмбеддинги (
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2) с векторными индексами FAISS/Chroma - LLM-powered ранжирование результатов через OpenAI-compatible API
- Гибридная фильтрация: по ключевым словам, категории, дозировке, типу продукта
- Настройка требования авторизации для поиска через панель администратора
- Семантический словарь (YAML) для расширения запросов синонимами
Персональные рекомендации (ИИ)
- LLM генерирует персонализированные подборки добавок на основе запроса пользователя
- Поддержка reasoning-моделей (до 12000 токенов)
- История рекомендаций привязана к пользователю
Корзина и заказы
- Добавление/удаление товаров, изменение количества через REST API
- Подсчёт итоговой суммы в реальном времени
- Оформление заказа без регистрации (гостевые заказы)
- Авторизованные пользователи: привязка заказа к профилю с member_id
- Уведомления менеджера: SMTP-рассылка или outbox (файлы в
data/order_outbox) - REST API для внешних интеграций:
/api/order/
Блог
- Полная CMS: создание, редактирование, удаление статей
- Категории блога с управлением через админку
- Загрузка медиафайлов (изображения до 5 МБ)
- Предпросмотр на главной странице с пагинацией
- REST API публикации (
/api/public/blog) с Bearer-токеном - Авторство: админ и редактор (роль editor)
Административная панель
- Управление товарами: импорт, редактирование, экспорт
- Управление пользователями: создание, роли, сброс паролей
- Управление заказами: просмотр, статусы, детали
- Управление блогом: статьи, категории, медиа
- Настройки сайта: заголовки, описания, hero-баннер, SEO, footer-ссылки
- Аналитика просмотров страниц
- Управление категориями товаров (дерево)
Система пользователей
- 4 роли: admin, editor, manager, user
- Защита от fixation-атак на сессии
- HTTP-only cookies, SameSite=Lax, настраиваемый TTL сессии (14 дней)
- Минимальная длина пароля: 8 символов
- Автоматическое создание администратора при первом запуске
- Системный пользователь для гостевых заказов
REST API
/api/products/— каталог с фильтрацией/api/cart/— корзина (add, remove, update, clear)/api/order/— создание заказов/api/recommendations/— ИИ-рекомендации/api/blog/— статьи блога (CRUD для авторизованных)/api/public/blog— публикация статей по API-ключу/api/search/— семантический поиск/api/admin/— административные операции (export, settings)
Технологии
| Слой | Технология |
|---|---|
| Язык | Python 3.13 |
| Веб-фреймворк | Flask 3.1 |
| База данных | SQLite (argo.db), SQLAlchemy ORM |
| Миграции | Alembic (60+ миграций) |
| Векторный поиск | FAISS / Chroma DB |
| Эмбеддинги | sentence-transformers (paraphrase-multilingual-MiniLM-L12-v2) |
| LLM | OpenAI-compatible API (GPT-4o-mini, локальные модели) |
| PDF-парсинг | pymupdf + Tesseract OCR |
| Excel-импорт | openpyxl |
| Шаблонизатор | Jinja2 |
| Фронтенд | Bootstrap 5, CSS3, vanilla JS |
| Сервер | Gunicorn (WSGI) |
| Контейнеризация | Docker + docker-compose |
| Тестирование | pytest |
Текущее состояние
- 60+ Alembic-миграций — стабильная, зрелая схема БД
- Полный цикл заказа — от гостевого просмотра до уведомления менеджера
- RAG-поиск рабочий — векторные индексы + LLM-ранжирование
- Блог — 28 статей в контент-плане, 13 опубликовано, автоматическая публикация через scheduler
- Два способа импорта — PDF-каталог (с LLM) и Excel-прайс-листы
- Docker-развёртывание — production-ready с Gunicorn + Nginx
- Тесты — pytest для каталога, заказов, рекомендаций, поиска, импорта
Потенциал развития
Коммерческий
- Интеграция платёжных систем (ЮKassa, CloudPayments) для онлайн-оплаты
- Личный кабинет с историей заказов и подпиской на регулярные закупки
- Программа лояльности с накопительными скидками и partner-ссылками
- Мультивариантность: выбор упаковки (30/60/90 капсул) на карточке товара
Технические
- Миграция с SQLite на PostgreSQL для высокой нагрузки
- Кэширование через Redis (результаты поиска, популярные страницы)
- Celery/RQ для асинхронных задач (генерация эмбеддингов, email-рассылки)
- CI/CD pipeline (GitHub Actions) с автотестами и автодеплоем
- Rate limiting и API-versioning для публичных эндпоинтов
ИИ и контент
- Чат-бот консультанта на основе RAG по базе товаров
- Автоматическая генерация описаний новинок при импорте прайс-листов
- Персональные подборки на основе истории покупок
- A/B-тестирование рекомендаций через разные LLM-модели
- Мультиязычность (EN/RU) с автоматическим переводом контента
Информация о проекте
Сайт проекта:
Открыть сайт
Открыть сайт
Дата создания:
06.06.2026
06.06.2026
Языки программирования
Python
Высокоуровневый язык программирования общего назначения с простым и понятным синтаксисом. Идеален для веб-разработки, анализа данных, машинного обучения и автоматизации.
Высокоуровневый язык программирования общего назначения с простым и понятным синтаксисом. Идеален для веб-разработки, анализа данных, машинного обучения и автоматизации.
TypeScript
Типизированная версия JavaScript, разработанная Microsoft
Типизированная версия JavaScript, разработанная Microsoft
Используемые технологии
Flask
Микрофреймворк для веб-разработки на Python. Простой, гибкий и расширяемый.
Веб-фреймворк
Микрофреймворк для веб-разработки на Python. Простой, гибкий и расширяемый.
Веб-фреймворк
OpenAI API
API для работы с языковыми моделями OpenAI, включая GPT-3, GPT-4 и другие модели.
ИИ и ML
API для работы с языковыми моделями OpenAI, включая GPT-3, GPT-4 и другие модели.
ИИ и ML
LLaMA.cpp
C++ библиотека для запуска моделей LLaMA локально. Эффективная и быстрая.
ИИ и ML
C++ библиотека для запуска моделей LLaMA локально. Эффективная и быстрая.
ИИ и ML
Docker
Платформа для разработки, доставки и запуска приложений в контейнерах.
DevOps
Платформа для разработки, доставки и запуска приложений в контейнерах.
DevOps
Flask
Легковесный веб-фреймворк для Python
web_framework
Легковесный веб-фреймворк для Python
web_framework
SQLite
Встраиваемая реляционная база данных
database
Встраиваемая реляционная база данных
database
Bootstrap
Популярный CSS фреймворк для создания адаптивных веб-сайтов
css_framework
Популярный CSS фреймворк для создания адаптивных веб-сайтов
css_framework