Chat Completions — стандартный API для работы с новейшими моделями OpenAI. Узнать, как начать работу с ним, можно в нашем руководстве для разработчиков по генерации текста.
По состоянию на 11 марта 2025 года мы выпустили базовые компоненты нашей новой платформы агентов. Подробнее см. нашу документацию API для Responses API, инструментов, включая веб-поиск, поиск по файлам и управление компьютером, а также Agents SDK с трассировкой.
От промптов к сообщениям
Чтобы вести более интерактивный и динамичный диалог с нашими моделями, вместо устаревшего стиля промптов, используемого в Completions, можно использовать сообщения в формате чата.
Вот как это работает:
Вместо того чтобы отправлять один строковый промпт, вы отправляете на вход список сообщений.
У каждого сообщения есть
roleиcontent.Распространенные роли включают
system,user,assistant,developerиtool. Сообщения с ролью tool используются для результатов инструментов/функций и должны соответствовать вызовам инструментов ассистента. Для обратной совместимости сообщения function могут по-прежнему приниматься и преобразовываться в сообщения tool при обработке на сервере. Сообщения developer могут переназначаться в зависимости от поддержки модели.В
contentсодержится текст сообщения от соответствующей роли.Системная инструкция может задавать высокоуровневые указания для беседы
Сообщения обрабатываются в том порядке, в котором они появляются в списке, и ассистент отвечает соответствующим образом.
Даже базовые запросы Completions можно выполнять через Chat Completions, как показано ниже:
| Раньше | Теперь | | 'prompt' : 'расскажи мне шутку' | 'messages': <br>[{'role':'user', 'content':'расскажи мне шутку'}] |
Теперь вести диалог с моделью стало проще, чем когда-либо: достаточно расширять список сообщений в беседе.
'messages': [{'role':'user', 'content':'расскажи мне шутку'},
{'role':'assistant', 'content':'почему курица перешла дорогу'},
{'role':'user', 'content':'не знаю, почему курица перешла дорогу'}]Системные инструкции
Вы также можете использовать инструкцию системного уровня, чтобы направлять поведение модели на протяжении всего разговора. Например, используя системную инструкцию и такое сообщение
'messages': [{'role':'system', 'content':'Ты ассистент, который говорит как Шекспир.'},
{'role':'user', 'content':'расскажи мне шутку'}, приведет примерно к следующему
{...
'message': {'role':'assistant',
'content':'Почему курица перешла дорогу? Чтобы попасть на другую сторону, но, воистину, та сторона была полна бед и опасностей, так что она быстро вернулась туда, откуда пришла, право!'}
...}Если вы хотите изучить варианты, при которых не нужно самостоятельно управлять историей переписки, ознакомьтесь с Assistants API.
