AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Promptfoo: Ein sicheres und zuverlässiges Werkzeug zum Testen von LLM-Anwendungen

Allgemeine Einführung

promptfoo ist ein Open-Source-Befehlszeilen-Tool und eine Bibliothek für die Evaluierung und das Red-Teaming von Large Language Model (LLM)-Anwendungen. Es bietet Entwicklern ein komplettes Set von Werkzeugen für die Erstellung von zuverlässigen Prompts, Modellen und Retrieval-basierten Generierungen (RAGs) und die Sicherung von Anwendungen durch automatisierte Red-Team-Tests und Penetrationstests. promptfoo unterstützt eine Vielzahl von LLM-API-Anbietern, darunter OpenAI, Anthropic, Azure, Google, Das Tool wurde entwickelt, um Entwicklern zu helfen, die Leistung ihrer Sprachmodelle durch einen testgetriebenen Entwicklungsansatz schnell zu verbessern und zu iterieren.

Promptfoo: Bereitstellung von sicheren und zuverlässigen LLM-Anwendungstests - 1


 

Funktionsliste

  • Automatisierte Red-Team-TestsKundenspezifische Scans durchführen, um Sicherheits-, Rechts- und Markenrisiken zu erkennen.
  • QualitätsbewertungErstellung zuverlässiger Hinweise und Modelle durch anwendungsspezifisches Benchmarking.
  • Gleichzeitigkeit und CachingBeschleunigung des Bewertungsprozesses durch Unterstützung des Nachladens in Echtzeit.
  • BefehlszeilenschnittstelleKeine SDKs, Cloud-Abhängigkeiten oder Anmeldungen erforderlich, um schnell loslegen zu können.
  • Unterstützung der Open-Source-GemeinschaftUnterstützt von einer aktiven Open-Source-Community für Millionen von Benutzern in Produktionsumgebungen.
  • Berichterstattung über Schwachstellen und Risiken auf höchster EbeneGenerieren Sie detaillierte Schwachstellen- und Risikoberichte, um Entwicklern zu helfen, Probleme zu identifizieren und zu beheben.
  • Unterstützung mehrerer SprachenUnterstützung für Python, Javascript und andere Programmiersprachen.
  • Privatisierter BetriebAlle Bewertungen werden auf lokalen Rechnern durchgeführt, um den Datenschutz zu gewährleisten.

 

Hilfe verwenden

Einbauverfahren

  1. Installation von Befehlszeilentools::
   npm install -g promptfoo
  1. Initialisierungsprojekt::
   npx promptfoo@latest init
  1. Konfigurieren von Testfällen: Öffnenpromptfooconfig.yamlfügen Sie die Eingabeaufforderungen und Variablen hinzu, die Sie testen möchten. Beispiel:
   targets:
- id: 'example'
config:
method: 'POST'
headers: 'Content-Type: application/json'
body:
userInput: '{{prompt}}'

Leitlinien für die Verwendung

  1. Definieren von TestfällenIdentifizieren Sie die wichtigsten Anwendungsfälle und Fehlermöglichkeiten und bereiten Sie eine Reihe von Aufforderungen und Testfällen vor, die diese Szenarien darstellen.
  2. Bewertung der KonfigurationEinrichten von Auswertungen durch Angabe von Prompts, Testfällen und API-Anbietern.
  3. Operative BewertungAusführen der Auswertung mit einem Befehlszeilentool oder einer Bibliothek und Aufzeichnung der Modellausgabe für jede Eingabeaufforderung.
   promptfoo evaluate
  1. AnalyseAutomatisierungsanforderungen einrichten oder die Ergebnisse in einem strukturierten Format/Web-UI anzeigen. Verwenden Sie diese Ergebnisse, um das Modell und die Eingabeaufforderungen auszuwählen, die am besten zu Ihrem Anwendungsfall passen.
  2. Rückkopplungsschleife: Erweitern Sie Ihre Testfälle, wenn Sie mehr Beispiele und Benutzerfeedback sammeln.

Detaillierte Vorgehensweise

  1. Red Team Test::
    • Führen Sie benutzerdefinierte Scans durch, um häufige Sicherheitslücken zu erkennen, wie z. B. PII-Lecks, unsichere Toolverwendung, sitzungsübergreifende Datenlecks, direkte und indirekte Prompt Injections und mehr.
    • Verwenden Sie den folgenden Befehl, um den Red-Team-Test zu starten: bash
      npx promptfoo@latest redteam init
  2. Qualitätsbewertung::
    • Erstellen Sie zuverlässige Tipps und Modelle durch anwendungsspezifisches Benchmarking.
    • Verwenden Sie den folgenden Befehl, um die Qualitätsbewertung durchzuführen: bash
      promptfoo evaluate --config promptfooconfig.yaml
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Promptfoo: Ein sicheres und zuverlässiges Werkzeug zum Testen von LLM-Anwendungen
de_DEDeutsch