Перетворіть рутину на цікаву пригоду з допомогою ШІ: історія про те, як створити просту програму-транскрибатор аудіо в текст за допомогою ChatGPT за обідню перерву.
Це приклад написання програм для “не програмістів”. Вірю, що сьогодні вміти наймати ШІ на різні задачі, в тому числі й на програмування – ключ до персональної ефективності. Це як “впевнене володіння Word та Excel” двадцять років тому – конкурентна перевага на ринку праці, котра з часом стала невіддільною вимогою.
Одразу хочу перепросити перед справжніми розробниками: в нас, “гуманітаріїв”, немає мети забрати вашу роботу. Більше підтримати власну цікавість та стати на крок ближчими з технологіями.
Весь необхідний код нам напише ChatGPT, також він проконсультує щодо роботи з цим кодом і рештою технічних питань.
Для простоти та кращого розуміння будемо використовувати метафору кавʼярні при роботі з технічними штуками.
На нашій кавʼярні має бути кухня – місце з усіма інструментами для створення страв та напоїв. В термінології розробника це “середовище програмування”. Ми будемо використовувати GitHub Codespaces для написання і зберігання коду.
Створимо в ньому файл app.py, де буде зберігатись весь наступний код.
Перший код на Python
Попросимо ChatGPT написати перший код. Уточнимо мову програмування – Python, та назву функції, котру будемо далі модифікувати та уточнювати. Функція – це рецепт в кавʼярні. Покрокова інструкція, як що робити. Інструкції можуть бути складними, з умовами “якщо так — роби це”, але все починається з простого: просимо написати ChatGPT код на Python, котрий буде виконуватись одразу і писати в термінал фразу “Хелоу, робосвіт”.
Термінал – це адміністратор ресторану. До нього можна звернутись з проханням, він його виконає, а може і сам вам щось сповістити. Відмінність від офіціанта – він не може та й не хоче спілкуватись багато, він зайнятий і спілкується трохи своєю мовою. Тоді як офіціант – це привітний графічний інтерфейс до програми. В нашому випадку офіціантом могла б бути вебформа, куди завантажуємо файл, але сьогодні робимо простішу першу версію і буде достатньо роботи з Терміналом.
Виконання коду
Для запуску коду можемо використовувати термінал, для цього напишемо python пробіл назва файлу (app.py). Якщо ви бачите повідомлення “Хелоу, робосвіт” – вітаю, ви виконали перший в житті код на пайтоні. Тільки не варто завтра ж вимагати перегляду зарплатні, бо ви вже програмісти. Але для нас з вами це важливий крок у розумінні можливостей технологій.
Перша модифікація коду – перевіряємо наявність аудіо файлу
Наш код працює, тепер вдосконалимо нашу функцію. Наразі вона пише лише “хелоу”, а попросімо перевірити наявність файлу audio.mp3. Даємо задачу ChatGPT так само як би просили свого колегу написати таку програму – простими словами.
Отримуємо модифікований код, переносимо його у наш файл app.py. Стираємо попередній, вставляємо новий, запускаємо файл, в терміналі пише: Аудіо не знайдене.
Дійсно, поруч з файлом app.py немає audio.mp3. Закидуємо драг-н-дропом файл з аудіо, запускаємо – пише файл знайдено, прекрасно!
Друга модифікація коду – відправляємо аудіофайл на транскрибацію ШІ
Повертаємось до ChatGPT, просимо його модифікувати нашу функцію і якщо файл вже знайдений – відправляти його на транскрибацію в OpenAI використовуючи API. Звідки я знаю про таку можливість? Про неї розповіли самі OpenAI, але якби не знав – можна було б спитати в ChatGPT поради, якими способами можна реалізувати задумане.
API метафорою кавʼярні – це меню партнерів. Ми можемо їм передати замовлення та отримати його доставку. Замовити тістечка і курʼєр їх привезе. Передати аудіо файл та отримати його розшифровку текстом.
Отримуємо модифікований код і звертаємо увагу, що ChatGPT каже про необхідність додати бібліотеку openai нам в середовище розробки. Бібліотека – це як наперед заготовлені інгредієнти, наприклад, сиропи до напоїв. Ми б могли їх готувати самі, але навіщо? Цю бібліотеку можна інсталювати вставивши команду в термінал. Вона одразу виконується, все запрацювало.
Окремо зауважу про API Ключ – його можна отримати в особистому кабінеті ChatGPT, але для цього треба закинути 5$ на його використання. Їх швидше за все вистачить надовго, 20 студентів за місяць роботи через один ключ витратили майже $6 🙂
Вставляємо код написаний GPT, і отримуємо першу помилку.
Виправлення помилок!
Робота розробника часто зводиться саме до виправлення помилок. Тут ми не виключення 🙂
Наша помилка в тому, що ChatGPT написав код використовуючи застарілі знання по роботі саме з цією бібліотекою. Так, ChatGPT не знає власної актуальної документації, або не додумався використати її.
Перша спроба виправити помилку
Скопіюємо помилку в ChatGPT і сподіваємось, він сам її виправить. Точно спробує.
Виконуємо новий код – та сама помилка.
Стратегії вирішення помилок в програмуванні з ChatGPT:
- Просити виправити помилку, хай сам розбирається. Дуже часто це працює;
- Знайти в інтернеті документацію того, з чим ми працюємо (в нашому випадку помилка в роботі з бібліотекою openai), хай розбереться;
- Знайти в інтернеті хоч якось працюючий код, згодувати ChatGPT і хай сам розбирається, як його імплементувати в наш;
- Змінити AI – не тільки ChatGPT вміє писати код, Claude та Gemini теж можуть це зробити. Хай виправляють чужі помилки;
- Створити новий чат. ChatGPT в межах одного чату має памʼять і часом буває, що він виправляє помилки по колу. Розірвати коло можна сказавши “забудь все, що писали до”, або простіше і надійніше – створити новий чат, скопіювати туди код і його помилку та попросити виправити.
Більшість помилок можна уникнути, якщо спробувати сприймати ChatGPT не як “раба”, котрому скидаєш роботу і вимагаєш якісного виконання, а як консультанта. Перед тим як дати команду як модифікувати функцію – можна спитати, якими способами це можна реалізувати? І тоді з вибраного списку обрати той, котрий підходить найкраще.
А якщо не можете обрати, опишіть задачу детальніше і попросіть ChatGPT обрати рішення для вас і реалізувати його.
Просимо інший ШІ, Claude AI, виправити помилку за ChatGPT “згодовуючи” йому нашу поточну версію коду та помилку.
Запускаємо версію коду від Claude.
Наш код працює!
Після досягнення результату можна знову звернутись до ChatGPT з проханням дати рекомендації, що ще можна зробити з цим персональним мікросервісом?
Цікаві можливості розвитку, котрі він мені запропонував:
- Якщо файл занадто великий (є обмеження API на 25 мегабайтів) – розрізати його на шматки та транскрибувати їх по черзі, а далі збирати всі транскрибації в один файл;
- Додати можливість додавати відео, а не тільки аудіо й автоматично їх переводити в потрібний для транскрибації формат;
- Зберігати “відпрацьовані” файли в окремій папці.
Висновки
Навичка автоматизовувати персональну рутину – не тільки чудова конкурентна перевага, а й спосіб полегшити власне життя. В межах моєї команди в ЛУН впроваджується правило, що на будь-яку повторювальну роботу, до котрої можна написати інструкцію, має витрачатись не більше 5 хвилин. Решту хай роблять роботи, а люди залучають свою найціннішу експертизу для контролю якості виконання рутинних задач.
Завантаження коментарів …