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' : 'tell me a joke' | 'messages': [{'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.
