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(“这是我很棒的提示。有很多类似的提示,但这一个是我的。”)
输出
{ 通过:真实, 输出:“这是我很棒的提示。有很多类似的提示,但这一个是我的。”}