Як ми провели другий AI Hackathon

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Запитали колег про їх рутину в роботі, зібрали ідеї для вирішення цієї рутини та влаштували хакатон на 48 годин! Це був справжній виклик, і ми впорались.

Нам ще з минулого року полюбився формат хакатону для вивчення штучного інтелекту, тому у 2024 році ми запропонували колегам справжню подорож під назвою «AI ODYSSEY». Концепція Одіссеї — це подорож спеціаліста у світ AI за допомогою лекцій, воркшопів й хакатонів. Чому б не впустити давньогрецький епос у навчання, якщо він наповнений креативом, який можна використати.

Отже, три дні наші колеги працювали над обраними ідеями, мали можливість додати бонусні фічі й презентували свої рішення. Але не варто забувати, що ми в Одіссеї, тому кожна команда мала свій профайл для цього поєдинку. Наприклад,

Для команд ми підготували сім ідей, які так чи інакше можна реалізувати за обмежений час. Кожен обирав те, що відгукується. Краще раз показати, ніж постійно розповідати. Ось опис однієї з ідей:

На хакатоні журі оцінювало наскільки була досягнута мета, опційні бонуси, якщо команда все виконала й готова ускладнити продукт, технічну складність, технічну реалізацію, інноваційність та якість презентації.

Тепер до справи, ми розповімо трішки про концепції проєктів та їх технічні складові. Можливо й ви знайдете для себе щось цікаве та інформативне.

Команда «СИНИ ІТАКИ» та команда «ЦИКЛОП» — ідея «MEETING SUMMARIZER»


Запит: спеціалісту потрібен інструмент, який може аналізувати відеозаписи зустрічей, розпізнавати різних учасників за голосами та автоматично генерувати підсумок зустрічі, що містить чіткий список завдань, які потрібно розподілити, а також список прийнятих рішень під час мітингу.

СИНИ ІТАКИ — ідея "MEETING SUMMARIZER"
Не лякаються нічого в цьому житті, крім котів, бо мають лише одне життя

Раніше ми вже стикались з задачами, де потрібно розпізнати мову і тому нам стало цікаво втілити цю ідею, що здавалась не надто важкою. Одразу вирішили, що не будемо використовувати стороннє API для розпізнавання мови, а тільки готові навчені моделі, які можна запустити локально. Після випробування п’яти моделей зійшлись на виборі однієї. Запустили її спочатку в Google Colab, а потім локально запакували в докер. Під час наших спроб запустити модель на домашньому сервері стало зрозуміло, що його потужності недостатньо, тому довелось робити запит в організаторів на віртуальну машину. Враховуючи те, що модель була в докері, розвернути її на віртуалці не викликало проблем. Потім перейшли до написання UI, паралельно шукаючи смішні відео для презентації.

Щодо складнощів, безперечно моделі дуже великі, наша важила приблизно 9 ГБ, тому довелось довго заливати її на docker hub. Проблему вирішили, створивши базовий образ. Також упирались в ресурси віртуальної машини, що обмежувала ліміт, який складав дві хвилини відео. Цю складність подолали, але вирішили не додавати у фінальну версію — боялись не встигнути до завершення все оформити й протестувати.

ЦИКЛОП — ідея "MEETING SUMMARIZER«
Витривалий та вправний з гарним зором, але не на всі боки

Я зупинився на цій ідеї, бо серед усіх вона здалась більш відкритою, щоб дати волю фантазії для втілення в життя. У підсумку, на мою думку, вимагалася вужча й конкретніша реалізація. Складнощів завдавала робота зі звуком. API не приймало занадто великі запити через обмеження HTTP, тому довелось застосовувати потокову передачу через gRPC. Кінцевий продукт — це десктопний застосунок, який може записувати звук в режимі реального часу, конвертувати в аудіозапис та аналізувати його за допомогою Speech-To-Text та Gemini.

Команда «НІМФА» — ідея "DOCUMENT ANALYZER«
Та, що обіцяє вічну молодість і безсмертя, а потім може швидко передумати


Запит: менеджеру потрібен інструмент, який може аналізувати матеріали, надані потенційним клієнтом, щоб автоматично визначати та підсумовувати функціональні можливості й надавати короткий огляд бізнесу та запиту проєкту клієнта.

Вибір даної теми зумовлений тим, що мені нерідко траплялись велетенські описи задач і проєктів, а на їх вивчення потрібно витратити купу часу, хоча ключові моменти можна було описати декількома пунктами. Я пригадала свій досвід з масштабними документами, і подумала, а чому б самій не зробити щось, що оптимізує цей тривалий процес ознайомлення.

Після ознайомлення зі завданням, я визначила основний функціонал для MVP, й прийняла рішення стосовно технологій. Ключовим моментом був аналіз документа і формування його короткого опису та списку основних функцій майбутнього проєкту, цього було досягнуто з використанням OpenAI API. Мінімальні бекенди й фронтенд частини реалізувала за допомогою Node.js.

Успішним при розробці проєкту можна вважати проведену роботу з AI, а саме формування й оптимізація запиту до LLM-моделі та форматування фінальної відповіді. На це було витрачено дуже багато ресурсу, але результат вийшов задовільний. Результатом обробки й аналізу є короткий опис, основні функції та підфункції, список запитань про пропущену інформацію в файлі, а також перелік функцій, які не були вказані, проте вони можуть значно покращити проєкт.

Основною складністю можу назвати хіба що брак часу, адже хотілось дуже багато чого реалізувати.

Команда «ВАКХАНАЛІЯ» — ідея «WEBSITE ANALYZER»
Стихійний збір любителів софт розробки, який перетинається з прославленням Діоніса



Запит: менеджеру потрібен інструмент, який може аналізувати вебсайти потенційного клієнта, щоб автоматично визначати та підсумовувати функції й надавати огляд бізнесу клієнта.

Ми подумали, який з бізнес-кейсів найбільше підходить для аналізу та розуміння, і вирішили, що аналіз вебсайтів може бути корисним для маркетингу, швидкого аналізу конкурентів та збору інсайтів про їх бізнес. Ми розглянули проблеми, які можуть виникнути під час парсингу текстів з вебсайтів, і вирішили розробити власний парсер, що відрізняється від інструментів CrewAl.

Для аналізу спарсеного контенту ми використовували API на OpenAl. Однією з проблем був парсинг навігації. У деяких вона містить сотні сторінок, крім підсторінок, в інших навігація генерується за допомогою JavaScript, що ускладнює процес. Кожна сторінка містить контент, який потрібно спарсити та проаналізувати. Ми також мали складнощі з вибором правильних інструкцій для асистента. Модель часто відмовлялася виконувати або ігнорувати частину завдань. Наше рішення цікаве тим, що його можна налаштувати залежно від орієнтації кінцевого аналізу. Фокус може бути зміщений на аналіз сторінок та елементів вебсайту для оцінки вартості його створення, або можна проводити комплексний маркетинговий аналіз (SEO + Контент, Бізнес-цінності).

Команда «ВАКХАНАЛІЯ» — ідея «CV SCREENER»


Запит: рекрутер хоче делегувати штучному інтелекту перевірку резюме відповідно до вимог і створення запитів для кандидатів щодо додаткової інформації, якої не вистачає. У підсумку поєднувати початкову інформацію про резюме та додаткову й надсилати команді з підбору спеціалістів.

Для додатка CV Screener ми використали Python 3.10.12 та його основну бібліотеку «PyWebIO», яка спрощує створення інтерактивних вебдодатків з мінімальним кодом. Це допомогло реалізувати проєкт менше ніж за 12 годин. Додаток також використовує OpenAI API для підключення до OpenAI Assistant.

Додаток містить файл формату json, в якому міститься вся інформація про актуальні вакансії. При взаємодії з додатком, користувачу відкривається віконце, в якому він має обрати вакансію з наявних та прикріпити CV в форматах «.txt, .pdf, .docx». Програма відправляє зібрану інформацію від користувача та з vacancies.json помічнику, який аналізує цю інформацію та надає відповідь. Ця відповідь відображається на фронтенді. Користувач може продовжувати діалог, поки помічник не завершить свою роботу (за інструкцією, що заздалегідь створили ми). Звіт надсилається рекрутеру.

Написання інструкцій для помічника було найважчою частиною проєкту. Вони мають бути у певному форматі, який точно вказує, що робити в суворому порядку для досягнення бажаного результату. Хоча бібліотеку PyWebIO було використано з метою економії часу, її інколи складно розгорнути на live сервері, оскільки вона вимагає певної конфігурації й не широко використовується розробниками. Додаток краще перенести на фреймворк, що має попит, такий як Django, Flask. Для етапу розробки це необов’язково. Реальні покращення мають спрямовуватися на написання найкращої підказки від OpenAI assistant. Чим краще підказка, тим вища якість аналізу.

ПІДСУМОК
Ось такі ідеї та проєкти були на другому внутрішньому AI хакатоні у HYS Enterprise. Ми не зупиняємось й продовжуємо вивчати штучний інтелект для вдосконалення та підвищення продуктивності й результативності. Завершимо цю статтю девізом проєкту «AI ODYSSEY» — DISCOVER, CREATE, INNOVATE.









👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Цікаво. Це трохи схоже на конкурси веб-сайтів з 2000х.

Підписатись на коментарі