如何使用 ChatGPT API

Chris Lee
5 min readMar 5, 2024

用 Python 調用 OpenAI 的 API

ChatGPT 有多好用應該不用特意廣告了,但對一般人來說,除了使用 OpenAI 提供的 ChatGPT Web 來使用模型外,身為專業的資料科學家及工程師,一定希望可以透過 API 的方式來調用模型,甚至跟其他功能做整合。

目前 API 有微軟的 Azure openai 服務,但主要是針對企業版的用戶,一般玩家想要玩還是建議先從 OpenAI 的官方API入手。

我們可以看到 OpenAI 的開發者平台文檔,有非常詳細的說明,我們就根據文檔來示範一下。

https://platform.openai.com/docs/overview

1. 申請金鑰

老實說 API 是要錢的,但每個帳號都需要經過手機認證才能使用,所以要洗免洗帳號來白嫖可以放棄了~

但每個新帳號都會有免費額度 Free trial 可以玩,只要在限定期間內都不會花到錢喲。

到帳號控制台,選擇 API key,右邊點 Create new secret key 建立一個金鑰,請務必記得自己的金鑰,然後不要外流。

2. 安裝套件並載入金鑰

安裝套件 openai 並打開 jupyter notebook,這邊使用 colab 作為示範:

你可能會將金鑰導入環境變數,或用其他更安全的方式載入,這邊示範最簡單暴力的寫法:

from openai import OpenAI

# 記得key不要洩漏出去
api_key = '把剛剛的 secret key 貼在這邊'
client = OpenAI(api_key = api_key)

3. 選擇 Model 及開始對話

根據建立的 client 就能開始對話囉 :

completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "assistant", "content": "你是一個專業的AI教學顧問,請根據問題使用繁體中文回覆"},
{"role": "user", "content": "我想學習deep learning要從哪邊開始入手"}
]
)

print(completion.choices[0].message)

Model 是 OpenAI 提供調用的模型,可以參考官方文檔,但要特別注意的是,免費仔是沒有 GPT-4 and GPT-4 Turbo 可以用的,主要是 OpenAI 為了防止大家濫用,所以你要先課金累積一定使用量才會自動開通喲。

再來說下 messages 內容,主要包含幾個內容:

System:代表系統本身,控制系統運作,不參與對話,通常用不到
Assistant:負責引導或提示GPT進行回覆
User:使用者對GPT說的內容

4. 連續對話

如果你今天要連續對話,且能用 API 進行溝通,就需要記錄歷史訊息:

# 假設這是您之前的對話歷史
conversation_history = [
{"role": "assistant", "content": "你是一個專業的AI教學顧問,請根據問題使用繁體中文回覆"},
{"role": "user", "content": "我想學習deep learning要從哪邊開始入手"}
]

# 新的提問
new_user_input = "請問有推薦的入門書籍或資源嗎?"

# 將新提問加到對話歷史
conversation_history.append({"role": "user", "content": new_user_input})

# 呼叫API,發送完整的對話歷史
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=conversation_history
)

# 回答並將再加入到對話歷史中
new_answer = completion.choices[0].message
print(new_answer)

5. 用量費用

最後就是用量的注意了,API 大多都是以量計價的,可以在帳號後台的 Usage 觀察目前使用量。

不然在官方網站中,也有說明計價方式,總之確保費用狀況是非常重要的。

OpenAI 的金鑰可以用在各種第三方工具中,如 Chrome 的翻譯插件、或是LLM 的整合工具,但使用前都要先注意資安問題喲。

我們活在一個搞懂 LLM 不如用好 LLM 的時代,一起嘗試把 GPT 跟各種應用結合吧~

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Chris Lee
Chris Lee

Written by Chris Lee

隱身在金融業的資料科學家

No responses yet

Write a response