JoySafety —— Sicherheitsframework für große Modelle
📋 Inhaltsverzeichnis
Neues Release
- ✅ Umfassendes Upgrade des Prompt-Injection-Erkennungsmodells: Trainingssystem basierend auf Red-Blue-Team-Mechanismus neu strukturiert, Durchbruch bei Erkennungsgenauigkeit und Reaktionsgeschwindigkeit; das neueste Prompt-Injection-Erkennungsmodell wurde auf eine Drei-Klassen-Architektur hochgestuft, die präzise unterscheiden kann: normale Anfragen, eindeutige Prompt-Injection-Angriffe (bösartig) und mutmaßliche Prompt-Injection-Angriffe (potenzielles Risiko). Modelladresse: (https://huggingface.co/jdopensource/JoySafety/tree/main)
Projektübersicht
Mit der breiten Einführung generativer KI-Anwendungen treten Risiken wie Content-Sicherheit, Datenlecks und Prompt-Angriffe immer stärker hervor. Wie man sicherstellt, dass die Ausgaben großer Modelle gesetzlichen Anforderungen entsprechen und Sicherheitslücken vermieden werden, ist zu einer zentralen Herausforderung für Unternehmen geworden. Aus diesem Grund hat JD die Sicherheitsplattform für große Modelle – JoySafety – als Open Source veröffentlicht. Dieses Framework wird intern bei JD umfassend eingesetzt und deckt Szenarien wie KI-gestützte Einkaufsberatung, Logistik-Kundenservice, Verkaufsassistenten, medizinische Konsultationen, Arbeitsplattformen für Händler, Rechtsberatung und Sicherheitsfragen ab. Es unterstützt milliardenfache Aufrufe pro Tag mit einer Angriffsblockierungsrate von über 95 % und zielt darauf ab, Unternehmen eine ausgereifte, zuverlässige und kostenlose Sicherheitslösung für große Modelle bereitzustellen.
✨ Funktionen
🚀 Produktionsreife
Unternehmensnahe Praxisvalidierung
- ✅ Sicherstellung des stabilen Betriebs mehrerer produktiver KI-Anwendungen bei JD
- ✅ Validierung in komplexen Geschäftsszenarien, kontinuierliche iterative Optimierung
- ✅ Dienstbereitstellung unterstützt horizontale Skalierung für hohe Nebenläufigkeit
- ✅ Null Aufwand für Geschäftsanbindung, Strategieänderungen unterstützen minutenbasierte Hot-Updates
Hohe Zuverlässigkeit
- 🔄 Hot-Plug-fähige Basisfunktionen ohne Dienstunterbrechung
- ⚡ Dynamische Konfigurationswirksamkeit für schnelle Reaktion auf Geschäftsänderungen
- 📊 Nachgewiesene langfristige Stabilität in Produktionsumgebungen
📈 Hohe Erweiterbarkeit
Flexible Architektur
- 🧩 Unterstützt verschiedene Basisfunktionsmodule (BERT/FastText/Transformer und andere gängige Modelle)
- 🔌 Standardisierte Schnittstellen für Basisfunktionen, einfach erweiterbar um neue Modelle
- 🏗️ Unterstützt unabhängige Bereitstellung oder zentrale Bereitstellung
- ⚙️ Leichtgewichtige Orchestrierungs-Engine, flexibel nach Bedarf konfigurierbar
Intelligenter Lastausgleich
- 🌐 Clusterbereitstellung mit horizontaler Skalierung
- ⚡ Asynchroner Erkennungsmechanismus zur Steigerung der Parallelverarbeitungskapazität
- 🎯 Fensterbasierte Erkennungsstrategie für ausgewogene Leistung und Genauigkeit
💡 Benutzerfreundlichkeit
Sofort einsatzbereit
- 🐳 Ein-Klick-Docker-Compose-Start, null Konfigurationsaufwand
- 📱 DAG-Orchestrierung
- 🔧 Standardisierte API-Schnittstellen für schnelle Integration in bestehende Systeme
🎯 Kern-Highlights der Technologie
Revolutionäre Innovationen
1. Intelligente Erkennung mehrrundiger Konversationen großer Modelle
2. Free-Taxi-asynchrones Ausgabemodus zur deutlichen Steigerung der Erkennungsreaktion und Erzielung eines perfekten Gleichgewichts zwischen Benutzererfahrung und Sicherheit
3. Mehrdimensionale Reaktionsstrategiematrix
- 🎯 Präzise Blockade – sofortige Unterbrechung von Hochrisikoinhalten
- ⏸️ Rote-Linie-Ersatzantwort – Antwort aus der Wissensdatenbank der roten Linie
- 🔄 Intelligente Korrektur – automatische Lenkung zu positiven Antworten
🚀 Schnellstart
Umgebungsabhängigkeiten
Bitte stellen Sie sicher, dass folgende Software installiert ist:
- git
- git-lfs zum Herunterladen der Modelldateien
- docker
- docker compose
0. Projekt klonen
#1.
git clone https://github.com/jd-opensource/JoySafety.git
#2. In das Projektverzeichnis wechseln
cd JoySafety
#3. Umgebungsvariable setzen (empfohlen zur Ausführung, nachfolgende Skripte/Dienste erkennen sie automatisch)
export SAFETY_ROOT_PATH=`pwd`
# Normalerweise das Stammverzeichnis von JoySafety
echo ${SAFETY_ROOT_PATH}
=======
1. Modelldateien herunterladen (Huggingface)
# In das Projektverzeichnis wechseln
cd $SAFETY_ROOT_PATH
#
git lfs install
# Option 1
git clone https://huggingface.co/jdopensource/JoySafety ${SAFETY_ROOT_PATH}/data/models
# Option 2
# Bei Netzwerkproblemen können Sie auch von [ModelScope](https://modelscope.cn/models/syf20240814/joysafety/files) herunterladen
2. .env-Datei konfigurieren
- Kopieren Sie
.env.example im Projektstammverzeichnis oder erstellen Sie manuell .env:
# Hinweis: Bei neuem Shell-Fenster SAFETY_ROOT_PATH erneut setzen
cd $SAFETY_ROOT_PATH
cp -f .env.example .env
# Für Tests nur die Variable im .env ändern: SAFETY_MODEL_DIR, Pfad muss mit dem tatsächlichen Download-Pfad des Modells übereinstimmen (absoluter Pfad)
SAFETY_MODEL_DIR=
3. Ein-Klick-Start (Docker Compose)
docker-compose --env-file .env up
4. API-Test
Ausführliche API-Testfälle und Nutzungshinweise finden Sie unter quickstart/README.md.
Bitte lesen Sie die Dokumentation im Verzeichnis quickstart für die neuesten API-Testskripte und Beispiele.
📖 Benutzerhandbuch
Wie binde ich ein Geschäft ein?
Das Projekt kann mehrere Geschäfte gleichzeitig unterstützen, jedes kann dynamisch hinzugefügt werden und wird innerhalb von Minuten wirksam.
- Basisfunktion registrieren (falls noch nicht registriert), siehe Basisfunktionsverwaltung: function_api.md
- Ein Geschäft hinzufügen (siehe business_api.md)
- Strategie für das Geschäft hinzufügen (siehe: dag_api.md, Strategiebeispiele)
Ein vollständiges Codebeispiel: example.py
Wie konfiguriere ich eine Strategie (DAG)?
Die Erkennungsstrategie ist insgesamt ein DAG, beginnend vom Knoten der rootId, der die Erkennungsstrategie schrittweise ausführt. Jeder Knoten der Strategie besteht aus zwei Teilen: function und router; function ist die konkrete Fähigkeit, die am aktuellen Knoten ausgeführt wird, router bestimmt basierend auf dem Erkennungsergebnis des aktuellen Knotens, welcher nächste Knoten ausgeführt wird.