使用 OpenAI
OpenAI 是一個由馬斯克所創立的是人工智慧( AI )研究實驗室,在 2022 年底推出了 ChatGPT 的自然語言生成式模型,立刻造成了非常廣大的迴響,這篇教學會介紹如何使用 OpenAI,以及如何透過 Python 串接 OpenAI 的 API。
快速導覽:
- 本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
- 因為 OpenAI 目前仍持續發展,如果遇到程式碼跑不起來,有可能因為 OpenAI 的 API 有進行調整,請回饋讓我知道,感謝!
註冊 OpenAI
前往 OpenAI 的網站。
OpenAI 網站:[https://openai.com/]https://openai.com/)
點擊最上方的「Try」,會開啟註冊或登入的頁面 ( 點擊「API」按鈕,也會開啟註冊或登入的頁面 ),點擊 Sign up 按鈕進行註冊,註冊時需要使用可以接收簡訊認證碼的手機電話號碼。
透過 ChatGPT 和 AI 聊天
註冊 OpenAI 並登入完成後,在頁面的下方會出現能「輸入文字」的欄位。
輸入文字後按下送出,就能開始與 OpenAI 的 AI 機器人聊天。
因為每個註冊的帳號都可以和 AI 機器人聊天,也能夠透過 OpenAI 的 API 呼叫機器人,因此有時候會遇到 OpenAI 伺服器無法回應的狀況,這時候只能傻傻的等待,或在比較不熱門的時段和 AI 機器人聊天。
OpenAI 的使用額度
目前 OpenAI 提供「18 美金或三個月」的使用額度,會根據使用的字詞量多寡,或呼叫次數...等作業進行費用的扣除,使用範圍包含了在網站上與 AI 互動,或透過程式呼叫 API,當即將超過費用或是到達期限,就會先暫停使用權限並要求付費,初期適合嚐鮮或作為開發者使用 ( 下圖是 2022 年 12 月撰寫這篇文章時的用量 )。
建立 OpenAI API Key
如果要比較深入的使用 OpenAI ( 例如使用 Python 串接、結合 LINE BOT...等 ),就必須要透過 OpenAI 的 API 來實現,從右上方「Personal」的選單裡,選擇「View API Keys」。
選擇後進入建立 API Keys 頁面,點擊「Create new secret key」按鈕,就能建立 API Keys。
注意!只有建立完成的當下可以複製 API Keys,請使用記事本或其他工具儲存 API Key,如果要刪除 API Key,必須再次建立新的 API Key 才能刪除舊的。
使用 Python 串接 OpenAI API
輸入下列指令安裝 openai 函式庫 ( 本機環境根據個人狀況使用 pip 或 pip3 )
!pip install openai
安裝後,使用下列的程式碼,就能夠向 OpenAI 的 AI 機器人發送對話訊息,並接收 AI 機器人所回傳的訊息。
import openai
openai.api_key = '你的 API Key'
response = openai.Completion.create(
engine="text-davinci-003",
prompt="講個笑話來聽聽",
max_tokens=128,
temperature=0.5,
)
completed_text = response["choices"][0]["text"]
print(completed_text)
上述的程式碼中使用了 openai.Completion.create
方法,方法的參數說明如下 ( 詳細參數參考:Create completion ):
參數 | 說明 |
---|---|
engine | AI 所使用的引擎名稱,如果是以自然語意為主,目前最新的使用 text-davinci-003 ( 更多引擎參考:https://beta.openai.com/docs/models/gpt-3 )。 |
prompt | 要傳送的句子會詞彙。 |
max_tokens | 希望 AI 回傳的最大字數,預設 128,在某些情況下回傳的字數會大於這個數字。 |
temperature | 隨機文字組合,範圍 0~1,預設 0.5,0 表示不隨機,1 表示完全隨機。 |
language | 機器人處理的「程式語言」,預設 python,可設定 javascript、java、csharp、golang、ruby、php、cpp。 |
也因為 OpenAI 的 AI 機器人是一個大型語言模型,能夠被訓練成理解和回覆多種語言,因此回覆訊息所使用的語言,是根據輸入的文字訊息內容決定,以下的程式碼為例,執行後輸入「中文笑話」,回覆的訊息就是中文笑話,而如果是輸入「english joke」,就會回應一個英文的笑話。
import openai
openai.api_key = '你的 API Key'
while True:
msg = input()
response = openai.Completion.create(
engine='text-davinci-003',
prompt=msg,
max_tokens=128,
temperature=0.5
)
completed_text = response['choices'][0]['text']
print(completed_text)
延伸閱讀
如果已經可以使用 Python 串接 OpenAI,就可以參考下方的文章,將 OpenAI 與 LINE BOT 串連,做出一個具有人工智慧的 LINE 聊天機器人囉!
小結
透過 Python 串接 OpenAI 的 API 其實非常簡單,只需要申請 API Key 就能串接,由於是免費版本,在使用上仍然會有每個月 18 美元的「額度」限制 ( 參考 OpenAI Usage ),但對於一般開發者來說應該是很足夠了,相信未來的生活裡,應該會充斥著許多 AI 代替真人的訊息或語音回覆,至於如何判斷訊息的好壞或是處理衍生的道德倫理問題,就有待人類智商來解決了吧。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~