Ось я переписав все на плюсах щоб з'ясувати, що витік пам'яті був не у моєму коді і не у прослойці між Java та C, а у бібліотеці яку я використовую під капотом для кросплатформенного рендерингу, лол. Виявилось, що проблема пов'язана з апаратним зглажуванням, тому поки шо я його відключив. Можливо доречі це проблема конкретної платформи або рендеринг бекенду (в мене на ноуті це macOS та Metal).
Це добрі новини, бо тепер я можу повернутись до Clojure, хоча було цікаво вперше написати щось "реальне" на плюсах. Очікувано той самий код на плюсах стартує десь півсекунди, коли JVM розганяється секунди 3-4. Але я поки що неготовий жертвувати продуктивністю заради швидкості. Чого тільки коштувало зібрати усі бібліотеки до купи та налаштувати білд, мені менше нервів зробив конфіг Webpack ніж cmake. Хоча от для VS Code є розширення CMake Tools, воно прям добре працює. Чого не скажеш про IntelliSense для C/C++, він нерідко тормозить і видає автодоповнення з затримкою у декілька секунд.
Повернувшись до початкового проєкту я додав базову аудіо систему за допомогою OpenAL. Взагалі мені як веб розробнику достатньо цікаво подивитись як оці усі штуки зроблені "під капотом". Бо працюючи з браузером я по факту пишу код для системи, де усі базові компоненти вже інтегровані і готові до використання. Саме тому доречі частково Electron/Chromium так багато і важить, бо там вже все є, для всіх платформ і зверху (чи знизу) помазано роками легасі.
Далі я почав працювати над тим, що називається instanced rendering — це коли один об'єкт можна відрендирити мільйон разів на екрані і нічо не буде тормозити, бо більшість роботи виконує GPU, по суті ця техніка знімає оверхед на коммунікацію з CPU. Найросповсюдженіший приклад застосування instanced rendering — системи частинок, тобто візуальні ефекти (дим, іскри, тощо). Також незабаром планую довести до нормального стану UI систему, бо зараз там нахачено з усіх боків.
Найголовніше, зробив собі борду щоб було подорослому.
Це добрі новини, бо тепер я можу повернутись до Clojure, хоча було цікаво вперше написати щось "реальне" на плюсах. Очікувано той самий код на плюсах стартує десь півсекунди, коли JVM розганяється секунди 3-4. Але я поки що неготовий жертвувати продуктивністю заради швидкості. Чого тільки коштувало зібрати усі бібліотеки до купи та налаштувати білд, мені менше нервів зробив конфіг Webpack ніж cmake. Хоча от для VS Code є розширення CMake Tools, воно прям добре працює. Чого не скажеш про IntelliSense для C/C++, він нерідко тормозить і видає автодоповнення з затримкою у декілька секунд.
Повернувшись до початкового проєкту я додав базову аудіо систему за допомогою OpenAL. Взагалі мені як веб розробнику достатньо цікаво подивитись як оці усі штуки зроблені "під капотом". Бо працюючи з браузером я по факту пишу код для системи, де усі базові компоненти вже інтегровані і готові до використання. Саме тому доречі частково Electron/Chromium так багато і важить, бо там вже все є, для всіх платформ і зверху (чи знизу) помазано роками легасі.
Далі я почав працювати над тим, що називається instanced rendering — це коли один об'єкт можна відрендирити мільйон разів на екрані і нічо не буде тормозити, бо більшість роботи виконує GPU, по суті ця техніка знімає оверхед на коммунікацію з CPU. Найросповсюдженіший приклад застосування instanced rendering — системи частинок, тобто візуальні ефекти (дим, іскри, тощо). Також незабаром планую довести до нормального стану UI систему, бо зараз там нахачено з усіх боків.
Найголовніше, зробив собі борду щоб було подорослому.
👍6🤯1
Пограв пару годин в “Hi-Fi Rush”, дуже сподобався візуальний стиль у грі, у поєднанні з музикою під яку рухається увесь світ навколо і сам персонаж. Виглядає як мікс американських коміксів та японського аніме, бойова складова нагадує Devil May Cry. Кльова динамічна гра, рекомендую 👌
🔥3
Може ви вже бачили черговий срач за участі автора бібліотеки core-js. Колись вже про нього шуміло, коли він збив на смерть людину і сів за грати.
Як з людиною з цим чуваком все зрозуміло, судячи з його відгуків про людину яку він вбив, з тексту судового рішення та його позиції щодо війни.
Мені також було цікаво прочитати його ниття на рахунок опенсорсу, бо це показовий кейс. Хлопець пілить ту бібліотеку десь 10 років, видно що вклався в неї морально і фізично, жаліється що отримує хейт в коменти по різним фічам, і більш за все поносить увесь світ за те що йому нічого не платять за його роботу.
Як на мене, то його проблема полягає саме в романтизації опен сорсу. Дійсно прикольно щось робити відкрито і бути частиною чогось більшого. Але також вкрай наївно чекати, що тобі будуть платити за продукт, який ти не продаєш.
Опенсорс хєрово монетизується, якщо єдиний твій товар — це сам опенсорс. Тобто, навіщо комусь платити за те, що він і так робить?
Зрозуміло, що я і ви як людина, як окрема одиниця проецює його трагедію на себе і думає що ну дійсно несправедливо. І можливо насправді він зміг би заробляти з індивідуальних донатів, але для цього треба продавати продукт, і не бути мудаком.
Нормальні гроші можна підняти з компаній. А от бізнесу вже до сраки трагедія індивіда, бо там основний ресурс — гроші, а не емпатія до людини.
З іншого боку, скоріш за все, ця бібліотека і не злетіла б, якби він з першого дня поставив її за пейвол. Тому можливо можна було б піти шляхом розвитку ком'юніті, набирати аудиторію та монетизуватися донатами. Але знов ж таки: для цього треба робити більше, ніж мейнтейнити продукт (і не бути мудаком).
Коротче, мій посил у тому, що у будь-якій моделі потенційного заробітку треба робити більше, ніж мати тільки сам продукт власної праці. Бо тих продуктів на розкладці дохєра, але з усих що мене влаштовують я оберу той, який мені краще продадуть.
Насправді судячи з його історії проблема саме в тому, що в житті сталася пизда і треба багато грошей, і от його безоплатна відданість опенсорсу гарно лягла на реальність і вийшло розчарування.
Я не додаю посилання, бо цю історію і додаткові матеріали легко нагуглити.
Як з людиною з цим чуваком все зрозуміло, судячи з його відгуків про людину яку він вбив, з тексту судового рішення та його позиції щодо війни.
Мені також було цікаво прочитати його ниття на рахунок опенсорсу, бо це показовий кейс. Хлопець пілить ту бібліотеку десь 10 років, видно що вклався в неї морально і фізично, жаліється що отримує хейт в коменти по різним фічам, і більш за все поносить увесь світ за те що йому нічого не платять за його роботу.
Як на мене, то його проблема полягає саме в романтизації опен сорсу. Дійсно прикольно щось робити відкрито і бути частиною чогось більшого. Але також вкрай наївно чекати, що тобі будуть платити за продукт, який ти не продаєш.
Опенсорс хєрово монетизується, якщо єдиний твій товар — це сам опенсорс. Тобто, навіщо комусь платити за те, що він і так робить?
Зрозуміло, що я і ви як людина, як окрема одиниця проецює його трагедію на себе і думає що ну дійсно несправедливо. І можливо насправді він зміг би заробляти з індивідуальних донатів, але для цього треба продавати продукт, і не бути мудаком.
Нормальні гроші можна підняти з компаній. А от бізнесу вже до сраки трагедія індивіда, бо там основний ресурс — гроші, а не емпатія до людини.
З іншого боку, скоріш за все, ця бібліотека і не злетіла б, якби він з першого дня поставив її за пейвол. Тому можливо можна було б піти шляхом розвитку ком'юніті, набирати аудиторію та монетизуватися донатами. Але знов ж таки: для цього треба робити більше, ніж мейнтейнити продукт (і не бути мудаком).
Коротче, мій посил у тому, що у будь-якій моделі потенційного заробітку треба робити більше, ніж мати тільки сам продукт власної праці. Бо тих продуктів на розкладці дохєра, але з усих що мене влаштовують я оберу той, який мені краще продадуть.
Насправді судячи з його історії проблема саме в тому, що в житті сталася пизда і треба багато грошей, і от його безоплатна відданість опенсорсу гарно лягла на реальність і вийшло розчарування.
Я не додаю посилання, бо цю історію і додаткові матеріали легко нагуглити.
👍7😁1
Поки в нас на роботі йде AI хакатон, а я трохи прихворів, то вирішив погратися з Stable Diffusion, бо до цього пробував тільки Midjourney.
Зробив собі локальний сетап через webui. На вінді прям топ, воно само все сетапить практично в один клік. Потім накачав собі моделей і сидів день роздупляв як правильно писати запроси, поняв що означає бути «prompt engineer».
Вцілому прикольно, особливо з controlnet щоб «направляти» генерацію зображення. Але якогось цікавого профіту окрім «прикольно потикати» я поки що не побачив.
Є от відео редактор Runaway, але я думаю там під капотом все набагато простіше і передбачуваніше.
Прикріпляю пару фото та відео експериментів з controlnet (більше в коментарях під постом)
Зробив собі локальний сетап через webui. На вінді прям топ, воно само все сетапить практично в один клік. Потім накачав собі моделей і сидів день роздупляв як правильно писати запроси, поняв що означає бути «prompt engineer».
Вцілому прикольно, особливо з controlnet щоб «направляти» генерацію зображення. Але якогось цікавого профіту окрім «прикольно потикати» я поки що не побачив.
Є от відео редактор Runaway, але я думаю там під капотом все набагато простіше і передбачуваніше.
Прикріпляю пару фото та відео експериментів з controlnet (більше в коментарях під постом)
👍1
Розкажу ще трохи про експерименти з ШІ на роботі.
Нещодавно OpenAI зробили публічною апішку до моделі gpt-3.5-turbo, це та що інтегрована у ChatGPT. Вона дешевша і типу більш продвинутіша.
Я погрався з нею, підключив у Pitch і замінив наше quick menu з командами на один інпут, який приймає будь-який текст, додає до нього додаткові інструкції та структури даних і відправляє це все до OpenAI (демо відео отут).
Працює офігенно, особливо вражає, коли просиш шось зробити, але не прямими командами типу «зроби мені презентацію з шаблону для мітингу», а більш абстрактно «у мене скоро мітинг з босом, треба розказати про продажі цього місяця». Воно це все інтерпретує маючи вхідні дані і видає мені список шаблонів які підходять під запит користувача, з яких вже можна створити презентацію.
Незначна проблема моделі gpt-3.5-turbo полягає у тому, що ШІ заточений під розмову у стилі чату, тому його треба вчити відповідати чітко, без додаткових фраз типу «так, звичайно, я знаю що це…»
Але найбільша проблема — це stateless сервер, сам ШІ не запам’ятовує контекст розмови, тому йому треба кожного разу відправляти усю інфу. З огляду на те що ця модель дуже дешева у використанні, воно все одно буде дорого у такому сетапі. Ну і звичайно що гігабайти даних йому відправляти ніхто не буде.
Тому я відкрив для себе світ векторних баз даних. Через апі OpenAI текст перетворюється у вектор чисел (embedding) які зберігаються у базі (наприклад Pinecone чи Postgres), наприклад уся ваша робоча документація. Тоді при пошуку ваш запит також перетворюється у вектор, по ньому знаходяться релевантні частини документації у базі і вже тоді питання разом з контекстом відправляються до OpenAI і gpt-3.5-turbo видає вам гарно оформлену відповідь базуючись на запитанні та тексту документації.
Особливо крутий результат виходить на векторизованих зображеннях. Коротко: з’являється можливість текстом шукати зображення по вмісту самих зображень. Шось типу «дай мені картинку з котом який їсть рибу», або навіть можна дати йому фото картини і поставити якесь філософське питання. Перше враження наче це якась магія. Також можна векторизувати та шукати по аудіо контенту. Ну і якщо є зображення, то можна робити базу для відео (по кадрам).
Нещодавно OpenAI зробили публічною апішку до моделі gpt-3.5-turbo, це та що інтегрована у ChatGPT. Вона дешевша і типу більш продвинутіша.
Я погрався з нею, підключив у Pitch і замінив наше quick menu з командами на один інпут, який приймає будь-який текст, додає до нього додаткові інструкції та структури даних і відправляє це все до OpenAI (демо відео отут).
Працює офігенно, особливо вражає, коли просиш шось зробити, але не прямими командами типу «зроби мені презентацію з шаблону для мітингу», а більш абстрактно «у мене скоро мітинг з босом, треба розказати про продажі цього місяця». Воно це все інтерпретує маючи вхідні дані і видає мені список шаблонів які підходять під запит користувача, з яких вже можна створити презентацію.
Незначна проблема моделі gpt-3.5-turbo полягає у тому, що ШІ заточений під розмову у стилі чату, тому його треба вчити відповідати чітко, без додаткових фраз типу «так, звичайно, я знаю що це…»
Але найбільша проблема — це stateless сервер, сам ШІ не запам’ятовує контекст розмови, тому йому треба кожного разу відправляти усю інфу. З огляду на те що ця модель дуже дешева у використанні, воно все одно буде дорого у такому сетапі. Ну і звичайно що гігабайти даних йому відправляти ніхто не буде.
Тому я відкрив для себе світ векторних баз даних. Через апі OpenAI текст перетворюється у вектор чисел (embedding) які зберігаються у базі (наприклад Pinecone чи Postgres), наприклад уся ваша робоча документація. Тоді при пошуку ваш запит також перетворюється у вектор, по ньому знаходяться релевантні частини документації у базі і вже тоді питання разом з контекстом відправляються до OpenAI і gpt-3.5-turbo видає вам гарно оформлену відповідь базуючись на запитанні та тексту документації.
Особливо крутий результат виходить на векторизованих зображеннях. Коротко: з’являється можливість текстом шукати зображення по вмісту самих зображень. Шось типу «дай мені картинку з котом який їсть рибу», або навіть можна дати йому фото картини і поставити якесь філософське питання. Перше враження наче це якась магія. Також можна векторизувати та шукати по аудіо контенту. Ну і якщо є зображення, то можна робити базу для відео (по кадрам).
🔥10
Назбиралось трохи цікавих ресурсів та тулів по ШІ, ділюсь з вами списочком.
В мережу злили фейсбучну модель llama, хакери оптимізували її під процесори Apple і тепер їх можна ганяти локально. Найменша модель 7B на моєму M1 Pro 16GB видає 5 токенів у секунду, правда вона тупенька. 30B з’їдає до 30гб оперативки і видає один токен за 2хв. Хтось вже підняв найменшу модель на Raspberry PI та Pixel 6. Коротше ШІ зараз летить швидше ніж у фронтенді виходять нові фреймворки, скоро воно буде в холодильниках, цікаво спостерігати за розвитком https://github.com/ggerganov/llama.cpp
LangChain — абстракція поверх LLM та векторних баз даних, по суті дає загальний інтерфейс для композиції моделей, баз та зовнішніх сервісів як кубиків лего https://langchain.readthedocs.io/en/latest/
Я думаю що оцей пошуковий ШІ для девелоперів https://www.phind.com/ побудований якраз на LangChain, бо він комбінує у собі щось типу ChatGPT та Google і інші сайти як джерела даних. Я десь вже тиждень користуюсь Phind і поки цілком задоволений, результат точно кращий ніж гугл.
З’явилась open source альтернатива ghatgpt https://twitter.com/itakgol/status/1634590622286741504
Стаття про швидкий розвиток LLM https://simonwillison.net/2023/Mar/11/llama/, буквально кожного дня з’являється щось нове
По StableDiffusion теж є новини, більше про стабілізацію картинки при генерації кадрів для відео https://xanthius.itch.io/multi-frame-rendering-for-stablediffusion
В мережу злили фейсбучну модель llama, хакери оптимізували її під процесори Apple і тепер їх можна ганяти локально. Найменша модель 7B на моєму M1 Pro 16GB видає 5 токенів у секунду, правда вона тупенька. 30B з’їдає до 30гб оперативки і видає один токен за 2хв. Хтось вже підняв найменшу модель на Raspberry PI та Pixel 6. Коротше ШІ зараз летить швидше ніж у фронтенді виходять нові фреймворки, скоро воно буде в холодильниках, цікаво спостерігати за розвитком https://github.com/ggerganov/llama.cpp
LangChain — абстракція поверх LLM та векторних баз даних, по суті дає загальний інтерфейс для композиції моделей, баз та зовнішніх сервісів як кубиків лего https://langchain.readthedocs.io/en/latest/
Я думаю що оцей пошуковий ШІ для девелоперів https://www.phind.com/ побудований якраз на LangChain, бо він комбінує у собі щось типу ChatGPT та Google і інші сайти як джерела даних. Я десь вже тиждень користуюсь Phind і поки цілком задоволений, результат точно кращий ніж гугл.
З’явилась open source альтернатива ghatgpt https://twitter.com/itakgol/status/1634590622286741504
Стаття про швидкий розвиток LLM https://simonwillison.net/2023/Mar/11/llama/, буквально кожного дня з’являється щось нове
По StableDiffusion теж є новини, більше про стабілізацію картинки при генерації кадрів для відео https://xanthius.itch.io/multi-frame-rendering-for-stablediffusion
👍3
Ну шо, вже поганяли gpt4? Я посидів трохи з ним вчора і сьогодні. Можу сказати, що з першого погляду модель дійсно «розумніша» за gpt3.
Сьогодні відтестували на генерації фільтрів для ffmpeg, бо в них там свій dsl для опису фільтрів і gpt3 зазвичай фейлив правильно описати трансформацію.
Ще воно добре розуміє контекст, сирі данні і може видавати цікаву аналітику та поради.
Наприклад я залив у нього вектор транзакцій які записуються під час роботи над презентацією в Pitch і попросив описати що робив користувач, хто ця людина і як ШІ може домогти йому зі створенням презентації.
gpt правильно описав що користувач створив текст, перетягнув його, додав зображення і збільшив його. Сказав що людина може бути дизайнером і порекомендував додати автокомпліт, автолейаут та контекстний пошук зображень.
Тепер уявіть що можна дізнатись про свій продукт, якщо проаналізувати більше таких юзерфлоу.
Ще з ним цікаво і водночас дивно писати код, бо виходить так, що я як людина стаю компом, який отримує код від ШІ який вдає з себе людину, інтерпретую його у себе на компі і віддаю ШІ помилки щоб він їх пофіксив.
Так я за годину написав веб апку на реакті і ноді яка з зображень та тексту генерує відео для сторіс в інсту. 99% коду написано ШІ. Думаю це топ для чорнового коду під прототип.
Ще кльовий юзкейс — це питати у gpt як можна вдосконалити продукт. Наприклад я спитав у нього як ШІ може допомогати створювати презентації. Воно розписало концепцію та юзерфлоу. Потім я попросив у нього прикинутись системою яку він тільки що описав і тоді я по факту протестував концепт розроблений ШІ.
Це я до чого, за цей рік багато продуктів будуть мати якийсь пошук по даним чи QA систему на базі ШІ, бо це перше що спадає на думку і зараз легко зробити. Але більш цікаві та успішні будуть продукти які зможуть інтегрувати ШІ у процес роботи, наприклад створення контенту. Це не так очевидно і потребує часу та досліджень.
Сьогодні відтестували на генерації фільтрів для ffmpeg, бо в них там свій dsl для опису фільтрів і gpt3 зазвичай фейлив правильно описати трансформацію.
Ще воно добре розуміє контекст, сирі данні і може видавати цікаву аналітику та поради.
Наприклад я залив у нього вектор транзакцій які записуються під час роботи над презентацією в Pitch і попросив описати що робив користувач, хто ця людина і як ШІ може домогти йому зі створенням презентації.
gpt правильно описав що користувач створив текст, перетягнув його, додав зображення і збільшив його. Сказав що людина може бути дизайнером і порекомендував додати автокомпліт, автолейаут та контекстний пошук зображень.
Тепер уявіть що можна дізнатись про свій продукт, якщо проаналізувати більше таких юзерфлоу.
Ще з ним цікаво і водночас дивно писати код, бо виходить так, що я як людина стаю компом, який отримує код від ШІ який вдає з себе людину, інтерпретую його у себе на компі і віддаю ШІ помилки щоб він їх пофіксив.
Так я за годину написав веб апку на реакті і ноді яка з зображень та тексту генерує відео для сторіс в інсту. 99% коду написано ШІ. Думаю це топ для чорнового коду під прототип.
Ще кльовий юзкейс — це питати у gpt як можна вдосконалити продукт. Наприклад я спитав у нього як ШІ може допомогати створювати презентації. Воно розписало концепцію та юзерфлоу. Потім я попросив у нього прикинутись системою яку він тільки що описав і тоді я по факту протестував концепт розроблений ШІ.
Це я до чого, за цей рік багато продуктів будуть мати якийсь пошук по даним чи QA систему на базі ШІ, бо це перше що спадає на думку і зараз легко зробити. Але більш цікаві та успішні будуть продукти які зможуть інтегрувати ШІ у процес роботи, наприклад створення контенту. Це не так очевидно і потребує часу та досліджень.
👍12
Доброго вечора. Я відкрив збір на тачку дядькові на фронт, бо вони там зараз їздять на вбитому Т3. Треба 300,000, тому буду вдячний за вашу допомогу 🫙👉 https://send.monobank.ua/jar/56tpYRGJyS
Також приймаю ваші поради щодо прискорення збору. Можу дати якісь консультації за донат чи зробити стрім.
Сьогодні натрапив на пейпер від Microsoft Research, вони ще з минулого року пл всякому ганяли GPT4 щоб зрозуміти на шо воно здатне, і усі результати записали там. Ось короткий відос про найцікавіше https://youtu.be/Mqg3aTGNxZ0
Ви можливо вже бачили що OpenAI додав «магазин» плагінів для GPT4. Пацани вирішили рубить бабло і забили на відкритість платформи. Але то таке.
По суті оті плагіни це інтеграція gpt у навколишній світ: пошук у гуглі, купівля квитків на поїзд чи літак, редагування відео, і тд. Треба лише надати йому API по якому він навчиться комунікувати з сервісом. Це те що робить опенсорсний LangChain (абстракція для компонування LLM та зовнішніх сервісів), але перевага OpenAI саме у тому, що мозком тут виступає модель GPT4, яка краще за інші (поки що) вміє все це робити.
В пейпері оця можливість моделі навчитись користуватися зовнішніми інструментами та компонувати їх порівнюють з проривом людства, коли люди зрозуміли що можна собі зловити їжу дрючком, каменем чи навіть зробити вудку.
Можливо інтеграція працює за підходом ReAct — це коли ви просите модель не просто відповісти на питання, але також описати процес мислення у форматі команд, які сама модель потім і виконує, типу: «щоб відповісти на це питання, мені треба дізнатись про оце, значить із всіх тулів які в мене є я скористаюсь гуглом». Таким чином модель може сама собі створити ланцюг дій, що призведе до бажаного результату.
Далі ще цікавіше, підпишіться на оцього науковця бо він пише кльові штуки https://twitter.com/geoffreylitt/status/1639044690166030337
Він описує прикольну ідею, про те що сьогодні ChatGPT це такий дженерік інтерфейс у модель, типу як текстовий термінал у мейнфрейм. І наводить приклад як з часом людство пересіло з текстового управління сервісами на компі до графічного UI, де під кожну задачу люди собі створювали що називається domain-specific інтерфейс.
І от уявіть собі якщо б GPT навчився робити ці графічні інтерфейси під кожен з інструментів, якими він вміє користуватись. З огляду на те, що модель вже вміє писати +- непоганий код, я думаю це реально в короткостроковій перспективі 🤯
Також приймаю ваші поради щодо прискорення збору. Можу дати якісь консультації за донат чи зробити стрім.
Сьогодні натрапив на пейпер від Microsoft Research, вони ще з минулого року пл всякому ганяли GPT4 щоб зрозуміти на шо воно здатне, і усі результати записали там. Ось короткий відос про найцікавіше https://youtu.be/Mqg3aTGNxZ0
Ви можливо вже бачили що OpenAI додав «магазин» плагінів для GPT4. Пацани вирішили рубить бабло і забили на відкритість платформи. Але то таке.
По суті оті плагіни це інтеграція gpt у навколишній світ: пошук у гуглі, купівля квитків на поїзд чи літак, редагування відео, і тд. Треба лише надати йому API по якому він навчиться комунікувати з сервісом. Це те що робить опенсорсний LangChain (абстракція для компонування LLM та зовнішніх сервісів), але перевага OpenAI саме у тому, що мозком тут виступає модель GPT4, яка краще за інші (поки що) вміє все це робити.
В пейпері оця можливість моделі навчитись користуватися зовнішніми інструментами та компонувати їх порівнюють з проривом людства, коли люди зрозуміли що можна собі зловити їжу дрючком, каменем чи навіть зробити вудку.
Можливо інтеграція працює за підходом ReAct — це коли ви просите модель не просто відповісти на питання, але також описати процес мислення у форматі команд, які сама модель потім і виконує, типу: «щоб відповісти на це питання, мені треба дізнатись про оце, значить із всіх тулів які в мене є я скористаюсь гуглом». Таким чином модель може сама собі створити ланцюг дій, що призведе до бажаного результату.
Далі ще цікавіше, підпишіться на оцього науковця бо він пише кльові штуки https://twitter.com/geoffreylitt/status/1639044690166030337
Він описує прикольну ідею, про те що сьогодні ChatGPT це такий дженерік інтерфейс у модель, типу як текстовий термінал у мейнфрейм. І наводить приклад як з часом людство пересіло з текстового управління сервісами на компі до графічного UI, де під кожну задачу люди собі створювали що називається domain-specific інтерфейс.
І от уявіть собі якщо б GPT навчився робити ці графічні інтерфейси під кожен з інструментів, якими він вміє користуватись. З огляду на те, що модель вже вміє писати +- непоганий код, я думаю це реально в короткостроковій перспективі 🤯
🔥5
Доброго здоров'ячка. Ану напишіть мені за яким контентом ви сидете у цьому каналі?
Anonymous Poll
57%
JS, фронтенд, react і тд
36%
ШІ і всякі ChatGPT
37%
Кложура і шось довкола неї
9%
Свій варінт у коментах
Нещодавно зробив собі домашній медіа-сервер на Raspberry Pi 4 (8GB RAM + 1TB SSD).
По софту було Ubuntu Server, Transmission та Jellyfin у Docker контейнерах. Плюс кастомний Node сервер зі своїм дашбордом у веб-морді. На дашборді виводиться статистика системи, типу RAM, CPU і тд. Знімаються ці дані тупим викликом декількох CLI команд по інтервалу
Працює супер, клієнтська апка на Android вбудованому у домашній проєктор підключається до серверу і воно гарненько виглядає наче Netflix.
Потім мені захотілось підключити до борди невеличкий екран і виводити на нього всілякі дані. Зробити дашборд для стрімів у ютубчик, щоб дивитись коментарі, слідкувати за часом і отримувати нагадування час від часу щоб не забувати говорти типові фрази "лайк, підписка, донат".
Виявилось що то не так просто було зробити, бо в Ubuntu Server нема драйверу для GPU Raspberry (я хотів щоб екран не пожирав CPU) і я не дуже розуміюсь на апгрейді ядра Linux (в 6й версії той драйвер вже є).
Тому зніс Ubuntu Server і поставив Raspberry OS, який по суті той же Linux + патчі та драйвери під залізо Raspberry. Воно ще й RAM їсть менше, щось біля 80Мб.
Для виводу графіки на екран обрав простеньку лібу https://www.raylib.com/ на C, вона в принципі зроблена під ігри, але й текст з зображеннями у 2D теж можна виводити. Проєбавсь з C півдня у ChatGPT, зробив собі мінімальний дашборд для екранчику який через сокет отримує дані та команди з Node веб-серверу який в свою чергу контролюється з веб-морди.
І наче все топчік і воно працює, але швидкість ітерацій розробки на C дуже повільна, бо я нуб в цьому і на кожен чих треба по десять разів перекомпільовувати мій кривий код.
Тому я зніс усе що написав і зробив те саме, тіки вже на Node через біндинги до Raylib https://github.com/RobLoach/node-raylib
Але й тут мене спідкала трагічна доля програміста, бо класичний рендеринг графіки — це синхронний блокуючий цикл, а як відомо Node — однопоточна хрінь 🙂 Прийшлось захачити асинхронний рендеринг кадрів через
Ось приблизний код як воно все влаштовано https://gist.github.com/roman01la/cbc66954e5ab0ff5066471d66f83c114
На яку хрінь ви витрачаєте свій час?)
По софту було Ubuntu Server, Transmission та Jellyfin у Docker контейнерах. Плюс кастомний Node сервер зі своїм дашбордом у веб-морді. На дашборді виводиться статистика системи, типу RAM, CPU і тд. Знімаються ці дані тупим викликом декількох CLI команд по інтервалу
Promise.all([
pexec("free"), // RAM usage
pexec("df /"), // MMC usage
pexec("df /mnt/ssd"), // SSD usage
pexec("cat /sys/class/thermal/thermal_zone0/temp"), // CPU temperature
pexec("cat /proc/stat"), // CPU usage
pexec("cat /sys/class/net/wlan0/statistics/rx_bytes"), // network usage, received bytes
pexec("cat /sys/class/net/wlan0/statistics/tx_bytes"), // network usage, transmitted bytes
]);
Працює супер, клієнтська апка на Android вбудованому у домашній проєктор підключається до серверу і воно гарненько виглядає наче Netflix.
Потім мені захотілось підключити до борди невеличкий екран і виводити на нього всілякі дані. Зробити дашборд для стрімів у ютубчик, щоб дивитись коментарі, слідкувати за часом і отримувати нагадування час від часу щоб не забувати говорти типові фрази "лайк, підписка, донат".
Виявилось що то не так просто було зробити, бо в Ubuntu Server нема драйверу для GPU Raspberry (я хотів щоб екран не пожирав CPU) і я не дуже розуміюсь на апгрейді ядра Linux (в 6й версії той драйвер вже є).
Тому зніс Ubuntu Server і поставив Raspberry OS, який по суті той же Linux + патчі та драйвери під залізо Raspberry. Воно ще й RAM їсть менше, щось біля 80Мб.
Для виводу графіки на екран обрав простеньку лібу https://www.raylib.com/ на C, вона в принципі зроблена під ігри, але й текст з зображеннями у 2D теж можна виводити. Проєбавсь з C півдня у ChatGPT, зробив собі мінімальний дашборд для екранчику який через сокет отримує дані та команди з Node веб-серверу який в свою чергу контролюється з веб-морди.
І наче все топчік і воно працює, але швидкість ітерацій розробки на C дуже повільна, бо я нуб в цьому і на кожен чих треба по десять разів перекомпільовувати мій кривий код.
Тому я зніс усе що написав і зробив те саме, тіки вже на Node через біндинги до Raylib https://github.com/RobLoach/node-raylib
Але й тут мене спідкала трагічна доля програміста, бо класичний рендеринг графіки — це синхронний блокуючий цикл, а як відомо Node — однопоточна хрінь 🙂 Прийшлось захачити асинхронний рендеринг кадрів через
setTimeout. Із цікавого, мені не треба 60FPS, бо там тупо текст, без анімацій, тому в мене таймаут 125ms — це 8FPS.Ось приблизний код як воно все влаштовано https://gist.github.com/roman01la/cbc66954e5ab0ff5066471d66f83c114
На яку хрінь ви витрачаєте свій час?)
👍9🔥1
На вихідних монтував відос для свого каналу на YouTube і в якийсь момент заєбавсь чистити аудіо. В мене нема поставленого голосу, щоб не бекати-мекати, тому я шукав якісь інструменти для підчищення доріжки. Скажу вам, що вони є і деякі достатньо круто це роблять. Наразі я зупинився на Denoscript та Podcastle. Обидва роблять +- те саме, але по-різному. Найкращий результат отримав прогнавши доріжку через обидва сервіси.
З плюсів: воно вирізає тишу, мичання і деякі слова паразити. Також витягує звук, тому в ручній пост-обробці я майже нічого не робив.
Мінуси: іноді зклейки помітні та деколи початок або кінець зклейки якось дивно деформується. Напевне воно пробує змішувати секції для плавного переходу.
Denoscript кльовий, бо він переганяє аудіо у текст і прив'язує текст до доріжки, тому можна чистити аудіо у текстовому редакторі 🤯 Якщо б до цього ще додати можливість редагувати/додавати аудіо моїм голосом через текст — це було б топ. Сервіс play.ht вміє клонувати голос беручи за основу 15хв запис твого голосу.
Я трохи попитав ChatGPT як можна робити такі штуки і ще раз переконався наскільки це крутий інструмент для дослідження чогось нового для себе, коли ти тупо не знаєш що ти шукаєш, окрім абстрактного опису. ChatGPT наштовхнув мене на модель аналізу аудіо Wav2Vec та техніку маппінгу тексту на аудіо trannoscript aligning. Було б цікаво зробити таку опенсорсну альтернативу Denoscript (може вже щось є?), бо той сервіс нормально коштує по підписці 🙃
Так от я попросив ChatGPT написати мені сценарій для коротенького туторіалу по створенню кнопки на React, з тексту створив аудіо доріжку з голосом у play.ht, а з аудіо згенерив аватара у D-ID. Midjourney зробив обкладинку, я записав екран з набором коду і склеїв це все у Runway, вийшло кріпово і смішно, але в цілому враховуючи, що на все було витрачено 30хв і робив я все аби як, то результат вийшов доволі непоганий. Дивіться самі 👉 https://www.youtube.com/watch?v=J0VccHX4zyo
Відос який я монтував вийде десь на тижні, тому підписуйтесь. Там буде щось простеньке і доступне по вебу, без хардкору.
Також нагадую, що я збираю на тачку дядькові на фронт. Буду вдячний вашому донату та поширенню цього допису, усього каналу чи посилання на банку 🫙 https://send.monobank.ua/jar/56tpYRGJyS
З плюсів: воно вирізає тишу, мичання і деякі слова паразити. Також витягує звук, тому в ручній пост-обробці я майже нічого не робив.
Мінуси: іноді зклейки помітні та деколи початок або кінець зклейки якось дивно деформується. Напевне воно пробує змішувати секції для плавного переходу.
Denoscript кльовий, бо він переганяє аудіо у текст і прив'язує текст до доріжки, тому можна чистити аудіо у текстовому редакторі 🤯 Якщо б до цього ще додати можливість редагувати/додавати аудіо моїм голосом через текст — це було б топ. Сервіс play.ht вміє клонувати голос беручи за основу 15хв запис твого голосу.
Я трохи попитав ChatGPT як можна робити такі штуки і ще раз переконався наскільки це крутий інструмент для дослідження чогось нового для себе, коли ти тупо не знаєш що ти шукаєш, окрім абстрактного опису. ChatGPT наштовхнув мене на модель аналізу аудіо Wav2Vec та техніку маппінгу тексту на аудіо trannoscript aligning. Було б цікаво зробити таку опенсорсну альтернативу Denoscript (може вже щось є?), бо той сервіс нормально коштує по підписці 🙃
Так от я попросив ChatGPT написати мені сценарій для коротенького туторіалу по створенню кнопки на React, з тексту створив аудіо доріжку з голосом у play.ht, а з аудіо згенерив аватара у D-ID. Midjourney зробив обкладинку, я записав екран з набором коду і склеїв це все у Runway, вийшло кріпово і смішно, але в цілому враховуючи, що на все було витрачено 30хв і робив я все аби як, то результат вийшов доволі непоганий. Дивіться самі 👉 https://www.youtube.com/watch?v=J0VccHX4zyo
Відос який я монтував вийде десь на тижні, тому підписуйтесь. Там буде щось простеньке і доступне по вебу, без хардкору.
Також нагадую, що я збираю на тачку дядькові на фронт. Буду вдячний вашому донату та поширенню цього допису, усього каналу чи посилання на банку 🫙 https://send.monobank.ua/jar/56tpYRGJyS
👍7
А от і відос, вийшло доробити його раніше https://www.youtube.com/watch?v=iMznlVvJcXA
Це буде серія простеньких туторіалів по React, UI та вебу у цілому. Підійде і початківцям і практикуючим девелоперам. Дивіться, ставте закусенці догори, поширюйте, щоб в мене була мотивація робити ще, бо монтувати це все діло швидко набридає)
Це буде серія простеньких туторіалів по React, UI та вебу у цілому. Підійде і початківцям і практикуючим девелоперам. Дивіться, ставте закусенці догори, поширюйте, щоб в мене була мотивація робити ще, бо монтувати це все діло швидко набридає)
YouTube
Creating interactive objects in React | HTMXR_001
#react #webdevelopment
Support my channel and get the complete source code at https://www.buymeacoffee.com/romanliutikov/e/129304
In this episode you'll learn how to create a draggable object with React, such an object that can be moved around with mouse…
Support my channel and get the complete source code at https://www.buymeacoffee.com/romanliutikov/e/129304
In this episode you'll learn how to create a draggable object with React, such an object that can be moved around with mouse…
🔥7👍2
Хтось в робочому чаті вчора поставив запитання на яке мені було лінь відповідати, бо треба було надати людині увесь контекст, а це пару параграфів тексту. Тому як трушний інженер я написав собі CLI який записує мій голос, робить з нього стенограму на переписує текст так наче це б було повідомлення у письмовій формі, написане у чаті (тіпа щоб не палитись). Працює супер, чувак задоволений відповіддю, а я задоволений своєю лінню 😀 З українською там звісно все погано.
По суті то скрипт який юзає Whisper та GPT для запису і переписування тексту. Посилання на проєкт https://github.com/roman01la/voice-to-chat
По суті то скрипт який юзає Whisper та GPT для запису і переписування тексту. Посилання на проєкт https://github.com/roman01la/voice-to-chat
GitHub
GitHub - roman01la/voice-to-chat: A small CLI and menubar app that transcribes voice recording and rewrites it in a style of a…
A small CLI and menubar app that transcribes voice recording and rewrites it in a style of a written text - GitHub - roman01la/voice-to-chat: A small CLI and menubar app that transcribes voice reco...
👍5🔥4❤1🥰1
Не так давно Meta виклали у вільний доступ свою модель для сегментації зображень — Segment Anything.
Вона трохи навела шуму у спільності computer vision, бо ця моделька ну дуже добре сегментує зображення. Якщо коротко, то це типу як фіча в iOS коли тикаєш пальцем і воно тобі вирізає зображення людини з фото. Але SA сегментує усе підряд і достатньо швидко, її можна застосовувати і для відео. Можна банально нарізати фотку на окремі файли кожного об'єкту який потрапив у кадр і робити собі усякі стікєри. Чи наприклад трекати шось на відео.
Ще прикольніше воно працює у поєднанні з моделями які вміють словами описувати контент зображення, наприклад BLIP2. Якщо раніше можна було описати усе зображення як одне, то зараз можна буде визначати що і де саме розміщене на фотці. Карочє можна зробити Pinterest на колінці. А якщо це поєднати з відео, то виходить ніфігова фіча з пошуком. Додайте до цього пошук таймкоду через розшифровку аудіо і опису звуків (наприклад звук мявкаючого кота), можна буде текстом і відео знайти кота який мявкає за кадром і потім з'являєтья у кадрі.
Я поки шо граюсь з цим, цікаво зробити прототип апки яка б з фото виділяла їжу, описувала словами що там було на столі та наприклад писала б мені через ChatGPT потенційні рецепти або розписувала калорійність продуктів. Це все звісно і раніше вміли робити, але зараз воно стає більш доступне для таких фронтендщиків як я. Навіть деплоїти вже можна в одну команду як сайт на Vercel, тільки це для ШІ https://modal.com/
Ось покроковий процес проганяння фото продуктів через Segment Anything, BLIP2 та ChatGPT.
Вона трохи навела шуму у спільності computer vision, бо ця моделька ну дуже добре сегментує зображення. Якщо коротко, то це типу як фіча в iOS коли тикаєш пальцем і воно тобі вирізає зображення людини з фото. Але SA сегментує усе підряд і достатньо швидко, її можна застосовувати і для відео. Можна банально нарізати фотку на окремі файли кожного об'єкту який потрапив у кадр і робити собі усякі стікєри. Чи наприклад трекати шось на відео.
Ще прикольніше воно працює у поєднанні з моделями які вміють словами описувати контент зображення, наприклад BLIP2. Якщо раніше можна було описати усе зображення як одне, то зараз можна буде визначати що і де саме розміщене на фотці. Карочє можна зробити Pinterest на колінці. А якщо це поєднати з відео, то виходить ніфігова фіча з пошуком. Додайте до цього пошук таймкоду через розшифровку аудіо і опису звуків (наприклад звук мявкаючого кота), можна буде текстом і відео знайти кота який мявкає за кадром і потім з'являєтья у кадрі.
Я поки шо граюсь з цим, цікаво зробити прототип апки яка б з фото виділяла їжу, описувала словами що там було на столі та наприклад писала б мені через ChatGPT потенційні рецепти або розписувала калорійність продуктів. Це все звісно і раніше вміли робити, але зараз воно стає більш доступне для таких фронтендщиків як я. Навіть деплоїти вже можна в одну команду як сайт на Vercel, тільки це для ШІ https://modal.com/
Ось покроковий процес проганяння фото продуктів через Segment Anything, BLIP2 та ChatGPT.
🔥12❤2
Відзняв коротенький відос про те, як я використовую ChatGPT у програмуванні. Головна теза: ітераційний підхід і не очікувати, що це якась магія яка тобі зробе все швидко, гарно і правильно
https://youtu.be/iqOXUrjIEm0
https://youtu.be/iqOXUrjIEm0
YouTube
ChatGPT is your pair programming buddy | HTMXR_002
#react #chatgpt #webdevelopment
Buy me a coffee and support my channel https://www.buymeacoffee.com/romanliutikov
In this episode you'll learn how ChatGPT can be your pairing buddy at solving programming tasks.
Buy me a coffee and support my channel https://www.buymeacoffee.com/romanliutikov
In this episode you'll learn how ChatGPT can be your pairing buddy at solving programming tasks.
👏14
Happy Monday. Я на цьому тижні відпочиваю у відпустці, але збір на тачку для ЗСУ все ще актуальний.
Буду вдячний за ваш донат, та поширення допису 🫙 https://send.monobank.ua/jar/56tpYRGJyS
Буду вдячний за ваш донат, та поширення допису 🫙 https://send.monobank.ua/jar/56tpYRGJyS
send.monobank.ua
Безпечний переказ коштів
Надсилайте безкоштовно та безпечно кошти
Сидів сьогодні грівся на сонці і нагрів собі ідею для заохочення людей до перегляду контенту.
Автоматично підбирати обкладинку відео спираючись на вподобання користувача що переглядає стрічку.
Наприклад якщо це інтервʼю з різними людьми, то показувати кадр з людиною за якою слідкує користувач, і тому подібне.
Для цього можна аналізувати кожен кадр відео через якусь модель типу BLIP2, додавши розпізнавання облич та брендів. Шаленієш від Спартака Суботи? Покажемо тобі кадр з дибілом.
Це може бути непоганий кейс для просування відео, в яких елементи цікаві користувачеві не є основним контентом.
Автоматично підбирати обкладинку відео спираючись на вподобання користувача що переглядає стрічку.
Наприклад якщо це інтервʼю з різними людьми, то показувати кадр з людиною за якою слідкує користувач, і тому подібне.
Для цього можна аналізувати кожен кадр відео через якусь модель типу BLIP2, додавши розпізнавання облич та брендів. Шаленієш від Спартака Суботи? Покажемо тобі кадр з дибілом.
Це може бути непоганий кейс для просування відео, в яких елементи цікаві користувачеві не є основним контентом.
👍5😁1
Новий епізод на YouTube, цього разу про транскрипт аудіо за допомогою Whisper від OpenAI. Не так давно я тут писав про транскрипт і редагування відео, з тих пір трохи експериментував з різними підходами. У відео розказую про підхід на якому зупинився наразі.
https://www.youtube.com/watch?v=hUzzs5Dlxrk
https://www.youtube.com/watch?v=hUzzs5Dlxrk
YouTube
Generating subnoscripts using AI | HTMXR_003
#openai #whisper #subnoscripts #captions
Buy me a coffee and support my channel https://www.buymeacoffee.com/romanliutikov
In this episode you'll learn how word-level subnoscripts are created, in particular using OpenAI's Whisper model.
Buy me a coffee and support my channel https://www.buymeacoffee.com/romanliutikov
In this episode you'll learn how word-level subnoscripts are created, in particular using OpenAI's Whisper model.
🔥5👍1
Тепер усі відоси на каналі, минулі також, з субтитрами українською та англійською. Дякуючи Whisper та DeepL.
🔥11
Оце цікаво: побачив сьогодні якусь нову лібу яка оптимізує React, підмінюючи VDOM на іншу імплементацію https://twitter.com/aidenybai/status/1651072640650727424?s=20
В мене в голові не сходяться дві штуки: React пішов по шляху серверного рендеру, під егідою Vercel, і явно прослідковується фокус на нескладні сайтики, де перфоманс реакту взагалі по барабану, бо там небагато UI і даних.
З іншого боку фронтенд спільнота зараз фіксується на перфомансі саме UI бібліотек. Про це багато пишуть, особливо після того як дізнались більше про SolidJS, ну і Svelte (воно живе?).
Складається враження, шо це все перегони мікро-бенчмарків, бо на простеньких сайтиках дійсно можна дійти до того, шо більшість часу в JS йде на обчислення у UI бібліотеці, а не у вашому коді.
На практиці ж, при побудові чогось більш складнішого ніж випадайки і формочки — сам React стає найменшою проблемою і його цінність полягає у простій ментальній моделі. Частіше проблеми будуть у вашому коді, з обробкою даних або з якимись браузерними API, або Safari гг.
Коротче, перфоманс UI бібліотеки не повинен бути вирішальним фактором, коли всі вони приблизно однаково неповільні. Краще вже дивитись на ваші задачі та developer experience.
В мене в голові не сходяться дві штуки: React пішов по шляху серверного рендеру, під егідою Vercel, і явно прослідковується фокус на нескладні сайтики, де перфоманс реакту взагалі по барабану, бо там небагато UI і даних.
З іншого боку фронтенд спільнота зараз фіксується на перфомансі саме UI бібліотек. Про це багато пишуть, особливо після того як дізнались більше про SolidJS, ну і Svelte (воно живе?).
Складається враження, шо це все перегони мікро-бенчмарків, бо на простеньких сайтиках дійсно можна дійти до того, шо більшість часу в JS йде на обчислення у UI бібліотеці, а не у вашому коді.
На практиці ж, при побудові чогось більш складнішого ніж випадайки і формочки — сам React стає найменшою проблемою і його цінність полягає у простій ментальній моделі. Частіше проблеми будуть у вашому коді, з обробкою даних або з якимись браузерними API, або Safari гг.
Коротче, перфоманс UI бібліотеки не повинен бути вирішальним фактором, коли всі вони приблизно однаково неповільні. Краще вже дивитись на ваші задачі та developer experience.
X (formerly Twitter)
Aiden Bai (@aidenybai) on X
So WTF is a block virtual DOM? And how does it work?
For learning purposes, I made a petite, toy version of Million.js called (drumroll pls 🥁)...
💯Hundred.js!
What's inside? <150 LOC implementation w/ code comments + tutorial:
https://t.co/U7NexDZdOs
For learning purposes, I made a petite, toy version of Million.js called (drumroll pls 🥁)...
💯Hundred.js!
What's inside? <150 LOC implementation w/ code comments + tutorial:
https://t.co/U7NexDZdOs
👍11
Оце топ. Я вже пробував гратись з клонуванням голосу, але оця модель прям прикольно клонує ще й перекладає декількома мовами. Залишилось тільки робити lipsync з оригінального відео під згенероване аудіо (такі моделі доречі також існують) 😄 https://beta.elevenlabs.io/
👍5🤯2