PromptGuard
v0.2.0
PromptGuard は、Node.js および TypeScript アプリケーション用の本番環境に対応した GPT アプリを構築するのに役立ちます。
PromptGuard プロジェクトの目標は、GPT ベースのアプリケーションを運用環境に展開するために必要な機能を提供することです。これには以下が含まれます:
プロンプト攻撃の検出と軽減
キャッシュによるパフォーマンスの向上と GPT クエリのコストの削減
コンテンツフィルタリング
言語フィルタリング
トークン制限
GPT 対応のエンコード出力
即時難読化
PromptGuard はまだ若いプロジェクトなので、皆さんの貢献をお待ちしています。貢献を希望される場合は、まず貢献ガイドと行動規範をお読みください。
機能リクエストやバグレポートは大歓迎です!
オプション | デフォルト値 | 説明 |
---|---|---|
maxTokens | 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 インストール @gtpsafe/promptguard
設定する
import { PromptGuard } from "@gtpsafe/promptguard"const promptGuard = new PromptGuard({ 最大トークン: 200、 拒否リスト:['baz'],});
プロンプトを処理する
const Output = await PromptGuard.process("これは私の素晴らしいプロンプトです。似たようなプロンプトはたくさんありますが、これは私のものです。")
出力
{ パス: true、 出力: "これは私の素晴らしいプロンプトです。似たようなプロンプトはたくさんありますが、これは私のものです。"}