Posted on 30. April 2023

Почніть роботу з OpenAI Completions та .NET

Read this article in your language IT | EN | DE | ES

 

Ласкаво просимо до цієї серії блогів про OpenAI та .NET!

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

Основна увага цієї публікації зосереджена на completions. Давайте розпочнемо!

Що таке completions?

Completions — це відповіді, згенеровані такою моделлю, як GPT.

Типи відповідей, які ви можете створити, включають:

Текст

Ввід:

Перекладіть «Hello» іспанською.

Вивід:

«Hola»

Код

Ввід

 

Створіть функцію C#, яка додає два цілі числа

Вивід

Зображення

Ввід

Затишний мопс в килимку

Вивід

Зображення, створене штучним інтелектом, зображення мопса 1 у масштабі 1 jpg

 

У цій публікації основна увага приділяється доповненню тексту та коду.

Як генеруються completions?

Є кілька частин, необхідних для створення completion:

- Модель

- Ввід користувача (запит)

Схема робочого процесу завершення AI (введення користувача, модель, завершення)

Ви можете розглядати модель як функцію зі збереженням стану. Модель — це система, розроблена для визначення шаблонів у даних за допомогою алгоритмів. Можливості моделі залежать від даних і алгоритмів, які використовуються для побудови моделі. Додаткову інформацію про різні типи моделей та їхні можливості див. у документації моделей Azure OpenAI Service .

Алгоритми, які використовуються для створення моделей OpenAI, таких як GPT, є нейронними мережами, відомими як трансформатори. Якщо говорити точніше, такі моделі, як GPT, часто називають великими мовними моделями (LLM - Large language model) через їх розмір (великі) і тип проблем, який вони призначені вирішувати (мова).

Технічні деталі LLM виходять за рамки цієї публікації. Однак, якщо вам цікаво дізнатися більше, перегляньте статтю Що робить ChatGPT…і чому він працює, а також документ Мовні моделі - це ті, хто навчається без особливих зусиль.

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

- Контекст

- Завдання / запитання

З огляду на наступний запит:

Підсумуйте це для учня другого класу:

Юпітер — п'ята планета від Сонця і найбільша в Сонячній системі. Це газовий гігант, маса якого в одну тисячу разів перевищує масу Сонця, і у два з половиною рази більша, ніж у всіх інших планет Сонячної системи разом узятих. Юпітер є одним із найяскравіших об’єктів, видимих ​​неозброєним оком на нічному небі, і був відомий стародавнім цивілізаціям ще до історичних пам’яток. Він названий на честь римського бога Юпітера.[19] Якщо дивитися з Землі, Юпітер може бути достатньо яскравим, щоб його відбите світло відкидало видимі тіні [20], і в середньому є третім за яскравістю природним об’єктом на нічному небі після Місяця та Венери.

Його можна розбити на:

- Контекст: Юпітер — п’ята планета від Сонця та найбільша в Сонячній системі. Це газовий гігант, маса якого в одну тисячу разів перевищує масу Сонця, і у два з половиною рази більша, ніж у всіх інших планет Сонячної системи разом узятих. Юпітер є одним із найяскравіших об’єктів, видимих ​​неозброєним оком на нічному небі, і був відомий стародавнім цивілізаціям ще до писемної історії. Він названий на честь римського бога Юпітера.[19] Якщо дивитися з Землі, Юпітер може бути достатньо яскравим, щоб його відбите світло відкидало видимі тіні [20], і в середньому є третім за яскравістю природним об’єктом на нічному небі після Місяця та Венери.

- Завдання/запитання: Узагальніть це для учня другого класу:

Отриманий completion має виглядати приблизно так:

Юпітер — п'ята планета від Сонця і найбільша в нашій Сонячній системі. Він дуже яскравий на нічному небі та відомий з давніх часів. Він названий на честь римського бога Юпітера. Зазвичай це третій за яскравістю об’єкт на нічному небі після Місяця та Венери.

 

Важливою частиною тут є завдання/запит, оскільки це те, що керує моделлю для отримання певного виду результату. Наприклад, якби я змінив завдання/запит на «Яка маса Юпітера порівняно з Сонцем?», я міг би розраховувати на завершення, подібне до «Юпітер має масу в тисячну частину від маси Сонця або 0,001 сонячної маси».

Як ви бачите, коли ви поєднуєте таку модель, як GPT, із добре сформованим запитом, вони формують ефективну основу для створення всіх типів додатків за допомогою ШІ.

Скільки тексту я можу надати у своєму запиті?

Розмір запиту вимірюється в токенах. Як правило, моделі GPT розбивають слова на «токени». Хоча звичайні багатоскладові слова часто складаються з однієї лексеми, менш поширені слова розбиваються на склади. Кожна модель має ліміт жетонів. Щоб отримати додаткові відомості, перегляньте документацію щодо моделей служби Azure OpenAI .

Щоб підрахувати кількість токенів у вашому запиті, скористайтеся пакетом Microsoft.ML.Tokenizers NuGet.

Подробиці режиму див. у прикладі токенізації .

Як почати генерувати власні completions?

Тепер, коли ви знаєте, що таке completions та як вони генеруються, настав час почати генерувати власні. Щоб почати:

1. Зареєструйтеся або подайте запит на доступ до OpenAI або Azure OpenAI Service .

2. Використовуйте свої облікові дані, щоб почати експериментувати із зразками OpenAI .NET .

Що далі

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

Ми хочемо почути від вас

Допоможіть нам дізнатися більше про те, як ви плануєте використовувати ШІ у своїх програмах. Приділіть кілька хвилин, щоб заповнити це опитування .

 

Чи є якісь теми, про які вам цікаво дізнатися більше? Дайте нам знати в коментарях.

Source



Exception: Stack empty.

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading