Эталонный "AI-powered" проект
Ковыряя Github в поисках новинок по теме нейросетей, ML и AI, наткнулся на нечто совершенно прекрасное и удивительное — по-настоящему эталонный AI проект 21 века!
Вот оно будущее, которое мы все заслужили.
Если вы занимаетесь нейросетями и пробовали что-то делать с изображениями, должны были заметить, что доступными и открытыми средствами получается обычно что-то вроде такого:
Плюс-минус, даже долго играясь с настройками и ручной тренировкой будет все равно получаться некоторое говно:
Но никакими изгалятельствами над открытой нейронкой и на открытых данных ничего даже близко похожего сотворить не получится:
Ну ладно, скорее всего вы уже давно читаете этот блог и в курсе что автор давно ни во что не верит, тем более в AI, современные проекты и проклятых зумеров, поэтому уже подозреваете что тут тоже что-то явно не так.
Замечательное и лаконичное описание:
У проекта аж 46 звезд и 6 форков — народу явно интересно, хотя набор технологий несколько смущает:
Отличный, можно сказать эталонный проект для рекрутеров, которые ныне вынуждены шерстить еще и все открытые репозитории кандидатов, помимо ключевых слов в резюме.
Уверяю, что с таким проектом реально заскочить даже в очень крутую компанию, как минимум до первого собеседования.
Настоящих, а не вымышленных «Экспертов по AI» в пределах планеты — по пальцам одной руки, тем более их исчезающе мало в пределах РФ.
Но увы, сей прискорбный факт тяжело осознаваем, особенно если сверху поставили задачу «найтитъ любой ценой».
Так что этот проект стоит взять в качестве шаблона всем «шерстистым обитателям леса», которые любят любой ценой заскакивать в несколько ИТ-компаний на дорогие должности и затем имитировать бурную деятельность пока не уволят.
Ладно, я достаточно уже вас заинтересовал, так что смотрим внимательно в чем на#б.
Фактически весь код проекта находится в одном файле utils/generator.ts.
В самом начале объявлены очень интересные константы:
const OPEN_AI_SYSTEM_PROMPT = `You are an expert image analyst. You can extract accurate information from an image. Your Job is to accept an image which can be a photo of a human and respond with as much details as you can. Give additional details about facial expression, shape of specs if person has wore specs, pose of the person, hair style, type and color of outfit, hand expression, type of beard person has if one has, details about facial anatomy, color of skin, camera angle, how much of a person is visible` const OPENAI_USER_PROMPT = 'Here is an image. Analyze carefully and give me the details'
Это не что иное как промпт — специальным образом заданный текст запроса к AI-сервису, используемый для настройки выдачи результата.
А вот так выглядит сам запрос к широко известному OpenAI ChatGPT, который собственно и осуществляет саму генерацию картинки:
async function generateImage(prompt: string) { const imageGenerationResponse = await fetch('https://api.openai.com/v1/images/generations', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKeyRef.value}` }, body: JSON.stringify({ 'model': 'dall-e-3', 'prompt': prompt, "n": 1, "size": "1024x1024", }) })
все что делает этот «замечательный и уникальный AI-powered проект» — отправка двух предложений на английском и загруженной картинки на сервер ChatGPT.
При этом в проекте есть и клиент и сервер, с двумя вариантами развертывания — dev и production, еще и современный веб-интерфейс на Vue и Tailwind.
Внешне это выглядит как отличный современный и высокотехнологичный проект, а осознать реальность получится только имея определенные навыки в разработке и потратив время на ковыряние в коде.
Резюмируя
Наверное есть причина, по которой термином уходящего 2024го года стал brain rot — «гниль мозга» и разумеется мне вас не переубедить что 99% проектов по теме AI это на#балово в том или ином виде.
Но не знаю, хотя-бы матчасть проверяйте прежде чем нанимать в штат очередного «шерстяного волчару».
Понятно что тема с AI хайповая и все просто получают свои бонусы, но рано или поздно ведь этот цирк закончится и придется-таки отвечать за результат чужих больных фантазий.
Хотя кого я обманываю, с такими заказчиками только такие проекты и будут: