For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

安全最佳實務

實施內容審核和人工監督等安全措施。

如需瞭解 OpenAI 採用的防護措施,請參閱安全分類器網路安全檢查失準監控。如果你的應用程式為未成年人提供服務,也請遵循未滿 18 歲使用者指引

使用我們免費的 Moderation API

OpenAI 的 Moderation API 可免費使用,有助於降低生成回覆中出現不安全內容的頻率。你也可以針對自己的使用情境,開發專用的內容過濾系統。

如果你的應用程式使用 Responses API 或 Chat Completions 生成文字, 也可以在生成請求中 要求傳回內容審核分數

對抗測試

我們建議對應用程式進行「紅隊演練」,確保它能穩健地應對對抗性輸入。請使用各種輸入和使用者行為測試產品,涵蓋具代表性的情境,以及刻意讓應用程式「出問題」的行為。它會偏離主題嗎?有人能否透過提示注入,例如「忽略先前的指示,改做這件事」,輕易改變功能的執行方向?

人工介入 (HITL)

我們建議盡可能在實際使用輸出之前,先由人工審查。這對於攸關重大後果的領域及程式碼生成尤其重要。審查人員應瞭解系統的限制,並能取得驗證輸出所需的所有資訊(例如,若應用程式用來摘要筆記,審查人員應能輕鬆取得原始筆記,以便查閱比對)。

提示工程

「提示工程」有助於約束輸出文字的主題和語氣。即使使用者刻意嘗試產生不當內容,也能降低這類內容出現的機率。為模型提供額外的上下文(例如,在新的輸入之前提供幾個展現預期行為的高品質範例),可以更容易將模型輸出引導至預期方向。

「認識你的客戶」(KYC)

一般而言,使用者應先註冊並登入,才能使用你的服務。讓使用者透過 Gmail、LinkedIn 或 Facebook 等既有帳戶登入,可能有所幫助,但不一定適合所有使用情境。要求提供信用卡或身分證件,可進一步降低風險。

約束使用者輸入並限制輸出 Token 數量

限制使用者可輸入提示詞的文字量,有助於避免提示注入。限制輸出 Token 的數量,有助於降低濫用的機率。

縮小輸入或輸出的範圍,尤其是將其限定為可信任來源的內容,可減少應用程式遭到濫用的空間。

讓使用者透過經過驗證的下拉式欄位輸入內容(例如維基百科上的電影清單),可能比允許自由輸入文字更安全。

在可行的情況下,從後端一組經過驗證的資料中選取內容作為輸出,可能比傳回新生成的內容更安全(例如,將客戶的問題導向最符合需求的既有客服文章,而非嘗試從頭生成答案)。

讓使用者能夠回報問題

一般而言,應為使用者提供容易取得的管道,讓他們回報功能異常或對應用程式行為的其他疑慮(例如公開電子郵件地址或提供客服單提交方式)。應由專人查看這些回報,並視情況回應。

瞭解並說明限制

語言模型可能因幻覺而產生不正確的資訊、輸出冒犯性內容、帶有偏見,或出現其他問題,因此若未經大幅調整,可能無法適用於所有使用情境。請考量模型是否符合你的用途,並使用各種可能的輸入來評估 API 的表現,找出可能導致效能下降的情況。同時也要考量你的客戶群及其可能使用的輸入範圍,確保他們對系統有合理的期待。

OpenAI 非常重視安全與資訊安全

如果你在使用 API 開發時,或在其他與 OpenAI 相關的情境中發現任何安全或資訊安全問題,請透過我們的協調式漏洞揭露計畫回報。

導入安全識別碼

在請求中傳送安全識別碼,有助於 OpenAI 監控及偵測濫用行為。當我們在你的應用程式中偵測到違反政策的行為時,就能向你的團隊提供更具體、便於採取行動的回饋。

安全識別碼也能協助你的團隊更快因應濫用行為。它提供穩定的識別方式,讓你能將活動追溯至個別終端使用者,並降低因單一使用者濫用而導致組織其他成員無法存取服務的機率。

安全識別碼應是能唯一識別每位使用者的字串。請對使用者名稱或電子郵件地址進行雜湊處理,避免將任何可識別身分的資訊傳送給我們。如果你讓未登入的使用者預覽產品,可以改為傳送工作階段 ID。

對於讓個別使用者與模型互動的產品, 建議使用安全識別碼,但並非必要。請透過 safety_identifier 參數, 在 API 請求中加入安全識別碼:

範例:提供安全識別碼
import OpenAI from "openai";

const client = new OpenAI();

const response = await client.chat.completions.create({
  model: "gpt-6-astra",
  messages: [{ role: "user", content: "This is a test" }],
  max_completion_tokens: 5,
  safety_identifier: "user_123456",
});

console.log(response.choices[0].message.content);

對於 Realtime API 請求,請透過 OpenAI-Safety-Identifier 標頭, 提供相同且穩定、可保護隱私的識別碼。建立短效的 Realtime 用戶端密鑰時, 請在建立密鑰的伺服器端請求中加入此標頭, 讓識別碼綁定至該工作階段。若從可信任的後端直接發出 WebSocket 或 WebRTC 連線請求, 請在該連線請求中 加入此標頭。

安全識別碼不會在不同 API 或工作階段之間自動沿用。 如果你的應用程式已在 Responses API 請求中傳送 safety_identifier, 請在每次建立或連接 Realtime 工作階段時, 另行傳入相同的固定值。

撤銷安全性受損的 API 金鑰

如果你認為 API 金鑰已外洩、遭到濫用,或因其他原因導致安全性受損, 請立即撤銷並換成新的金鑰。前往安全性 設定,查看所有 API 金鑰, 並撤銷任何安全性受損的金鑰。

CSAM 指引

OpenAI 已與 NCMEC 和 Thorn 等兒童安全專家合作, 為開發人員提供保護兒童的實用指引。閱讀 CSAM 指引