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

Перехід від Completions до Chat Completions в OpenAI API

Як перейти зі застарілого OpenAI Completions API до Chat Completions

Оновлено: 9 hours ago

Chat Completions — це стандартний API для використання з найновішими моделями OpenAI. Дізнатися, як почати роботу з ним, можна в нашому посібнику розробника з генерації тексту.

Станом на 11 березня 2025 року ми випустили базові компоненти нашої нової платформи агентів. Докладніше див. в нашій документації API для Responses API, інструментів, зокрема вебпошуку, пошуку файлів і використання комп’ютера, а також нашого SDK для агентів із трасуванням.

Від запитів до повідомлень

Щоб вести інтерактивнішу й динамічнішу розмову з нашими моделями, можна використовувати повідомлення у форматі чату замість застарілого формату запитів, що застосовувався із completions.

Ось як це працює:

  • Замість того щоб надсилати один рядок запиту, ви передаєте на вхід список об’єктів повідомлень.

  • Кожне повідомлення має role і зазвичай content.

  • Поширені ролі: system, user, assistant, developer і tool. Повідомлення інструментів використовуються для результатів інструментів або функцій і мають відповідати викликам інструментів асистента. Для зворотної сумісності повідомлення функцій усе ще можуть прийматися й перетворюватися на повідомлення інструментів під час обробки на сервері. Повідомлення розробника можуть переназначатися залежно від підтримки моделлю.

  • Поле content містить текст повідомлення від відповідної ролі.

  • Системна інструкція може задавати загальні вказівки для розмови

  • Повідомлення обробляються в тому порядку, у якому вони з’являються в списку, а асистент відповідає відповідно.

Навіть базові запити Completions можна виконувати через Chat Completions, як показано нижче:

| Раніше | Тепер | | 'prompt' : 'tell me a joke' | 'messages': <br>[{'role':'user', 'content':'tell me a joke'}] |

Тепер вести діалог із моделлю простіше, ніж будь-коли: достатньо розширювати список повідомлень у розмові.

'messages': [{'role':'user', 'content':'розкажи мені жарт'}, 
{'role':'assistant', 'content':'чому курка перейшла дорогу'},
{'role':'user', 'content':'Я не знаю, чому курка перейшла дорогу'}]

Системні інструкції

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

'messages': [{'role':'system', 'content':'Ви — помічник, який говорить у стилі Шекспіра.'}, 
{'role':'user', 'content':'розкажи мені жарт'},

призведе до чогось на кшталт

{...
'message': {'role':'assistant',
'content':'Чому курка перейшла дорогу? Щоб дістатися на інший бік, але, воістину, той бік був сповнений ризику й небезпеки, тож вона хутко повернулася звідки прийшла, істинно!'}
...}

Якщо ви хочете розглянути варіанти, які не вимагають самостійно керувати історією розмови з повідомленнями, ознайомтеся з Assistants API.

Чи була ця стаття корисною?