OpenAI ChatGPT 是一款非常強大的 AI 對話系統,只要輸入提示詞,就能在短短幾秒內生成流暢自然的回覆。ChatGPT 以其出色的語言理解和生成能力在業界獨樹一幟,如今,ChatGPT 早已在各個行業和領域廣泛應用,其影響力愈發顯著。無論是日常對話、創意寫作,還是專業諮詢、程式編寫,ChatGPT 都能提供令人驚嘆的智能協助,極大地提高了人類的工作效率和創造力。 本文檔主要介紹 OpenAI Chat Completion API 操作的使用流程,利用它我們可以輕鬆使用官方 OpenAI ChatGPT 的對話功能。Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
申請流程
要使用 OpenAI Chat Completion API,首先可以到 OpenAI Chat Completion API 頁面點擊「Acquire」按鈕,獲取請求所需要的憑證:
如果你尚未登入或註冊,會自動跳轉到登入頁面邀請您來註冊和登入,登入註冊之後會自動返回當前頁面。
在首次申請時會有免費額度贈送,可以免費使用該 API。
基本使用
接下來就可以在介面上填寫對應的內容,如圖所示:
authorization,直接在下拉列表裡面選擇即可。另一個參數是 model, model 就是我們選擇使用 OpenAI ChatGPT 官網模型類別,這裡我們主要有 20 種模型,詳情可以看我們提供的模型。最後一個參數是messages,messages是我們輸入的提問詞數組,它是一個數組,表示可以同時上傳多個提問詞,每個提問詞包含了 role 和 content,其中 role 表示提問者的角色,我們提供了三種身份,分別為 user 、assistant、system 。另一個 content 就是我們提問的具體內容。
同時您可以注意到右側有對應的調用代碼生成,您可以複製代碼直接運行,也可以直接點擊「Try」按鈕進行測試。
常用可選參數:
max_tokens:限制單次回覆的最大 token 數。temperature:生成隨機性,0-2 之間,值越大越發散。n:一次生成多少條候選回覆。response_format:返回格式設置。

id,生成此次對話任務的 ID,用於唯一標識此次對話任務。model,選擇的 OpenAI ChatGPT 官網模型。choices,ChatGPT 針對提問詞給予的回答信息。usage:針對本次問答對 token 的統計信息。
choices 是包含了 ChatGPT 的回答信息,它裡面的 choices 是 ChatGPT,可以發現如圖所示。

choices 裡面的 content 字段包含了 ChatGPT 回覆的具體內容。
流式響應
該介面也支持流式響應,這對網頁對接十分有用,可以讓網頁實現逐字顯示效果。 如果想流式返回響應,可以更改請求頭裡面的stream 參數,修改為 true。
修改如圖所示,不過調用代碼需要有對應的更改才能支持流式響應。

stream 修改為 true 之後,API 將逐行返回對應的 JSON 數據,在代碼層面我們需要做相應的修改來獲得逐行的結果。
Python 樣例調用代碼:
data ,data 裡面的 choices 即為最新的回答內容,與上文介紹的內容一致。choices 是新增的回答內容,您可以根據結果來對接到您的系統中。同時流式響應的結束是根據 data 的內容來判斷的,如果內容為 [DONE],則表示流式響應回答已經全部結束。返回的 data 結果一共有多個字段,介紹如下:
id,生成此次對話任務的 ID,用於唯一標識此次對話任務。model,選擇的 OpenAI ChatGPT 官網模型。choices,ChatGPT 針對提問詞給予的回答信息。
多輪對話
如果您想要對接多輪對話功能,需要對messages 字段上傳多個提問詞,多個提問詞的具體示例如下圖所示:

choices 包含的信息與基本使用的內容是一致的,這個包含了 ChatGPT 針對多個對話進行回覆的具體內容,這樣就可以根據多個對話內容來回答對應的問題了。
對接 OpenAI-Python
OpenAI Chat Completion API 服務的上游是官方的 OpenAI 服務,具體可查看官方 OpenAI-Python,本文將簡要介紹如何使用官方提供的服務。- 首先需要搭建本地
Python環境,此過程可谷歌搜索一下。 - 下載安裝開發環境,比如安裝 VSCode 編輯器。
- 配置
OpenAI環境變量。
- 在項目文件夾裡,創建一個名為
.env的文件,並保存 .env文件內容:
sk-xxx 使用自己的 key 替換。OPENAI_BASE_URL 是訪問 OpenAI 的代理接口。
- 安裝項目依賴的包
- 創建示例源代碼文件
index.py ,具體內容如下:
聯網模型
gpt-3.5-browsing 和 gpt-4-browsing 模型與其它模型不同,它可以根據提問詞來進行聯網搜索,並且將聯網搜索的結果進行適當的調整返回給你,本文將通過一個具體示例來演示聯網功能,接下來就可以在 OpenAI Chat Completion API 界面上填寫對應的內容,如圖所示:

choices 裡面的回答信息是根據聯網查詢後得到的,並且也給出了相關的鏈接,choices 裡面的回答信息是要通過 markdown 語法進行渲染,這樣才能獲得最佳的體驗,最後這也體現出我們模型的聯網功能的強大優勢。
視覺模型
gpt-4o 是 OpenAI 開發的多模態大型語言模型,它在 GPT-4 的基礎上增加了視覺理解能力。這個模型可以同時處理文本和圖像輸入,實現了跨模態的理解和生成。 使用 gpt-4o 模型的文本處理是與上文的基本使用內容一致的,下面將簡要介紹一下如果使用模型的圖像處理能力。 使用 gpt-4o 模型的圖像處理能力主要是通過在原有的content 內容基礎上添加一個 type 字段,通過該字段可以知道上傳的是文本還是圖片,從而使用 gpt-4o 模型的圖像處理能力,下面主要講述採用 Curl 和 Python 兩種方式來調用該功能。
- Curl 腳本方式
- Python 腳本方式
GPT-4o 繪圖模型
請求樣例:錯誤處理
在調用 API 時,如果遇到錯誤,API 會返回相應的錯誤代碼和信息。例如:400 token_mismatched:錯誤的請求,可能是因為缺少或無效的參數。400 api_not_implemented:錯誤的請求,可能是因為缺少或無效的參數。401 invalid_token:未授權,無效或缺少授權令牌。429 too_many_requests:請求過多,您已超過速率限制。500 api_error:內部伺服器錯誤,伺服器出現問題。

