Chat Completions 是与 OpenAI 最新模型配套使用的标准 API。你可以通过我们的文本生成开发者指南了解如何快速上手。
截至 2025 年 3 月 11 日,我们已发布全新 Agents 平台的基础构建模块。详情请参阅我们的 API 文档:Responses API,以及包含Web Search、File Search 和 Computer Use 在内的 Tools,以及带有Tracing 的 Agents SDK。
从 Prompts 到 Messages
为了与模型进行更具交互性与动态性的对话,你可以使用聊天格式的 messages,而不是 completions 中使用的旧式 prompt 风格。
它的工作方式如下:
你不再发送单个字符串作为 prompt,而是将一组 messages 列表作为输入发送。
列表中的每条 message 有两个属性:role 和 content。
“role” 可以取三个值之一:“system”、“user” 或 “assistant”
“content” 包含该 role 的消息文本。
system 指令可以为对话提供高层级的指导。
messages 会按列表中的顺序处理,assistant 会据此进行回复。
即使是最基础的 Completions 请求,也可以通过 Chat Completions 来完成,如下所示:
| 以前 | 现在 |
'prompt' : '讲个笑话' | 'messages': [{'role':'user', 'content':'讲个笑话'}] |
现在,只需在对话中扩展 messages 列表,就能比以往更轻松地与模型来回对话。
'messages': [{'role':'user', 'content':'讲个笑话'},
{'role':'assistant', 'content':'鸡为什么要过马路'},
{'role':'user', 'content':'我不知道,鸡为什么要过马路'}]System 指令
你也可以使用 system 级指令在整个对话过程中引导模型的行为。例如,使用如下 system 指令和 message:
'messages': [{'role':'system', 'content':'你是一位说话像莎士比亚一样的助手。'},
{'role':'user', 'content':'讲个笑话'}, 会得到类似这样的结果:
{...
'message': {'role':'assistant',
'content':'鸡为何要过马路?为至对岸也;然则,诚然,那对岸险象环生、危机四伏,故它匆匆自来处折返,的确如此!'}
...}如果你想探索无需自己管理 message 对话历史的方案,请查看 Assistants API。
