Chat Completions 是与 OpenAI 最新模型搭配使用的标准 API。你可以通过我们的文本生成开发者指南了解如何开始使用它。
截至 2025 年 3 月 11 日,我们已经发布了新的智能体平台的构建模块。有关详细信息,请参阅我们的 API 文档:Responses API、包括网页搜索、文件搜索和计算机使用在内的工具,以及带有追踪功能的智能体 SDK。
从提示到消息
为了与我们的模型进行更具互动性和动态性的对话,你可以使用聊天格式的消息,而不是 Completions 所用的旧版提示样式。
其工作方式如下:
你发送的输入不是单个字符串形式的提示,而是一组消息。
每条消息都有一个
role和content。常见角色包括
system、user、assistant、developer和tool。工具消息用于工具/函数结果,并且必须对应于助手的工具调用。为实现向后兼容,函数消息可能仍会被接受,并在服务器处理时转换为工具消息。开发者消息可能会根据模型支持情况进行重新映射。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。
