OpenAI
此頁面由機器翻譯。查看原始英文文章

在 OpenAI API 中從 Completions 轉移至 Chat Completions

如何從舊版 OpenAI Completions API 遷移至 Chat Completions

更新日期:19 hours ago

Chat Completions 是搭配 OpenAI 最新模型使用的標準 API。你可以透過我們的 文字生成開發者指南,了解如何開始使用。

截至 2025 年 3 月 11 日,我們已發布全新智慧體平台的建構模組。如需詳細資訊,請參閱我們的 Responses API API 文件、包含 網頁搜尋檔案搜尋電腦使用 的工具,以及我們含有 追蹤智慧體 SDK

從提示詞到訊息

若要與我們的模型進行更具互動性和動態的對話,你可以使用聊天格式的訊息,取代 Completions 所用的舊版提示詞樣式。

運作方式如下:

  • 你不再將單一字串作為提示詞傳送,而是傳送一份訊息清單作為輸入。

  • 每則訊息都有 rolecontent

  • 常見角色包括 systemuserassistantdevelopertool。工具訊息用於工具/函式結果,且必須對應至助理的工具呼叫。為了向後相容,函式訊息仍可被接受,並在伺服器處理時轉換為工具訊息。開發者訊息可能會依模型支援情況重新對應。

  • content 會包含來自該角色的訊息文字。

  • 系統指示可以為對話提供高層級指示

  • 訊息會依照在清單中出現的順序處理,助理也會據此回應。

即使是基本的 Completions 請求,也可以透過 Chat Completions 完成,如下所示:

| 以往 | 現在 | | 'prompt' : 'tell me a joke' | 'messages': <br>[{'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

這篇文章有幫助嗎?