Chat Completions 是搭配 OpenAI 最新模型使用的標準 API。你可以透過我們的文字生成開發者指南了解如何開始使用。
截至 2025 年 3 月 11 日,我們已釋出全新 Agents 平台的基礎元件。詳情請參閱我們的Responses API 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 instruction)可為整段對話提供高層級的指引
messages 會依其在清單中的順序被處理,而 assistant 會據此回應。
即使是最基本的 Completions 請求,也能透過 Chat Completions 完成,如下所示:
| 以前 | 現在 |
'prompt' : '講個笑話' | 'messages': [{'role':'user', 'content':'講個笑話'}] |
現在,只要延伸對話中的 message 清單,就能比以往更輕鬆地與模型來回對話。
'messages': [{'role':'user', 'content':'講個笑話'},
{'role':'assistant', 'content':'為什麼雞要過馬路'},
{'role':'user', 'content':'我不知道,為什麼雞要過馬路'}]系統指令
你也可以使用 system 層級的指令,在整段對話中引導模型的行為。舉例來說,使用如下的 system 指令與 message:
'messages': [{'role':'system', 'content':'你是一個說話像莎士比亞的助理。'},
{'role':'user', 'content':'講個笑話'}, 會得到類似這樣的結果:
{...
'message': {'role':'assistant',
'content':'為何那雞要過馬路?只為到彼岸;然彼岸危機四伏、險象環生,遂疾疾折返來處,誠哉!'}
...}如果你想探索不需要自己管理訊息對話歷史的選項,請參考Assistants API。
