Aller au contenu

Retour à Guardrino

Guide d’installation

Installer Guardrino en quatre étapes

Un petit service sur votre propre serveur Linux ou Windows, entre vos applications et votre modèle. Installez-le, configurez-le, démarrez-le, puis pointez votre application vers lui. Ni GPU ni connexion internet nécessaires.

Installation prévue Guardrino est en développement. Les entreprises pilotes reçoivent le paquet de HisnLabs ; les noms de fichiers et les commandes peuvent changer avant la publication.

Référence développeur · Plateformes d’IA · Fiche du modèle ouvert · Proxy compatible OpenAI · Streaming · LiteLLM · Proxy de sécurité MCP · Tutoriel : application compatible OpenAI · Tutoriel : LiteLLM · Tutoriel : outils MCP

Essayez-le dès aujourd’hui Guardrino-t7 Open, une version antérieure de notre classifieur, est publique sur Hugging Face sous licence Apache-2.0. La démo fonctionne dans votre navigateur : ce que vous tapez reste sur votre appareil. Démo en direct · Fiche du modèle · La même démo sur Hugging Face

Avant de commencer

Guardrino est conçu comme un seul petit programme qui tourne en passerelle, avec une API compatible OpenAI. Vos applications envoient leurs requêtes à Guardrino au lieu de les envoyer directement au fournisseur du modèle ; Guardrino vérifie chaque message et le transmet. Le paquet vous est remis par HisnLabs avec votre pilote et contient tout ce qu’il faut, modèles compris.

ÉlémentExigence prévue
Système d’exploitationLinux 64 bits : Ubuntu 22.04 ou 24.04, RHEL 9 ou compatible, sur x86-64 ou ARM64. Windows Server 2022 ou Windows 11, x64.
Processeur4 vCPU au minimum, 8 vCPU recommandés.
Mémoire8 Go au minimum, 16 Go recommandés.
Disque2 Go pour Guardrino, plus la place du journal d’audit.
GPUInutile.
InternetInutile : l’installation fonctionne hors ligne, y compris sur un réseau isolé.

Étape 1 · Installer

Vérifiez d’abord le paquet, puis installez-le. Choisissez la méthode qui convient à votre serveur.

Linux

L’installateur place le programme dans /opt/guardrino, crée un utilisateur système guardrino et un service systemd.

sha256sum -c guardrino-<version>.sha256
tar xzf guardrino-<version>-linux-x86_64.tar.gz
cd guardrino-<version>
sudo ./install.sh

Linux, en conteneur

Le même paquet contient aussi une image de conteneur, pour les serveurs qui utilisent Docker.

docker load -i guardrino-<version>-image.tar
docker run -d --name guardrino --restart unless-stopped \
  -p 8080:8080 \
  -v /etc/guardrino:/etc/guardrino \
  --env-file /etc/guardrino/guardrino.env \
  guardrino:<version>

Windows

Dans PowerShell, en tant qu’administrateur. L’installateur ajoute un service Windows nommé Guardrino.

# PowerShell, run as Administrator
Get-FileHash .\guardrino-<version>-x64.msi -Algorithm SHA256
# Compare the hash with the value HisnLabs gives you, then:
msiexec /i guardrino-<version>-x64.msi /qn

Étape 2 · Configurer

Tout ce que fait Guardrino se règle dans un seul fichier de politique : /etc/guardrino/guardrino.toml sous Linux, C:\ProgramData\Guardrino\guardrino.toml sous Windows. Commencez en mode observe : Guardrino enregistre ce qu’il ferait et ne change rien.

mode = "observe"                # watch only: nothing is blocked while you tune
port = 8080

[upstream]
url = "https://llm-provider.example/v1"   # your model provider or model server
api_key_env = "UPSTREAM_API_KEY"          # the key is read from the environment, never written here

[l1]                            # rules layer
personal_data = "mask"
secret = "block"

[l2]                            # classifier layer
action = "block"
on_error = "allow"

upstream est l’endroit où partent vos requêtes aujourd’hui : votre fournisseur de modèle ou votre propre serveur de modèles. Sa clé reste dans votre environnement ou votre propre coffre de secrets, jamais dans le fichier de politique.

# Readable by the guardrino service only
sudo install -m 600 -o guardrino /dev/null /etc/guardrino/guardrino.env
echo 'UPSTREAM_API_KEY=<your provider key>' | sudo tee /etc/guardrino/guardrino.env > /dev/null
[Environment]::SetEnvironmentVariable('UPSTREAM_API_KEY', '<your provider key>', 'Machine')

Catégories, seuils et actions dans la référence développeur

Étape 3 · Démarrer et vérifier

Démarrez le service et demandez-lui son état.

sudo systemctl enable --now guardrino
curl http://localhost:8080/health
Start-Service Guardrino
Invoke-RestMethod http://localhost:8080/health

Une réponse à titre d’illustration :

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "ok",
  "version": "<version>",
  "mode": "observe",
  "policy": "loaded",
  "model": "guardrino-t7-2610"
}

Étape 4 · Brancher votre application

Changez une ligne : l’URL de base. Vos prompts, vos modèles et le reste de votre code ne changent pas. guardrino.internal désigne le nom du serveur Guardrino sur votre réseau.

from openai import OpenAI

# The only change: the base URL points at Guardrino instead of the provider.
client = OpenAI(base_url="http://guardrino.internal:8080/v1")

reply = client.chat.completions.create(
    model="<your-model>",
    messages=[{"role": "user", "content": "Hello"}],
)
import OpenAI from 'openai'

// The only change: the base URL points at Guardrino instead of the provider.
const client = new OpenAI({ baseURL: 'http://guardrino.internal:8080/v1' })

const reply = await client.chat.completions.create({
  model: '<your-model>',
  messages: [{ role: 'user', content: 'Hello' }],
})
curl http://guardrino.internal:8080/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "<your-model>", "messages": [{"role": "user", "content": "Hello"}]}'

Les messages autorisés passent sans changement, les messages masqués passent avec les données personnelles remplacées, et un message refusé revient sous forme d’un refus clair que votre application peut afficher. Les champs de décision sont décrits dans la référence développeur. La clé du fournisseur reste où vous voulez : vos applications peuvent continuer à l’envoyer, ou elle peut rester chez Guardrino seulement, pour que les applications ne la détiennent jamais.

Les réponses dans la référence développeur

Votre propre serveur de modèles ? Voir vLLM, Kubernetes, OpenShift AI et d’autres

Observer, puis appliquer

Laissez d’abord Guardrino observer le trafic réel en mode observe. Le journal d’audit montre, pour chaque message, ce qu’il aurait masqué, signalé ou bloqué : vous réglez la politique avant que quiconque soit concerné. Quand le résultat vous convient, changez une ligne et redémarrez.

mode = "enforce"                # was "observe"
sudo systemctl restart guardrino
# or, in a container:
docker restart guardrino
Restart-Service Guardrino

Mises à jour, hors ligne

  • Les mises à jour viennent de HisnLabs sous forme de paquets signés, modèles compris. L’installateur vérifie la signature et refuse un paquet qui ne correspond pas.
  • Une mise à jour s’applique comme l’installation : vérifier, lancer l’installateur. Votre fichier de politique et votre journal d’audit sont conservés.
  • Rien ne demande de connexion internet : les paquets peuvent être apportés dans un réseau isolé.

Désinstaller

Retirer Guardrino conserve votre fichier de politique et votre journal d’audit, sauf si vous les supprimez aussi.

sudo /opt/guardrino/uninstall.sh
# or, in a container:
docker rm -f guardrino

# Optional: remove the configuration and the audit log too
sudo rm -r /etc/guardrino /var/log/guardrino
msiexec /x guardrino-<version>-x64.msi /qn
# Optional: remove the configuration and the audit log too
Remove-Item -Recurse C:\ProgramData\Guardrino

Pointez ensuite vos applications vers leur ancienne URL de base.

Demander un accès anticipé