karim_iskakov | Для взрослых

Telegram-канал karim_iskakov - Karim Iskakov - канал

7551

Обо мне: karfly.github.io – @karfly

Подписаться на канал

Karim Iskakov - канал

Локализация – это боль. Но GPT-4 поможет

Еще когда мы делали Avatarify, я понял, что локализация приложения на N языков – это супер боль в попе 💩. Мы пользовались сервисом, куда ты закидываешь свой .strings файл, и носители языка руками (и глазами) переводят его.

Процесс был ужасно медленным (ждешь перевода несколько дней), да еще и дорогим (платишь за каждую строчку и язык). Но самое главное – локализация блочила релизы, т.к. на каждый чих в интерфейсе надо было делать перевод.

Долгое время в моем боте @chatgpt_karfly_bot (юзайте его, это самый удобный способ взаимодействия с ChatGPT/GPT-4!) было только 2 языка: 🇬🇧 Английский и 🇷🇺 Русский. Но стало приходить много юзеров с самых разных стран, и появился запрос на локализацию.

Как устроена локализация в боте
Если упрощать (без потери общности), то есть strings.yml, в котором содержатся все ui-строчки для разных языков. Для каждого юзера мы знаем его язык, и в боте отображаем ему строчки для этого языка.

Файл вида (yaml):

hello_message:
en: |-
Hello, {username}! How can I <b>help</b> you today?
ru: |-
Привет, {username}! Как я могу вам <b>помочь</b>?
...

Задача – научиться переводить такие файлы на все языки автоматически с помощью GPT-4. За основу я взял ноутбук, написанный Егором и допилил его.

Работает так:
1. На вход подаешь список желаемых языков (в моем случае 14 штук) и strings.yml
2. Код находит строчки, для которых нет перевода
3. И переводит их с помощью правильного промптинга GPT-4
4. Переведенные строчки дампятся обратно в strings.yml
5. Заходишь в merge editor в VS Code, проверяешь все глазами
6. git add/commit/push

Изначально в strings.yml было около 1 700 строк (английский и русский языки). После добавления еще 12 языков стало 10 000 строк! Если бы я руками это все переводил через DeepL, то процесс занял бы около 17 часов (и минус психика 😵‍💫).

*В комментах поделитесь, как вы решаете эту проблему у себя. Мне интересно узнать, какие сервисы, библиотеки и подходы вы используете для локализации!

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Сегодня в @chatgpt_karfly_bot число юзеров перевалило за 300K!

За все время в него прислали более 1.5M (!) сообщений. По отзывам многих пользователей наш бот самый удобный и быстрый в Телеграме. Но у меня есть идеи, как из бота сделать кое-что большое...

🧑🏼‍💻 Своих рук для этого уже не хватает, поэтому ищу крутого Python Backend разработчика.

Я ищу человека, который любит кодить, любит много кодить. Которого не надо микроменеджить, который любит брать ответственность. Который не просто имплеменит фичу, а глубоко понимает, почему и для кого он имплементит эту фичу. Который готов (и даже рад) сложным и амбициозным задачам.

– Что нужно точно уметь: хорошо кодить, asyncio, docker compose, работа с бд, rest api
– Что желательно уметь: python-telegram-bot, llm и все что с этим связано, ml/llm-ops

Мне навскидку кажется, что идеальный кандидат – это тот, кто сейчас работает в компании, но глобально хочет когда-то начать делать свой стартап. У нас можно будет посмотреть, как это происходит изнутри (как рождаются идеи, прототипируются/тестируются MVP и пр). Будем рады, если в итоге получится вместе работать не только над ботом, но и над нашими будущими проектами.

Условия:
– Part-time (20ч/нед)
– ЗП: $2-3K (обсуждаемо)
– Удаленка
– За успешную рекомендацию бонус 300$

Куда писать:
– В тг: @karfly
– Скидывайте CV, но лучше в нескольких предложениях написать про релевантные проекты, в которых участвовали, и что там делали (без булщита)

Читать полностью…

Karim Iskakov - канал

Как интерфейсы победили технологии

Думали ли вы о том, что ChatGPT стал такие популярным не благодаря технологическому скачку, а благодаря тому, что кто-то умный внутри OpenAI обернул модель в формат чата, с которым было очень легко взаимодействовать, без дополнительных окон или кнопок. Бум - и у тебя 100М пользователей за 2 месяца. При этом вы попадали туда сразу

Вроде бы мысль простая, но я хочу показать на примере двух продуктов, как это можно было понять или не понять:

1) Первый - наш обозреваемый OpenAssistant - коллаборативный проект, supervised fine-tune открытой языковой модели. Модель работает хорошо, они сделали ее сами, но есть нюанс.

На скриншоте я показал, что в интерфейсе есть лишний шаг, чтобы попасть в чат. При этом кнопка плохо ищется глазами. Если ты не технарь, половина кнопок тебе нафиг не нужна. В чате остановить генерацию нельзя. Комон - вы же можете просто скопировать интерфейс OpenAI. Один лишний шаг на этапе доступа к основной функции может сломать все конверсии.

2) Бот для перевода голосовых сообщений в текст. Тут достаточно просто попробовать. Я реально перешел из премиум функции Telegram к данному боту, так как можно пересылать откуда угодно сообщение, оно распознается лучше (спасибо Whisper), умеет делать суммари (и хорошо, хотя функция тоже простая), можно переслать файлы из WhatsApp (не пишите мне туда) и в боте удобно встроена оплата.

Вроде очень простая задача, но я тестировал кучу сервисов и тут ребята обернули чужие нейронки в удобную оболочку, и я уверен, что это будет иметь много лояльных пользователей.

В общем, техно-гикерство - это круто, но если вы хотите сделать массовый продукт, то надо думать про интерфейсы и пользовательский опыт. Иначе создать привычку у пользователей будет невозможно. Учимся на чужих ошибках.

@aihappens

Читать полностью…

Karim Iskakov - канал

🎤 RAP AI

Хочу вам показать, что мы делали последние несколько месяцев... и представляю новую фичу для Avatarify App – RAP AI:
1. Напиши имя
2. Загрузи фото
3. Опиши тему трека
- (чуть-чуть подожди) ... и получишь свой RAP клип!

Но лучше всего, просто посмотреть видео выше. Там Сэм Альтман (CEO OpenAI) залетает на бит и читает про 🤡 ну вы сами посмотрите!

Технически у нас вышел довольно тяжелый пайплайн:
1. Генерация текста песни и его парсинг (OpenAI)
2. Озвучивание текста и сведение голоса с битом (UberDuck)
3. Генерация поющей головы с четким липсинком на трек (Avatarify Backend)
4. Автомонтаж клипа с видео-вставками, эффектами и субтитрами
5. 2 клиентских приложения (iOS и Android)

Сильно усложняет то, что в пайплайне 2 внешних сервиса, и они регулярно падают. Эти отказы нам сильно режут рост (в следующий раз поделюсь, какие метрики показывает эта фича).

* Создать свой рэп-шедевр можно в Avatarify App: AppStore, PlayMarket

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Последние недели выдались очень плотными по работе. Очень скоро покажу вам 2 продукта, над которыми мы работаем последние 3 месяца.

А сейчас хочется сделать небольшой апдейт (похвастаться) про ChatGPT Телеграм бота:
1. Он теперь доступен всем без инвайтов: @chatgpt_karfly_bot

2. Прикрутил крипто/PayPal-платежи. На старте доступно 8K бесплатных токенов, а если их не хватает – можно докупить.

3. На гитхабе уже 1.2K звезд и 300 форков, а у бота 7.5K юзеров. На боте удалось даже заработать около 400$ (немного, но радует).

4. Теперь используется ChatGPT API, которое умеет нативно поддерживать контекст диалога. А еще оно в 10x дешевле и немного быстрее.

5. Добавил режим 📝 Text Improver. Присылаешь текст – получаешь в ответ его улучшенную версию и список исправлений

Философия. В очередной раз убеждаюсь, что очень сложно заранее предсказать, во что превратится проект. Я накекал код бота за пару дней, чтобы у меня и друзей был удобный доступ к ChatGPT, а он вон как вырос. Поэтому призываю всех (в первую очередь себя самого) – просто делать, делать, делать!

* По моим субъективным ощущениям новая модель gpt-3.5-turbo работает чуть хуже, чем text-devinci-003. А еще она более polite, и с ней сложнее пообщаться про письки и какашки. А вы что думаете про новую модель? (напишите в комменты)

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Привет! Это печатает Карим, создатель 📉 @loss_function_porn.

Как вы могли заметить, канал давно мертв (последний пост был аж в марте 2021). Мне и @vlivashkin в один момент просто надоело искать AI-вкусняшки и постить их. А еще в то время я ушел делать свой стартап и стало как-то совсем не до канала...

Но у меня есть много, о чем рассказать, но формат @loss_function_porn сильно ограничивает. Поэтому этот канал превращается в мой личный канал! (гений 🫡).

О чем примерно буду писать:
– О нашем успешном стартапе avatarify.ai, на котором мы заработали мульёны долларов. А еще о неуспешном, на который потратили почти год и получили чуть меньше нуля
– О проектах, которые делаю сейчас (вот-вот выйдут 2 новых продукта)
– О самом свежем AI и о том, как голый ресерч превращать в продукты
– дальше пока не придумал)))

Пожалуйста, ОТПИШИТЕСЬ (!), кому такое не интересно.
А кому интересно, жмите Unmute – буду постить редко, но смачно.

For English-speaking subscribers. From now on, @loss_function_porn becomes my personal channel. I will write about startups, AI, and life. I will write in Russian, so if that doesn't suit you, please unsubscribe.

📉 @loss_function_porn R.I.P.

Читать полностью…

Karim Iskakov - канал

Автоматический монтаж видео
Part 2 (первая часть тут)

Итак, спустя год после "проверки спроса" мы сделали работающий MVP.

🍬 Идея продукта
Провели касдевы и выявили несколько проблем в монтаже видео:
⤷ Сложно придумать идею монтажа
⤷ Сложно найти музыку
⤷ Проблема "белого листа"

Мы не питали иллюзий, что можно получить контент от юзера и сразу выдать ему идеально смонтированный ролик. Мы не можем залезть к юзеру в голову, да и технологий еще недостаточно.

Поэтому мы решили сделать не 🪄магическую палочку, а инструмент с вот таким флоу:

1. Юзер загружает свой контент
2. И
получает бесконечную ленту автоматически смонтированных видео под разную музыку

С таким флоу, юзер может за 10 минут 🕖 посмотреть кучу вариантов монтажей. Выбрать самый классый и минимально дотюнить его руками. Также это бьет по всем проблемам из касдевов.

Технология
Мы руками разметили 20+ треков. Каждый трек – это шаблон, в котором размечены переходы (чтобы идеально попадать в бит), тип контента, какой наложить эффект и пр.

Написали автоэдитор, который принимает контент и шаблон, и выдает смонтированное видео. Использовали всякие умные эвристики и рендерили с помощью ffmpeg.

Также сделали "рекомендательную систему", которая ранжировала шаблоны, исходя из входного контента. Например, если скинули мало видосов, то мы сначала покажем юзеру короткие шаблоны.

Реализовали в виде Телеграм-бота

📊 Результаты

Сухая статистика (на данный момент):
5K юзеров
40K созданных видео
30+ купленных подписок (монетизацию включили только в феврале)

Однако нас не удовлетворил ретеншен, конверсия в подписку, а также появились сильные конкуренты: Reels-шаблоны в Инстаграме и автомонтаж в CapCut (TikTok).

Поэтому данный продукт мы поставили на паузу. Может быть в скором будущем возродим его и сделаем еще одну итерацию!

* Прикрепленное видео сделано с помощью нашего бота.

Попробуйте сами: 🎬 Magic Clip Bot

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Автоматический монтаж видео
Part 1

2 года назад мы с ребятами гоняли на эндуро-мотиках в горах Дагестана. Наснимали кучу видосов с дрона, GoPro, айфонов. Я сел их монтировать и в очередной раз охуел от того, сколько времени занимает монтаж.

В голове в который раз загорелась 💡 мысль – надо делать автоматический монтаж видео!

Для начала мы решили проверить спрос (написав 0 строчек кода):
🛑 Завели телеграм-бота, которому можно было скидывать видео/фото
🛑 Бот был фейком, он просто отвечал заглушкой вида "Извините, бот перегружен" (юзеры, простите стартаперов 🥲)
🛑 Записали тикток с рекламой этого бота
🛑 Тикток залетел в рекомендации (~500K просмотров и ~60K лайков)
🛑 Юзеры скинули в фейкового бота >200K (!) своих видео/фото

Все конверсии и другие показатели выглядели очень приятно 🥑, но в то время мы занимались разработкой другого приложения. Да и тогда не очень понимали, как технически сделать хороший автомонтаж. Поэтому реализацию отложили на потом.

Спустя год мы вернулись к этой идее и сделали MVP – 🎬 Magic Clip Bot... (про это расскажу в сл. серии)

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Мы все не любим голосовые сообщения!

Команда Телеграма это понимает и в Premium подписке предлагает фичу для их распознавания. Но у них распознавание работает очень медленно (порой дольше, чем длительность самого аудио), да еще и хуево плохо.

Мы сделали бота, который переводит голосовые сообщения в текст!
Он в ⚡ 3 раза быстрее Телеграм Premium и сильно лучше распознает слова (там whisper под капотом).

А еще он:
– Автоматически пишет краткое содержание голосового сообщения (хз, как я раньше жил без этой фичи)
– Форматирует сообщение по абзацам с таймкодами
– Распознает кругляшки и видео/аудио-файлы
Ну и главная фича: можно переслать войс из WhatApp'a (выбрать сообщение -> переслать -> поделиться в Телеграм)!

*На видео демо бота. Там я ему пересылаю голосовуху, в которой озвучил текст этого поста

Ждем вашего фидбека в комментариях! Также в комменты положу ссылку на GitHub с полезным репозиторием.

Затестить бота можно по ссылке:
🎙Voice Messages Bot

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

AI-generated вДудь
Вчера Даня попросил меня снять несколько видосов, как я что-то (типа) говорю на камеру, но с закрытым ртом. А сегодня прислал интервью со мной 🤯

Пайплайн следующий:
1. Берешь последний пост с канала, засовываешь в ChatGPT и получаешь готовый текстовый сценарий интервью по ролям

2. Озвучиваешь с помощью любой text2speech-модели и делаешь липсинк с Wav2Lip (имея шаблонные видео человека с закрытым ртом)

3. Далее все это монтируешь в видосик, накладываешь музыку и ГОТОВО

Впечатляет, что это все полностью автоматизированно. Нажимаешь кнопку – получаешь готовое видео.

☝️ Пишите в комменты темы для интервью. Даня обещал на самый залайканной коммент сгенерировать еще одно видео с нами.

С вами был предприниматель и стартапЁр Карим Искаков, всего хорошего!

🎒 @karim_iskakov

Читать полностью…

Karim Iskakov - канал

Как сделать свой ChatGPT
Думаю все (или абсолютное большинство), кто это читает, уже попробовали ChatGPT. Я лично пользуюсь им почти каждый день и чувствую пользу и деградацию.

Но в один момент там появились конские лимиты сообщений, типа 2 сообщения в час. Потом адские задержки. Потом меня там вообще забанили. Да и вообще, чаты в веб-интерфейсе – это кусок 💩

И я сделал свой удобный ChatGPT в телеграме! Притворяться браузером и делать запросы в их интерфейс – не вариант (лимиты, да и бан никто не отменял). Поэтому я решил построить ChatGPT на основе ее базовой модели – GPT-3, благо у нее есть API.

Немного ликбеза. GPT-3 – это большая языковая модель (LLM), которая умеет только одно: принимать на вход текст и писать к нему продолжение. ChatGPT в свою очередь построен на базе GPT-3, но он еще умеет поддерживать контекст в чате, что является game changer'ом 🏆 (бешеный хайп на ChatGPT подтверждает это, ведь до него, GPT-3 была уже доступна около года, но всем было пох).

Получается, задача сводится к тому, чтобы научить GPT-3 поддерживать контекст. А сделать это очень просто с правильным промптом. Например, таким:


As an advanced chatbot named ChatGPT, your primary goal is to assist users to the best of your ability. This may involve answering questions, providing helpful information, or completing tasks based on user input.

User: What is the meaning of the Nero Burning ROM logo?
ChatGPT:


Далее засовываем это в API в GPT-3 и получаем ответ. Сохраняя вопросы-ответы, мы можем каждый раз вставлять историю диалога в наш промпт, и так GPT-3 будет знать весь контекст. Это работает очень хорошо и почти неотличимо от ChatGPT.

Внизу поделюсь ссылкой на свой репозиторий с телеграм ботом, куда вы сможете вставить OpenAI API ключ и наслаждаться общением с AI в уютном телеграмчике. А первым 10 комметаторам дам доступ в свой поднятный бот (только не обанкротьте меня там, плз 🥲).

P.S.: Если душнить, то ChatGPT в отличии от GPT-3 была дополнительно зафайнтьюнина на диалоговых данных + дообучена на ответах кенийских рабочих за 2$/час разметчиков с помощью RLHF. Но мои тесты показали, что похоже это все нацелено не на улучшение качества и полезности ответов, а на то, чтобы в OpenAI не подали в суд (за то, что их модель с удовольствием рассказывает людям как угнать машину).

*Еще в комменты закину несколько приколюх

🔗 ChatGPT Telegram Bot (GitHub)
🎒 @karim_iskakov

Читать полностью…
Подписаться на канал