Integration · Verfügbar
Der OpenAI-kompatible Proxy
Ihre App behält ihren Code und ändert nur die Basis-URL. Guardrino prüft, was hineingeht und was herauskommt.
Status: Verfügbar. Diese Integration ist gebaut und getestet. HisnLabs liefert Guardrino an Pilotunternehmen; einzelne Einstellungen können sich vor der allgemeinen Veröffentlichung noch ändern.
Developer reference · Install guide · AI platforms · Open model card · Streaming · LiteLLM · MCP-Sicherheitsproxy · Anleitung: OpenAI-kompatible App · Anleitung: LiteLLM · Anleitung: MCP-Tools
Try it today Guardrino-t7 Open, an earlier version of our classifier, is public on Hugging Face under Apache-2.0. The demo runs in your browser: what you type stays on your device. Live demo · Model card · Same demo on Hugging Face
Überblick
Guardrino stellt POST /v1/chat/completions bereit. Es prüft die Anfrage, leitet sie an die von Ihnen konfigurierte Modell-API weiter, prüft die Antwort und gibt sie zurück. Schlägt eine Prüfung an, erhält die App stattdessen eine Ablehnung.
- Eingabe. Die Beiträge der Nutzerin oder des Nutzers.
- Kontext. Tool-Ergebnisse und Dokumente in den Nachrichten, als Daten gelesen. Bild- und Dateiteile laufen zuerst durch den Extraktionsdienst; eine in einem Screenshot oder PDF versteckte Anweisung wird wie jedes Dokument beurteilt.
- Ausgabe. Die Antwort des Modells, mit den Ausgabeprüfungen (Canary, personenbezogene Daten, URLs).
Verwendung
Richten Sie Ihren Client auf Guardrino statt auf den Modellanbieter. Der Anfragetext bleibt unverändert.
from openai import OpenAI
# The only change: the base URL (and the key your Guardrino deployment expects).
client = OpenAI(base_url="https://guardrino.example/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="your-model",
messages=[{"role": "user", "content": "Summarise this ticket."}],
user="conversation-7f3a", # becomes the conversation_id
)Guardrino bewertet eine Unterhaltung als Ganzes. Die conversation_id stammt aus dem Header X-Guardrino-Conversation, ohne Header aus dem Feld user; am Client ist keine Änderung nötig.
curl https://guardrino.example/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-H "X-Guardrino-Conversation: conversation-7f3a" \
-d '{"model": "your-model", "messages": [{"role": "user", "content": "Hello"}]}'Konfiguration
Der Proxy wird in der Richtliniendatei im Abschnitt [proxy] eingestellt.
block_status = 403 # answer a refused message with HTTP 403 (default 400)
[proxy]
upstream = "https://llm.example/v1" # the model API Guardrino forwards to
api_key = "UPSTREAM_KEY" # optional: when unset, the caller's key is passed through
buffer_output = false # true: hold the reply until it has been checked| Einstellung | Bedeutung |
|---|---|
upstream | Die Modell-API, an die Guardrino erlaubte Anfragen weiterleitet. |
api_key | Schlüssel für den Upstream. Fehlt er, wird der Schlüssel des Aufrufers durchgereicht. |
buffer_output | Bei true wird die Antwort bis zur Prüfung zurückgehalten. Siehe die Streaming-Seite. |
block_status | HTTP-Status einer Ablehnung: standardmäßig 400, mit dem Wert 403 stattdessen 403. |
Wenn eine Nachricht abgelehnt wird
Eine Ablehnung kommt im OpenAI-Fehlerformat zurück, sodass die vorhandene Fehlerbehandlung Ihrer App weiter funktioniert.
{
"error": {
"message": "The request was blocked by Guardrino policy.",
"type": "guardrino_blocked",
"param": null,
"code": "content_blocked",
"request_id": "req-42"
}
}