Задача
На проекте с большим каталогом мототоваров (десятки тысяч позиций) требовалось реализовать интеллектуальный поиск, который:
– Понимает смысловые запросы, включая модели, годы выпуска и детали,
– Учитывает неточные формулировки, транслитерацию, синонимы и обрывки описания,
– Возвращает релевантные товары даже при отсутствии точного совпадения,
– Работает быстро, масштабируется и легко обновляется.
Интеграция GPT и Meilisearch
GPT анализирует исходный запрос: определяет модель мотоцикла, год, тип детали и ключевые параметры.
Например, из фразы «поршень на KTM EXC 300 2022» извлекаются OEM-код, тип двигателя и объём.
На основе этих данных формируется уточнённый запрос к Meilisearch.
Контекстный поиск
Meilisearch выполняет быстрый поиск по названию, описанию, бренду, артикулу и тегам.
Результаты обогащаются дополнительными данными — ценой, остатками, рекомендациями.
Это обеспечивает мгновенный отклик даже при неточном вводе.
Технологии
- OpenAI GPT-4 — анализ и уточнение запросов.
- Meilisearch — быстрый полнотекстовый поиск.
- PostgreSQL — хранение товарных данных и метаданных.
- Python + FastAPI — серверная логика и API.
- Telegram Bot API — интерактивный диалог с пользователями.
- Кастомные шаблоны и fallback-логика — формирование ответов и подмена результатов.