AI/Dev_#0/: Як штучний інтелект здатен скоротити витрати компанії?

Всім привіт! Хочу спробувати підтримати друкарню та запустити на ній свій цикл статей, в якому я буду писати про розробку та автоматизацію.

Назва профілю “ретранслятор” була обрана не просто так. Більшість статей які будуть написані - теоретична/практична довідка для якогось модуля, з яким я попередньо ознайомився в інтернеті, та зібрав до купи інформацію про нього.

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

Abstract/:

Мені слід розробити модель ШІ на базі OpenAI використовуючи їх API для того, щоб аналізувати інформацію про людей. Результат повинен вміти розрізняти посади людей та визначати в якій області вони працюють: IT, Finance, Sales etc.

Ця робота розкаже про типи задач які здатен вирішувати ШІ, про те як звертатись до ШІ використовуючи JavaScript та які є особливості у використанні API.

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

Theory/:

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

Якось в одному з чату телеграму люди обговорювали що політика конфіденційності - пишеться ШІ. Не вірите? Що ж, перевірмо це :)

Відкриємо політику конфіденційності друкарні -https://drukarnia.com.ua/rules

Я вирішив обрати пункти про “Ваш обліковий запис і обов'язки” та “Модерація”.

Далі слід перекласти текст абияк, результати можна переглянути нижче на рисунку 1:

Рис. 1 - Переклад частини тексту.

Далі йдемо на сайт https://www.zerogpt.com/ дивитись результати:

Рис. 2 - Результат аналізу тексту на ШІ.

Чи дійсно Друкарня писала це з використанням ШІ чи ні, знає лише вона. Головна проблема цих “тестів” - швидке розвинення штучного інтелекту, через що стає все складніше відстежувати текст, який придумав ШІ. Якщо для цікавости ви візьмете мою статтю, та кинете на цей сайт без перекладу, там теж буде великий відсоток начеб-то “ШІ” - але це через те, що “тестер” не працює з кирилицею :(
p.s. якщо ви знайдете або вже знаєте такий, який працює з кирилицею - поділіться в коментарях.

Practice/:

В моїй компанії ШІ буде використовуватись для аналізу даних. Наприклад є текст, його треба проаналізувати та віднести до певної категорії - цей метод має назву Кластеризація.
Загалом є три методи: Класифікація, Кластеризація, та Регресія.

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

Джерело: https://evergreens.com.ua/ua/articles/classical-machine-learning.html

Мені, як розробнику, треба розробити модель, яка б виконувала рутинну роботу замість людей. Проблема яка наразі вже виникла, це навчити ШІ працювати за правилами моєї компанії (далі правила компанії будуть згадуватись як “мої правила”).

Від самого OpenAI існують Fine-Tune моделі. В чому їх перевага? В тому, що в вас є змога продовжити навчання моделі за своїми правилами.
З кожним випуском інформація буде доповнюватись, стосовно Fine-Tune. Там далеко не все так просто як може здаватись. Пілотний номер лише розкаже про “грубе” звернення до чату з використанням API.

На жаль не знаю від чого залежить сума, але OpenAI видає гранти на користування їх API. В мене, на обліковому записі університету був грант на 18$, який дозволяв мені використовувати моделі ШІ через API:

Рис 3. - Грант на обліковому записі університету.

На особистому теж є грант, але на суму 5$:

Рис 4. - Грант на особистому обліковому записі.

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

const apiKey = 'your_key'; //ваш API ключ
const prompt = 'your_prompt'; //ваш запит до чату
const model = 'text-davinci-002'; //модель яку ви використовуєте

fetch('https://api.openai.com/v1/engines/' + model + '/completions', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ' + apiKey
  },
  body: JSON.stringify({
    prompt: prompt,
    max_tokens: 50,
    n: 1,
    stop: null,
    temperature: 1,
  })
})
.then(response => response.json())
.then(data => {
  console.log('Completion:', data.choices[0].text);
})
.catch(error => {
  console.error('Error fetching completions:', error);
});

Трохи поясню код:
prompt - ваше звернення, його бажано редагувати в шапці коду.
max_tokens - об’єм відповіді який буде надано чатом. Тобто чат не буде відповідати більше ніж 50 токенів*
n - це скільки разів буде згенерована відповідь на ваш запит.
stop - стоп слово. (поки що не повністю розумію як то краще використовувати).
temperature - унікальність тексту. Чим вище значення, тим унікальніше текст (від 0 до 1)


*що таке токен можна дізнатись за посиланням та на скриншоті наведеному нижче: https://platform.openai.com/docs/quickstart/adjust-your-settings

Рис. 5 - Пояснення що являє собою “токен”.

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

!!! НЕАКТУАЛЬНО !!!*
API - це не теж саме що чат з яким ми можемо взаємодіяти. Особливість API в тому, що кожен запит надсилається без попередньої історії звернень, ШІ не буде пам’ятати що ви в нього спитали в минулому запиті. На основі цього є розуміння що необхідно буде або надавати всю необхідну інформацію в запиті(токен коштує грошей) - або ж вчити модель розуміти що я в неї питаю
!!! НЕАКТУАЛЬНО !!!*

*дякую за уточнення користувача @Farg0 - API з побудовою в форматі чату підтримує попередню історію спілкування з ШІ. Документація за посиланням: https://platform.openai.com/docs/api-reference/chat

F.A.Q./:

Де взяти ключ API? - створити в власному кабінеті OpenAI https://platform.openai.com/account/api-keys

Як використати цей тестовий код? - знаходячись в браузері натисніть на клавіатурі клавішу “F12”, або якщо ви з ноутбука “Fn + F12” - далі знайдіть вкладку “Console”:

Рис. 6 - Розташування консолі в меню “F12”.

Останнє, що слід зробити - це скопіювати код, змінивши деякі змінні на свої параметри/дані та вставити в консоль, після чого ви повинні отримати відповідь від моделі “text-davinci-002” або іншої, якщо ви змінювали цей показник.

Conclusion/:

API влаштовано дуже цікавим чином. Вам може здатися що плата буде зніматись за кількість запитів, але це не так. Гроші знімаються лише за кількість відправлених та отриманих токенів. Витрати можна легко відстежувати в особистому кабінеті за посиланням: https://platform.openai.com/account/usage

Рис. 7 - Приклад розрахунків токенів в запиті.

Якщо дивитись на рисунок 7, то можна зрозуміти що я надіслав чату 625 токенів як запит, та отримав відповідь у кількості 130 токенів - разом я заплатив за 755 токенів. Ціни зазвичай вказуються за тисячу токенів. Ціну до кожної моделі можна дізнатись тут: https://openai.com/pricing

Рис. 8 - Приклад цін для власної Fine-tuning моделі.

Від автора:

Зазвичай я не буду писати що на вас очікує в наступному випуску, бо сам не буду цього знати, але наступна тема буде зав’язана на створені локального сервера та надіслання запитів до ШІ через свій сервер + пояснення того, як створювати якісні запити до ШІ (за моїм досвідом).

Буду також вдячний за відгук стосовно цієї статті, чи всі питання які були підняті - розкриті повною мірою? Всім гарного дня, скоро ще побачимось! :)

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
ретранслятор
ретранслятор@repeater

47Прочитань
0Автори
1Читачі
На Друкарні з 16 квітня

Вам також сподобається

Коментарі (4)

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

Вам також сподобається