2025年3月4日 星期二

OpenAI API 學習筆記 : 如何查詢全部模型名稱

自從 OpenAI 在 2022 年 12 月推出 ChatGPT 後, 大語言模型如雨後春筍般出現, 即使是 OpenAI 也從 GPT3 開始快速演化到 GPT4, 要如何得知有哪些模型可用呢? 到 OpenAI 官網有各代版本的詳細說明, 參考 : 


但是如果想要有一張目前可用的模型名稱清單的話, 只要呼叫 API 即可取得. 為了隱藏 API key, 我將其命名為 OPENAI_API 並存放於目前工作目錄下的 .env 檔中, 然後安裝 dotenv 套件來從 .env 檔案中取得 API key, 作法參考 :


首先匯入 dotenv.load_dotenv() 函式與 os 模組 : 

>>> from dotenv import load_dotenv   
>>> import os   

呼叫 load_dotenv() 函式載入 .env 檔 : 

>>> load_dotenv()    
True 

傳回 True 表示載入成功, 呼叫 os.environ.get() 讀取檔案中的 API key : 

>>> api_key=os.environ.get('OPENAI_API')     

將此 API key 設給 openai 的 api_key : 

>>> openai.api_key=api_key   

呼叫 models 模組的 list() 函式會傳回一個 SyncPage[Model] 物件 :  

>>> models=openai.models.list()   
>>> type(models)   
<class 'openai.pagination.SyncPage[Model]'>

模型物件就記錄在其 data 屬性中 (為一個串列), 因此迭代此串列元素即可取得 Model 物件, 模型名稱則記錄在 Model 物件的 id 屬性中 : 

>>> for model in models.data:
    print(model.id)

gpt-4.5-preview
omni-moderation-2024-09-26
gpt-4.5-preview-2025-02-27
gpt-4o-mini-audio-preview-2024-12-17
dall-e-3
dall-e-2
gpt-4o-audio-preview-2024-10-01
gpt-4o-audio-preview
gpt-4o-mini-realtime-preview-2024-12-17
gpt-4o-2024-11-20
gpt-4o-mini-realtime-preview
o1-mini-2024-09-12
o1-preview-2024-09-12
o1-mini
o1-preview
gpt-4o-mini-audio-preview
whisper-1
gpt-4o-2024-05-13
gpt-4o-realtime-preview-2024-10-01
babbage-002
chatgpt-4o-latest
gpt-4-turbo-preview
tts-1-hd-1106
gpt-4o-audio-preview-2024-12-17
gpt-4
gpt-4-turbo
tts-1-hd
gpt-4o-mini-2024-07-18
gpt-4o-mini
text-embedding-3-large
tts-1
tts-1-1106
gpt-4o-2024-08-06
davinci-002
gpt-4o
gpt-3.5-turbo-1106
gpt-3.5-turbo-instruct
gpt-3.5-turbo-instruct-0914
gpt-3.5-turbo-0125
gpt-4-0125-preview
gpt-4o-realtime-preview-2024-12-17
gpt-3.5-turbo
gpt-4-turbo-2024-04-09
gpt-4o-realtime-preview
gpt-3.5-turbo-16k
text-embedding-3-small
gpt-4-1106-preview
text-embedding-ada-002
gpt-4-0613
omni-moderation-latest

看來最新的模型是 gpt-4.5-preview-2025-02-27. 越新的模型其價格通常越貴, 且會隨時調整, 最新價格參考官網 :


沒有留言 :