Перейти до вмісту

Автоматизація новин про великих котів: мій шлях із NewsCatcherAPI та OpenAI

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

Я реалізував пошук новин через API від @NewsCatcherAPI — чудового сервісу з безліччю новинних джерел. Почав із пошуку українських новин і виявив, що в цьому сервісі більше українських джерел, ніж в інших подібних API. Хоча кількість українських джерел менша, ніж можна знайти в Google News, вона все одно вражає.

@NewsCatcherAPI безплатний для некомерційного використання, що ідеально пасує моєму проєкту, адже він некомерційний. Мета мого проєкту — популяризувати й давати українцям свіжу інформацію про великих котів та просувати українську мову. Зараз мова під загрозою з боку різних сил і потребує підтримки. До того ж рідною мовою просто приємно користуватися.

Після отримання новин результати фільтруються базовими алгоритмами. Потім нейромережеві моделі GPT-4o-mini та GPT-4o аналізують їх, щоб визначити, про який вид диких котів кожна стаття. Придатні новини далі аналізує GPT-4o-mini, щоб позначити їх за країною, якої вони стосуються, а якщо це подія в Україні — то й за конкретним регіоном.

Нейромережа ChatGPT-4o потім перекладає новини з англійської українською. Ці переклади аналізують ChatGPT-4o та o1, а GPT-4o-mini кілька разів редагує їх, щоб прибрати будь-які ознаки перекладеності та зробити їх такими, ніби це статті, написані носіями української мови. Такий рівень автоматизації здебільшого можливий завдяки просунутій моделі o1 від OpenAI — це недешеве рішення, та я наразі шукаю альтернативи. Я надаю перевагу контенту, що легко читається, з мінімумом дослівного перекладу.

Після всього цього я схвалюю новини до публікації, й вони з'являються в соцмережах та на моєму вебсайті. Новий сайт мені вдалося створити з нуля за пару тижнів. Дуже допомогли Laravel та @FilamentPHP. Я міг би розробити сайт швидше, але мої навички трохи заіржавіли, бо я більше працював над частинами складного вебзастосунку, ніж над створенням цілісних сайтів.

У наступних дописах я спробую глибше розповісти, як я все це реалізував. Проєкт із відкритим кодом, і ви можете глянути на нього на моєму GitHub. Утім, мушу попередити, що подекуди код не ідеальний. Готовий сайт розташований за адресою https://bigcats.org.ua, а посилання на соцмережі ви знайдете там у футері.

Увімкніть коментарі, прийнявши куки.

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