Руководство · Доступно
Поставьте Guardrino перед приложением, совместимым с OpenAI
Три шага, и в приложении меняется только один URL.
Статус: доступно. Эта интеграция создана и протестирована. Компании-участники пилота получают пакет Guardrino от HisnLabs.
Developer reference · Install guide · AI platforms · Open model card · Прокси, совместимый с OpenAI · Потоковая передача · LiteLLM · Прокси безопасности MCP · Руководство: LiteLLM · Руководство: инструменты MCP
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
Шаг 1 · Задайте вышестоящий API
Сначала должен быть установлен Guardrino (см. руководство по установке). В его файле политики добавьте раздел [proxy] с API модели, которым приложение пользуется сейчас.
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Не указывайте api_key, если приложение должно по-прежнему отправлять собственный ключ: Guardrino передаст его дальше.
Шаг 2 · Смените базовый URL
В приложении замените базовый URL поставщика модели на URL Guardrino. Больше ничего не меняется.
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
)Чтобы связать реплики без правок кода, отправляйте одно и то же значение user или заголовок X-Guardrino-Conversation в каждой реплике беседы.
Шаг 3 · Проверьте работу
Отправьте обычное сообщение, а затем такое, которое ваша политика отклоняет. Первое вернёт ответ модели, второе вернёт ошибку в формате ошибки OpenAI.
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"}]}'Если приложение передаёт ответы потоком, прочтите страницу о потоковой передаче и выберите между живыми фрагментами и buffer_output = true.