OpenAI API 金鑰使用指南與替代方案

OpenAI API 金鑰使用指南與替代方案

簡介

您是否好奇該如何存取並運用 OpenAI 模型的能力?過程中可能遇到哪些挑戰,又該考慮哪些替代方案?這篇部落格將為您深入剖析 OpenAI API 金鑰的種種細節。

我們將引導您取得自己的 API 金鑰、設定開發環境,以及發送第一個請求。同時,也會探討常見問題、最佳實務來確保 API 金鑰的安全,並舉例說明如何在實際專案中整合 OpenAI API 金鑰。此外,我們還會檢視 OpenAI API 金鑰的限制,例如日益增強的審查機制與高昂的呼叫成本,並向您介紹 Novita AI 這款替代方案,或許能為您的 AI 專案帶來重大改變。

什麼是 OpenAI API 金鑰?

OpenAI API 金鑰是使用者在註冊後獲得的唯一憑證,用作存取 OpenAI API 服務的身分識別與驗證令牌。這組金鑰讓開發者能安全地將 OpenAI 強大的 AI 能力整合到自己的應用程式中。

每個 API 金鑰都與特定的權限和使用限制相關聯,這些限制決定了透過 API 可以存取哪些動作與資料。API 金鑰在控制存取、監控使用量,以及確保用戶端應用程式與 OpenAI 伺服器之間的安全互動上扮演關鍵角色,進而支援各種 AI 驅動的功能,應用於多樣的應用程式與行業。

OpenAI API 由哪些模型驅動?

OpenAI API 由多種模型支援,每種模型都提供獨特的能力與定價選項。這些模型可以透過微調來針對特定使用案例進行自訂。

  1. GPT-4o:最快且最具成本效益的旗艦模型。
  2. GPT-4 Turbo 與 GPT-4:上一代的高智慧模型。
  3. GPT-3.5 Turbo:適合基本任務的快速且經濟模型。
  4. DALL-E:能夠根據自然語言提示產生與編輯圖片的模型。
  5. TTS:將文字轉換成自然語音的模型。
  6. Whisper:將音訊轉錄為文字的模型。
  7. Embeddings:將文字轉換為數字資料的模型。
  8. Moderation:專門偵測潛在敏感或不安全文字的模型。
  9. GPT base:能理解並產生自然語言或程式碼,但無須遵循指令的模型。
  10. Deprecated:已淘汰模型的完整列表及其建議的替代模型。

使用 OpenAI API 金鑰能做什麼?

文字生成

這些模型會根據收到的資訊產生文字回應。輸入這些模型的內容稱為「提示」(prompts),對引導輸出結果至關重要,本質上就是任務完成所需的指示或範例。

利用 OpenAI 的文字生成模型,開發者可以建立各種應用,例如撰寫文件、編寫程式碼、查詢知識庫、文字分析、為軟體實作自然語言介面、在各學科中提供教學輔導、語言翻譯,以及為遊戲環境模擬角色。

函式呼叫

函式呼叫讓您可以描述模型能識別的函式,並以包含這些函式參數的 JSON 資料回應。模型本身不會直接執行該函式;而是產生 JSON 輸出,讓您的應用程式在程式碼中呼叫該函式。

Embeddings

Embeddings 是表示文字字串意義與上下文的數字向量。這些向量可以衡量不同文字片段之間的相關程度。它們在許多應用中都很有用,例如搜尋(依據與搜尋查詢的相關性排序結果),或分群(將相似文字字串分組)。

微調

微調能提升文字生成模型的效能,讓使用者針對特定任務來精煉與自訂模型。使用者可透過準備並上傳自己的訓練資料來啟動微調,然後訓練出更符合應用需求的專屬模型。

圖片生成

圖片生成指的是您可以透過文字提示來產生圖片。

視覺

部分模型可以接收圖片並回答關於圖片的問題。

文字轉語音

文字轉語音的過程是將書面文字(例如部落格文章)轉換成口語音訊。這項技術可以用多種語言建立音訊內容,並提供音訊輸出的即時串流。

語音轉文字

語音轉文字的過程是將任何語言的語音音訊轉換成書面文字,然後再翻譯並轉寫為英文。

內容審查

內容審查會評估文字是否包含可能有害的內容。開發者可以利用此端點來分析文字輸入,並識別可能被認為有害或不當的內容。這項能力讓應用程式能自動過濾或處理此類內容,協助維護更安全、更正面的使用者體驗。

如何取得並設定自己的 OpenAI API 金鑰?

第一步:帳號設定

  • 建立/開啟 OpenAI 帳號:前往 OpenAI 平台並註冊或登入。
  • 前往 API 金鑰頁面:登入後,前往 API 金鑰管理頁面。
  • 建立新的密鑰:點擊「Create new secret key」,並可選擇為金鑰命名。
  • 儲存金鑰:務必將 API 金鑰儲存在安全的地方,且不要與任何人分享。

第二步:快速入門語言選擇

  • 選擇 curl/Python/Node.js:以下指南以 Python 作為與 OpenAI API 互動的程式語言。若您選擇 curl 或 Node.js,可以前往 OpenAI Platform 查閱各自的快速入門教學。

第三步:設定 Python

  • 檢查 Python 安裝:開啟終端機或命令提示字元,輸入 python。如果已安裝,您將進入 Python 直譯器。
  • 安裝 Python:如果未安裝 Python,請從 Python 官方網站下載並安裝最新版本,確保至少是 Python 3.7.1 以上。

第四步:安裝 OpenAI Python 函式庫

  • 升級 pip:使用 pip install --upgrade pip 確保 pip 是最新版本。
  • 安裝函式庫:使用 pip install --upgrade openai 安裝 OpenAI Python 函式庫。

第五步:設定您的 API 金鑰

  • 為所有專案設定 API 金鑰(建議):將環境變數 OPENAI_API_KEY 設定為您的 API 金鑰值。

MacOS/Linux:export OPENAI_API_KEY="your_api_key_here"

Windows:set OPENAI_API_KEY="your_api_key_here"

  • 為單一專案設定 API 金鑰:如果未使用環境變數,您需要在 Python 腳本中使用 openai.api_key = "your_api_key_here" 來設定金鑰。

第六步:發送您的第一個 API 請求

  • 建立 Python 腳本:建立一個名為 openai-test.py 的新檔案。
  • 撰寫 Python 程式碼:將以下範例程式碼複製並貼到 openai-test.py 中:
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},
    {"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
  ]
)
print(completion.choices[0].message)
  • 執行腳本:在終端機或命令提示字元中執行 python openai-test.py

OpenAI API 常見問題排解

常見 API 錯誤

以下是常見的 API 錯誤列表,請查看錯誤碼的含義:

Python 函式庫錯誤

使用 API 時可能會遇到一些常見的 Python 函式庫錯誤。了解這些錯誤類型有助於排解問題:

如何處理錯誤

import openai
from openai import OpenAI
client = OpenAI()

try:
  #Make your OpenAI API request here
  response = client.completions.create(
    prompt="Hello world",
    model="gpt-3.5-turbo-instruct"
  )
except openai.APIError as e:
  #Handle API error here, e.g. retry or log
  print(f"OpenAI API returned an API Error: {e}")
  pass
except openai.APIConnectionError as e:
  #Handle connection error here
  print(f"Failed to connect to OpenAI API: {e}")
  pass
except openai.RateLimitError as e:
  #Handle rate limit error (we recommend using exponential backoff)
  print(f"OpenAI API request exceeded rate limit: {e}")
  pass

如需更多關於錯誤碼的資訊,請造訪 OpenAI Platform 網站。

如何保護我的 API 金鑰安全?

為每個使用者提供唯一金鑰

為每個團隊成員分配不同的 API 金鑰,以防止未經授權的分享並確保責任歸屬。

避免在客戶端暴露

切勿將 API 金鑰嵌入客戶端應用程式(如網頁瀏覽器或行動應用),以免遭到惡意利用。

不提交到儲存庫

避免將 API 金鑰包含在原始碼儲存庫中,以防止意外暴露,尤其是在公開儲存庫中。

利用環境變數

使用環境變數(如 OPENAI_API_KEY)將金鑰安全地儲存在應用程式程式碼之外,有助於安全分享與管理。

實施金鑰管理方案

採用專門管理敏感金鑰的服務,以增強安全性,並提供額外的保護層以防資料外洩。

監控與輪換金鑰

定期監控 API 使用情況以偵測異常,並定期輪換金鑰,以降低未經授權存取與惡意使用的風險。

在專案中整合 OpenAI API 金鑰的真實案例

自動化內容創作

  • 情境:一家內容行銷公司使用 OpenAI API 根據給定的主題或大綱,產生草稿文章、部落格文章和社群媒體更新。
  • 應用:像 GPT-3.5 Turbo 這類模型的文字生成能力,可以建立引人入勝、符合上下文的內容。

增強客戶支援

  • 情境:一個電子商務平台整合了由 OpenAI 文字生成模型驅動的聊天機器人,提供 24/7 的客戶支援,回答問題並解決問題。
  • 應用:聊天機器人能理解使用者提示並產生適當回應,提升客戶滿意度並縮短回應時間。

程式碼輔助

  • 情境:一個開發團隊使用 OpenAI API 建立 AI 程式碼助手,能建議程式碼片段、除錯現有程式碼,並自動產生例行程式碼區塊。
  • 應用:利用 GPT base 等模型的語言理解與生成能力,開發者能提升生產力並減少開發時間。

教育平台

  • 情境:一個線上學習平台整合 AI 以提供個人化教學,在數學、科學、人文等學科中產生解釋並回答問題。
  • 應用:文字生成模型可以模擬教師的回應,根據學習者的理解程度提供說明與引導。

語言翻譯服務

  • 情境:一個翻譯服務使用 OpenAI API 將文字從一種語言轉換為另一種語言,促進企業與個人的跨語言溝通。
  • 應用:具備多語言能力的模型能產生不僅語言準確,而且符合語境的翻譯。

圖片生成與編輯

  • 情境:一家設計公司使用 DALL-E 根據客戶的描述性文字提示建立獨特圖片,或編輯現有視覺作品。
  • 應用:圖片生成能力允許快速構思與迭代設計想法,無需手動繪圖。

搜尋相關性與群聚

  • 情境:一個搜尋引擎或電子商務網站使用 Embeddings 模型,透過理解使用者查詢與產品說明的語義來改善搜尋結果的相關性。
  • 應用:Embeddings 有助於對搜尋結果進行排名或將相似產品分組,透過提供更準確、個人化的結果來提升使用者體驗。

內容審查

  • 情境:一個社群媒體平台使用 Moderation 模型自動偵測並標記可能有害或不當的內容,確保安全的線上環境。
  • 應用:Moderation 模型分析文字輸入以識別並處理敏感內容,減輕人工審查員的負擔,並加速審查流程。

OpenAI API 定價(LLM 部分)

GPT-4o

GPT-3.5 Turbo

OpenAI API 金鑰的限制

日益增強的審查

OpenAI API 日益嚴格的審查已成為許多使用者和開發者關心的議題。隨著人工智慧持續演進並融入日常生活的各個層面,其內容過濾與審查方式也備受檢視。雖然內容審查的初衷往往是防止錯誤訊息、違法行為與有害內容的散佈,但部分使用者對他們認為過度干預的做法表達不滿。批評者認為,審查可能限制討論範圍、阻礙資訊自由流通,並可能侵犯言論自由。

高昂的呼叫成本

OpenAI API 的高呼叫成本是開發者與企業在整合先進 AI 能力到應用程式時需要考慮的重要因素。以 GPT-4 這類模型為例,不同的 token 限制與相關成本,對於需要大量互動或處理大量資料的應用,費用會迅速累積。例如,具有 32k token 限制的 GPT-4 模型,每次呼叫成本為 $0.12,累積到總呼叫成本可達 $18.00。而 GPT-4 Turbo 模型雖然每次呼叫僅 $0.03,但對於高用量場景仍然是相當大的投資。這些成本可能對小型企業和新創公司形成進入障礙,因為它們可能沒有足夠的財務資源來支撐這樣的支出,從而可能限制了 AI 社群的可及性與創新。

Novita AI LLM API 金鑰 —— OpenAI API 金鑰的替代方案

Novita AI LLM API 概覽

為了解決使用 OpenAI API 金鑰的限制,Novita AI LLM API 為開發者(尤其是 AI 新創公司)提供了經濟實惠且無審查的 LLM API 金鑰。我們的目標是提供一個 API 金鑰,開啟無限的 AI 創新可能。

具體來說,我們的 LLM API 提供多種 LLM 選擇,呼叫成本低且效能強勁。您可以選擇最符合需求的 LLM。

此外,我們的 LLM API 提供可調整的參數,與 OpenAI API 提供的參數完全相同,包括 top p、temperature、presence penalty 和 max tokens。

由於我們的 API 協議與 OpenAI API 協議一致,如果您正在使用 OpenAI API 或習慣類似協議,您可以無縫切換並呼叫我們的 LLM API。

如何取得 Novita AI API 金鑰

步驟 1:註冊帳號

前往 Novita AI 網站,點擊頂端選單中的「Log In」按鈕。目前您可以使用 Google 或 GitHub 帳號登入。登入後,您將獲得 $0.5 的免費 Credits!

步驟 2:產生 API 金鑰

為了驗證 API 呼叫,請在請求標頭中加入 Bearer Token(例如 -H “Authorization: Bearer ***”)。我們會為您提供一個新的 API 金鑰。

您也可以選擇「Add new key」來建立自己的金鑰。

步驟 3:執行 API 呼叫

只需幾行程式碼,您就可以呼叫 API 並使用 Hermes 13B 及其他先進模型的能力:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # Get the Novita AI API Key by referring: https://novita.ai/get-started/Quick_Start.html#_3-create-an-api-key
    api_key="<YOUR Novita AI API Key>",
)
model = "nousresearch/nous-hermes-llama2-13b"
completion_res = client.completions.create(
    model=model,
    prompt="A chat between a curious user and an artificial intelligence assistant".
    stream = True, # or False
    max_tokens = 512,
)

結論

在這篇部落格中,我們探討了 OpenAI API 金鑰的多重面向,從初始設定到實際應用與潛在問題。我們討論了驅動 API 的模型(如 GPT-4 和 DALL-E),以及它們提供的多樣化功能,包括文字生成、函式呼叫、Embeddings 和微調。同時也提供了逐步指南,說明如何取得並設定自己的 API 金鑰,以及排解常見問題與保護金鑰安全的技巧。

然而,我們也承認其限制,例如日益增強的審查與高昂的呼叫成本,這些都可能影響使用者體驗與 AI 技術的整體可及性。

為了解決這些限制,我們介紹了 Novita AI LLM API 金鑰作為 OpenAI API 金鑰的替代方案,為開發者提供經濟實惠且無審查的選項。

常見問題

1. 為什麼 OpenAI 選擇發布 API 而不是開源模型?

OpenAI 選擇發布 API 而非開源模型,主要有三個原因:

財務支持: 透過 API 將技術商業化,有助於資助持續的 AI 研究、安全措施和政策工作。

可及性: 維護大型 AI 模型的複雜性與成本,使得較小的組織難以使用。API 讓這些模型變得易於存取,無需大量專業知識或資源。

控制與安全: 透過 API 發布,OpenAI 可以監控和控制存取權限,迅速應對可能的濫用或有害應用,而這些問題在開源模型下可能更難處理。

Novita AI 是一個全方位的雲端平台,助您實現 AI 雄心。憑藉無縫整合的 API、無伺服器運算和 GPU 加速,我們提供經濟實惠的工具,讓您快速建構並擴展 AI 驅動的業務。告別基礎設施的頭痛問題,立即免費開始 — Novita AI 讓您的 AI 夢想成真。