
Короткая версия:
Я добавил Chrome extension, которое позволяет по тексту и по картинкам в интернете искать похожие в базе данных на Ternaus.com.
То есть мы кликнули на картинку со скалолазом на Pinterest и получили в ответ:

Длинная версия:
В прошлом блог посте я упоминал, что планирую добавить Chrome Extension, которое позволить в пару кликов мышки производить поиск на Ternaus.com.
Идея вот в чем.
Сходу в голову приходят три сервиса у которых реализован поиск по сгенерированным картинкам:
Во всех трех сильные технические команды и как миним две подняли seed round’ы по несколько миллионов баксов. Так что с людскими и финансовыми ресурсами у ребят все нормально.
У них, да и у меня, картинки из одного источника, модель, которая извлекает эмбединги тоже примерно одна (CLIP). То есть поисковая компонента у всех четырех (я и эти три команды) одинаковая.
Кроме поиска у ребят хватает дополнительного функционала, например генерация новых изображений.
Я думал добавить генерацию, но по всему выходит, что для этого надо поднять бюджет на сервер с GPU с $150 в месяц до $300. Деньги небольшие, но жаба пока душит.
Раз с функциональностью особо не поконкурировать, то можно поиграть в новые каналы доставки на сайт.
И тут мне пришла идея сделать Chrome Extension.
Время от времени я использую Google Image Search extension, что позволяет искать картинки похожие на исходную в базе данных Google.
То есть после установки extension’а, вы можете кликнуть правой кнопкой мышки на картинку, выбрать “Search Google With this image” и перейти на страницу с результатами поиска.
Пользователям удобно, а Google переводит пользователей с чужих сайтов на свой.
Насколько эффективен такой канал доставки сказать сложно, но попробовать хотелось.
Chrome Extension’ы я еще не делал, а тут, даже если не полетит, добавится еще один навык в копилку технических навыков.
Чтобы все заработало нужно сделать две вещи:
Первая: добавить возможность делать поиск по query в URL.
То есть, чтобы результаты получались не только от того, что ты тыкаешь в кнопки на сайте, а в более автоматическом режиме — заходишь на правильный URL, получаешь результат.
Теперь при заходе на URL’ы:
Вы переходите на результат соответствующего поиска.
Вторая: собстсвенно сам extension.
На эту тему у Google замечательная документация и примеры, так что оказалось проще, чем я подозревал. Кода тоже немного, всего 36 строчек.
{ "manifest_version": 3, "name": "Image Search on Ternaus.com", "description": "Searches for images that are similar to the selected text", "icons": { "16": "images/icon-16.png", "32": "images/icon-32.png", "48": "images/icon-48.png", "64": "images/icon-64.png", "128": "images/icon-128.png" }, "version": "0.0.0.2", "background": { "service_worker": "background.js" }, "permissions": ["contextMenus"] }
chrome.contextMenus.create({ id: "ternaus", title: "Search on Ternaus", contexts: ["selection", "image"] }); chrome.contextMenus.onClicked.addListener( (clickData) => { if (clickData.selectionText) { chrome.tabs.create({ url: `https://ternaus.com/search/?text=${clickData.selectionText}`, active: true }); } else if (clickData.srcUrl) { chrome.tabs.create({ url: `https://ternaus.com/search/?url=${clickData.srcUrl}`, active: true }); } });
Насколько полетит — непонятно. В вебе не так много людей пользуется Chrome Extension’ами, которые не AdBlock. На мобилах тоже не работает.
Следующий шаг — сделать Telegram бота. Тоже никогда ничего похожего не писал, так что тоже хорошее упражнение.
Тем, кто ищет картинки в интернете, можете попровать мой extension. Все картинки, которые вы получите в результате поиска на ternaus.com можно использовать в любых коммерческих целях.
Ищите и пользуйтесь.
ссылка на оригинал статьи https://habr.com/ru/post/702158/
Добавить комментарий