Перейти до основного вмісту
OpenAI ChatGPT — це дуже потужна система AI-діалогів, достатньо ввести підказку, і вона зможе за лічені секунди згенерувати плавну та природну відповідь. ChatGPT вирізняється в галузі своїми видатними можливостями розуміння та генерації мови, і сьогодні ChatGPT уже широко використовується в різних галузях і сферах, а його вплив стає дедалі помітнішим. Чи то щоденні діалоги, творче письмо, чи професійні консультації, програмування коду — ChatGPT може надати вражаючу інтелектуальну допомогу, значно підвищуючи ефективність роботи та творчі можливості людини. Цей документ головним чином представляє процес використання операцій OpenAI Chat Completion API, за допомогою якого ми можемо легко використовувати функції діалогу офіційного OpenAI ChatGPT.

GPT-6.1 Sol

Використовуйте model: "gpt-6.1-sol" для вибору цієї моделі. Підтримуються потокове виведення, виклики функцій, структуроване виведення та введення зображень. Протягом першого тижня після відкриття доступ надається лише верифікованим власникам ACE T1+ (щонайменше 100 000 ACE) або авторизованим користувачам; конкретний час відкриття доступу визначається підказками доступу в консолі. Рівні міркування підтримують low, medium, high, xhigh і max; none або minimal наразі не підтримуються. Рекомендується почати з reasoning_effort: "low". Якщо введення перевищує 272 000 tokens, до всього запиту застосовується тарифікація довгого контексту, а вартість визначається поточними цінами в консолі.

Процес подання заявки

Щоб використовувати OpenAI Chat Completion API, спочатку перейдіть до консолі Ace Data Cloud, щоб отримати ваш API Token, і збережіть його для подальшого використання. Якщо ви ще не ввійшли в систему або не зареєструвалися, вас буде автоматично перенаправлено на сторінку входу із запрошенням зареєструватися та увійти, після завершення ви автоматично повернетеся на поточну сторінку. Один API Token дозволяє викликати всі сервіси платформи, не потрібно подавати окрему заявку для кожного сервісу. Під час першого подання заявки буде надано безкоштовний ліміт для безкоштовного ознайомлення; коли ліміту недостатньо, ви можете поповнити універсальний баланс у консолі.
📘 Повна документація: OpenAI Chat Completion API →

Базове використання

Далі можна заповнити відповідний вміст в інтерфейсі, як показано на зображенні:

Під час першого використання цього інтерфейсу нам потрібно заповнити щонайменше три поля: одне з них — authorization, його можна безпосередньо вибрати у розкривному списку. Інший параметр — model, model — це категорія моделі OpenAI ChatGPT, яку ми обираємо для використання; тут у нас є переважно 20 моделей, деталі можна переглянути в наданих нами моделях. Останній параметр — messages, messages — це масив введених нами запитів, це масив, який означає, що можна одночасно завантажувати кілька запитів; кожен запит містить role і content, де role позначає роль запитувача, ми надаємо три ролі: user, assistant, system. Інший параметр content — це конкретний зміст нашого запитання. Водночас ви можете звернути увагу, що праворуч генерується відповідний код виклику; ви можете скопіювати код і запустити його безпосередньо або безпосередньо натиснути кнопку «Try» для тестування. Поширені необов’язкові параметри:
  • max_tokens: обмежує максимальну кількість token в одній відповіді.
  • temperature: випадковість генерації, від 0 до 2, чим більше значення, тим більш розгалужений результат.
  • n: скільки варіантів відповідей генерувати за один раз.
  • response_format: налаштування формату повернення.

Після виклику ми бачимо, що результат повернення має такий вигляд:
Результат повернення загалом має кілька полів, описаних нижче:
  • id — ID згенерованого завдання цього діалогу, що використовується для унікальної ідентифікації цього завдання діалогу.
  • model — обрана модель OpenAI ChatGPT з офіційного сайту.
  • choices — інформація про відповідь ChatGPT на запит.
  • usage : статистична інформація про token для цієї сесії запитань і відповідей.
Серед них choices містить інформацію про відповіді ChatGPT, choices всередині нього — це ChatGPT, як можна побачити на зображенні.

Можна побачити, що поле content всередині choices містить конкретний зміст відповіді ChatGPT.

Потокова відповідь

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

Після зміни stream на true API повертатиме відповідні JSON-дані рядок за рядком, а на рівні коду нам потрібно внести відповідні зміни, щоб отримувати результати по рядках. Приклад коду виклику Python:
Ефект виведення такий:
Можна побачити, що у відповіді є багато data, а choices у data є найновішим вмістом відповіді, що узгоджується з описаним вище. choices — це доданий вміст відповіді, і ви можете на основі результату інтегрувати його у свою систему. Водночас завершення потокової відповіді визначається за вмістом data: якщо вмістом є [DONE], це означає, що відповідь потокової відповіді повністю завершена. Повернутий результат data містить кілька полів, описаних нижче:
  • id — ID згенерованого завдання цього діалогу, що використовується для унікальної ідентифікації цього завдання діалогу.
  • model — вибрана модель з офіційного сайту OpenAI ChatGPT.
  • choices — інформація про відповідь, надану ChatGPT на запит.
JavaScript також підтримується, наприклад, код потокового виклику для Node.js наведено нижче:
Приклад коду Java:
Інші мови можна додатково самостійно адаптувати, принципи всюди однакові.

Багатораундовий діалог

Якщо ви хочете інтегрувати функцію багатораундового діалогу, потрібно передати кілька запитів у поле messages; конкретний приклад кількох запитів показано на зображенні нижче:

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

Інтеграція з OpenAI-Python

OpenAI Chat Completion API сумісний з офіційним інтерфейсом OpenAI; для інтеграції можна безпосередньо використовувати офіційний SDK OpenAI-Python. У цій статті буде коротко представлено спосіб використання.
  1. Спочатку потрібно налаштувати локальне середовище Python; цей процес можна пошукати в Google.
  2. Завантажте та встановіть середовище розробки, наприклад редактор VSCode.
  3. Налаштуйте змінні середовища OpenAI.
  • У папці проєкту створіть файл із назвою .env і збережіть його.
  • Вміст файлу .env:
Замініть sk-xxx на власний key. OPENAI_BASE_URL є проксі-інтерфейсом для доступу до OpenAI.
  1. Встановіть пакети залежностей проєкту
У Mac OS команда має вигляд:
  1. Створіть файл вихідного коду прикладу
Припустімо, ми створили приклад коду index.py, конкретний вміст такий:

Моделі з доступом до інтернету

Моделі gpt-3.5-browsing і gpt-4-browsing відрізняються від інших моделей: вони можуть виконувати пошук в інтернеті відповідно до запиту та повертати вам належним чином скориговані результати пошуку в інтернеті. У цій статті функцію доступу до інтернету буде продемонстровано на конкретному прикладі; далі можна заповнити відповідний вміст в інтерфейсі OpenAI Chat Completion API, як показано на рисунку:

Водночас ви можете звернути увагу, що праворуч є генерація відповідного коду виклику; ви можете скопіювати код і запустити його безпосередньо, або прямо натиснути кнопку «Try» для тестування.

Після виклику ми виявляємо, що результат повернення такий:
Можна побачити, що інформація відповіді в choices отримана на основі запиту через інтернет, а також надано відповідні посилання. Інформацію відповіді в choices потрібно рендерити за допомогою синтаксису markdown, щоб отримати найкращий досвід; зрештою, це також відображає потужні переваги функції доступу нашої моделі до інтернету.

Візуальна модель

gpt-4o — це мультимодальна велика мовна модель, розроблена OpenAI; на основі GPT-4 вона додає можливість візуального розуміння. Ця модель може одночасно обробляти текстові та зображувальні входи, реалізуючи міжмодальне розуміння й генерацію. Текстова обробка з використанням моделі gpt-4o узгоджується з базовим використанням, описаним вище; нижче буде коротко представлено, як використовувати можливості моделі для обробки зображень. Можливості моделі gpt-4o для обробки зображень переважно використовуються шляхом додавання поля type на основі початкового вмісту content; за допомогою цього поля можна визначити, чи завантажено текст або зображення, і таким чином використовувати можливості моделі gpt-4o для обробки зображень. Нижче переважно описано виклик цієї функції двома способами: Curl і Python.
  • Спосіб зі скриптом Curl
  • Спосіб зі скриптом Python
Потім можна отримати наведений нижче результат, інформація про поля в результаті відповідає наведеній вище, конкретно це виглядає так:
Можна побачити, що вміст відповіді ґрунтується на зображенні, тому за допомогою наведених вище двох способів можна легко використовувати можливості моделі gpt-4-vision для обробки тексту та зображень. Окрім gpt-4o, є ще одна модель із нижчою вартістю, яка називається gpt-4o-mini. gpt-4o-mini — це новітнє покоління великих мовних моделей, розроблене OpenAI, вона не лише швидко відповідає, але й коштує дешевше, а також підтримує мультимодальність. Щодо використання функції vision можна звернутися до вмісту про використання моделі gpt-4o вище.

Модель малювання GPT-4o

Генерація зображення на основі референсного зображення

Нижче наведено приклад генерації зображення в користувацькому стилі на основі зображення, спочатку давайте подивимося на зображення, яке ми вводимо, як показано нижче: Можна побачити, що референсне зображення — це зображення реальної людини, ми можемо змінити його стиль, наприклад, перетворити його на зображення в аніме-стилі, конкретний приклад запиту:
Приклад результату:
Серед них message.content у choices є повним результатом згенерованого діалогу, зображення міститься в ньому у форматі Markdown (посилання на зображення є тимчасовим, будь ласка, своєчасно завантажте та збережіть його). Можна побачити, що згенероване зображення дійсно виконане в аніме-стилі, конкретно це показано на зображенні нижче:

Генерація зображення лише з тексту

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

Генерація одного зображення з кількох зображень

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

Нижче ми використаємо згенерувати хлопця, який тримає каву та ось-ось її вип'є як приклад, конкретний приклад наведено нижче:
Приклад результату:
Як видно, згенерований результат дійсно створено на основі двох зображень, нижче наведено конкретний результат:

Обробка помилок

Під час виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests:Забагато запитів, ви перевищили обмеження швидкості.
  • 500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді з помилкою

Висновок

Завдяки цьому документу ви вже дізналися, як використовувати OpenAI Chat Completion API для легкого впровадження функції діалогу офіційного OpenAI ChatGPT. Сподіваємося, цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас виникнуть будь-які запитання, будь ласка, звертайтеся до нашої команди технічної підтримки.