PromptGuard
v0.2.0
PromptGuard 可協助您為 Node.js 和 TypeScript 應用程式建立生產就緒的 GPT 應用程式。
PromptGuard 專案的目標是提供將基於 GPT 的應用程式部署到生產環境所需的功能。這包括:
偵測並緩解即時攻擊
快取以提高效能並降低 GPT 查詢的成本
內容過濾
語言過濾
代幣限制
GPT 就緒編碼輸出
及時混淆
PromptGuard 仍然是一個相當年輕的項目,並且會喜歡您的貢獻。如果您想貢獻,請先閱讀貢獻指南和行為準則。
歡迎提出功能請求和錯誤回報!
選項 | 預設值 | 描述 |
---|---|---|
最大令牌數 | 4096 | 提示可以包含的最大令牌數。限制令牌的最大數量可以降低 GPT 查詢的成本和即時攻擊的機會。您可以在此處閱讀有關代幣的更多資訊。 如果提示超過最大令牌數,PromptGuard 將拒絕提示並輸出以下內容: { pass: false, output: EXCEEDS_MAX_TOKEN_THRESHOLD } |
拒絕列表 | [""] | 不應出現在提示文字中的字串文字陣列。如果 PromptGuard 發現拒絕清單匹配,它將拒絕並顯示以下輸出:{ pass: false, output: CONTAINS_DENY_LIST_ITEM } |
禁用攻擊緩解 | false | 根據提示檢查的已知提示攻擊和注入的清單。未來,這將變得更加複雜。 如果 PromptGuard 找到預設拒絕清單匹配,它將拒絕提示並顯示以下輸出: { pass: false, output: CONTAINS_KNOWN_ATTACK } |
編碼輸出 | false | 將輸出編碼為 GPT-3 令牌。您可以在此處閱讀有關代幣的更多資訊。 |
安裝
npm install @gtpsafe/promptguard
配置
從“@gtpsafe/promptguard”導入{ PromptGuard } const PromptGuard = new PromptGuard({ 最大代幣數:200, DenyList:['baz'],});
處理提示
const output =等待promptGuard.process(“這是我很棒的提示。有很多類似的提示,但這一個是我的。”)
輸出
{ 通過:真實, 輸出:「這是我很棒的提示。有很多類似的提示,但這一個是我的。」}