PromptGuard vous aide à créer des applications GPT prêtes pour la production pour les applications Node.js et TypeScript.
L'objectif du projet PromptGuard est de fournir les fonctionnalités nécessaires au déploiement d'applications basées sur GPT en production. Cela comprend :
Détection et atténuation des attaques rapides
Mise en cache pour améliorer les performances et réduire le coût des requêtes GPT
Filtrage de contenu
Filtrage linguistique
Limitation des jetons
Sorties codées prêtes pour GPT
Obscurcissement rapide
PromptGuard est encore un projet assez jeune et aimerait vos contributions. Si vous souhaitez contribuer, veuillez d'abord lire le guide de contribution et le code de conduite.
Les demandes de fonctionnalités et les rapports de bogues sont les bienvenus !
Option | Valeur par défaut | Description |
---|---|---|
maxTokens | 4096 | Nombre maximum de jetons que l'invite peut contenir. Restreindre la quantité maximale de jetons peut réduire le coût de la requête GPT et les possibilités d'attaques rapides. Vous pouvez lire plus d’informations sur les jetons ici. Si l'invite dépasse le nombre maximum de jetons, PromptGuard rejettera l'invite avec le résultat suivant : { pass: false, output: EXCEEDS_MAX_TOKEN_THRESHOLD } |
refuserListe | [""] | Tableau de chaînes littérales qui ne doivent pas apparaître dans le texte d'invite. Si PromptGuard trouve une correspondance dans la liste de refus, il la rejettera avec le résultat suivant :{ pass: false, output: CONTAINS_DENY_LIST_ITEM } |
désactiverAttackMitigation | false | Liste des attaques et injections d'invite connues qui sont vérifiées par rapport à l'invite. À l’avenir, cela deviendra plus sophistiqué. Si PromptGuard trouve une correspondance par défaut dans la liste de refus, il rejettera l'invite avec le résultat suivant : { pass: false, output: CONTAINS_KNOWN_ATTACK } |
encodeOutput | false | Encode la sortie sous forme de jetons GPT-3. Vous pouvez lire plus d’informations sur les jetons ici. |
Installer
npm installer @gtpsafe/promptguard
Configurer
importer { PromptGuard } depuis "@gtpsafe/promptguard" const promptGuard = new PromptGuard ({ maxTokens : 200, denyList :['baz'],});
Traiter une invite
const output = wait promptGuard.process("Ceci est mon super invite. Il y en a beaucoup comme celle-ci, mais celle-ci est la mienne.")
Sortir
{ passer : vrai, résultat : "Voici mon invite géniale. Il y en a beaucoup comme celle-ci, mais celle-ci est la mienne."}