Щоб навчити гідну модель машинного навчання, потрібні роки.
Комп’ютери не такі розумні, як ми вважаємо, тому вони не поспішають, навчаючись знаходити різницю між кішками та собаками.
Але, на щастя, вам не потрібно витрачати роки на збирання милих фотографій котиків та песиків, щоб навчити власну модель. Натомість ви можете скористатися існуючими моделями, навченими сотнями людей. Ці моделі вже досить кмітливі: хтось із них може написати вірш, хтось — код, а хтось — намалювати красиві картинки.
Модель, на якій я хотіла сьогодні зупинитися, це GPT. Деякі навіть називають її гуманоїдом у процесі створення — настільки вона розумна. Вона приймає підказку і видає вам текст як висновок.
Модель може створити будь-що: від твіту до цілого вірша чи короткого оповідання. Нещодавно мені було цікаво інтегрувати її в один із моїх проєктів Next.js, тому я дізналася про кілька витончених прийомів, якими хочу поділитися сьогодні.
💡 Підказка: зверніть увагу, що цей гайд не підходить для початківців. Я припускаю, що ви вже знаєте JavaScript та використовуєте у своєму проекті Next.js або Node.js. Якщо вам потрібна покрокова інструкція, я залишу посилання у кінці статті.
Якщо ви ніколи раніше не працювали з заздалегідь навченими моделями, створіть безплатний обліковий запис OpenAI і зустрінемося на ігровому майданчику.
Як новий користувач, ви отримаєте кредит $18, який буде дійсним протягом декількох місяців, щоб ви могли вільно почати експериментувати.
Перш ніж приступити до написання коду, добре зрозуміти, як модель працює. Підказка — це текст, який ви пишете англійською.
Так що вирушайте на ігровий майданчик і попросіть його вам щось написати. Все що завгодно. Просто дайте більше деталей.
Декілька ідей, щоб почати:
💡 Порада: будьте якомога конкретнішими. Якщо ви порівняєте загальні підказки, такі як «Напиши мені…», з більш конкретними («Згенеруй 10 унікальних ідей про…»), ви швидко помітите різницю!
Ще один хитрий трюк, який ви можете використовувати — це ланцюжок підказок.
Скопіюйте вкладку з ігровим майданчиком та використовуйте отриманий результат у другому вікні.
Наприклад:
Ви можете робити це стільки разів, скільки захочете, і ви будете отримувати все більш якісні результати. Пам’ятайте про цей трюк, коли почнете писати свій код. Там ви можете зв’язати стільки запитів, скільки хочете, використовуючи попередній висновок як нового введення.
Я не збираюся вдаватися до 101 подробиць про ML, але коротко:
Спрощена версія того, що відбувається під капотом, виглядає приблизно так:
output = input * parameter
Є кілька способів інтеграції моделей OpenAI, але найпростіший — використовувати npm-пакет. Це пакет NodeJS, і ви можете встановити його, як завжди, у свої проекти JavaScript, використовуючи npm або yarn:
$ npm install openai
Після того, як ви його встановили, потрібно створити файл .env
, в якому зберігатиметься ваш ключ Open AI, і додати новий файл до серверної частини, який буде викликати API.
Тут можна отримати ключ API. Отримавши його, додайте новий рядок у файл .env
:
OPENAI_API_KEY="your-key-here"
💡 Підказка: якщо ви часто тестуєте свою програму, у вас, ймовірно, скоро закінчиться кредит. Не забудьте перевірити залишок тут.
Тепер єдиний шматок коду на бекенді, який вам потрібен, це:
import { Configuration, OpenAIApi } from 'openai'; const configuration = new Configuration({ apiKey: process.env.OPENAI_API_KEY, }); const openai = new OpenAIApi(configuration); const basePromptPrefix = "Write me a tweet about..."; const generateAction = async (req, res) => { // show your prompt console.log(`API: ${basePromptPrefix}${req.body.userInput}`) const baseCompletion = await openai.createCompletion({ model: 'text-davinci-003', prompt: `${basePromptPrefix}${req.body.userInput}`, temperature: 0.7, max_tokens: 250, }); const basePromptOutput = baseCompletion.data.choices.pop(); res.status(200).json({ output: basePromptOutput }); }; export default generateAction;
Ось що ми робимо:
Це фрагмент коду з апки Next.js, тому на зовнішньому інтерфейсі я можу просто викликати свою нову кінцеву точку та передати їй запрошення користувача як параметр. Потім я можу зберегти результат у змінній та робити з ним все, що захочу. Це було не складно, правда?
Сподіваюся, ця стаття надихнула вас на створення чогось приголомшливого!
Якщо ви новачок і шукаєте більше покрокового посібника, я рекомендую ознайомитися з цим чудовим безплатним курсом від Buildspace. Успіхів!
Це текст з особистого блогу, опублікований з дозволу авторки.
Коротко про українську IT-сферу у 2024 році Це коли на одну вакансію Middle розробника по…
Формування криптовалютної галузі в Україні почалося ще у 2014 – саме тоді з'явилися перші стартапи,…
Автор цього блогу — Python-девелопер Сергій Солдатов, який вирішив створити досить унікальний продукт. І це…
Думки шукачів діляться на: «так, однозначно» і «ні, не вартує, я все і так про…
Синдром студента — це форма прокрастинації, яка полягає в тому, що людина, якій дали завдання,…
Git — це найпопулярніша CVS прямо зараз, яка дозволяє відстежувати історію розробки і спільно працювати.…