Для автоматизации поиска объявлений о пропавших и найденных домашних животных был создан пет-проект. Первоначально скрипт репостил объявления из VK в Telegram-канал. Позже к нему добавилась обработка сообщений из Telegram. Для фильтрации релевантных постов используется LLM, которая извлекает из текста объявления важные признаки в формате JSON. Эти признаки включают тип животного, породу, имя, местоположение, контакты и оценку релевантности объявления теме поиска.
Для выбора подходящей модели LLM проводилось тестирование различных вариантов, включая отечественные и зарубежные модели, а также опенсорсные. Было установлено, что Google Gemini 1.5 Flash обеспечивает оптимальное соотношение цены и качества для данной задачи. Полученные от LLM данные используются как входные признаки для обучения классической модели машинного обучения, в частности, Random Forest. Данная модель классифицирует сообщения на релевантные и нерелевантные, на основании этих признаков. Этот этап позволяет отсеять спам и нецелевые объявления.
Для предотвращения повторной публикации дубликатов объявлений используется алгоритм кластеризации. В результате, публикация объявлений автоматизирована и оптимизирована. Сейчас проект агрегирует сообщения из разных источников, выявляет важные признаки, отсеивает лишнее, кластеризует и публикует только релевантные объявления. В дальнейшем планируется разработка интерактивной карты с объявлениями и внедрение поиска по изображениям. Были отмечены некоторые технические нюансы при интеграции, такие как верификация JSON, необходимость использования GPU для LLM, экранирование символов, и оптимизация запросов к БД.
Изображение носит иллюстративный характер
Для выбора подходящей модели LLM проводилось тестирование различных вариантов, включая отечественные и зарубежные модели, а также опенсорсные. Было установлено, что Google Gemini 1.5 Flash обеспечивает оптимальное соотношение цены и качества для данной задачи. Полученные от LLM данные используются как входные признаки для обучения классической модели машинного обучения, в частности, Random Forest. Данная модель классифицирует сообщения на релевантные и нерелевантные, на основании этих признаков. Этот этап позволяет отсеять спам и нецелевые объявления.
Для предотвращения повторной публикации дубликатов объявлений используется алгоритм кластеризации. В результате, публикация объявлений автоматизирована и оптимизирована. Сейчас проект агрегирует сообщения из разных источников, выявляет важные признаки, отсеивает лишнее, кластеризует и публикует только релевантные объявления. В дальнейшем планируется разработка интерактивной карты с объявлениями и внедрение поиска по изображениям. Были отмечены некоторые технические нюансы при интеграции, такие как верификация JSON, необходимость использования GPU для LLM, экранирование символов, и оптимизация запросов к БД.