Zum Inhalt springen

Zurück zu Guardrino

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
EinstellungBedeutung
upstreamDie Modell-API, an die Guardrino erlaubte Anfragen weiterleitet.
api_keySchlüssel für den Upstream. Fehlt er, wird der Schlüssel des Aufrufers durchgereicht.
buffer_outputBei true wird die Antwort bis zur Prüfung zurückgehalten. Siehe die Streaming-Seite.
block_statusHTTP-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"
  }
}

Gestreamte Antworten

Frühzugang anfragen