الانتقال إلى المحتوى

العودة إلى جاردرينو

تكامل · متاح

الوكيل المتوافق مع OpenAI

يحتفظ تطبيقك بشيفرته ويغيّر عنوانه الأساسي فقط. يفحص جاردرينو ما يدخل وما يخرج.

الحالة: متاح. هذا التكامل مبنيّ ومُختبَر. تسلّم HisnLabs جاردرينو إلى الشركات المشاركة في البرنامج التجريبي، وقد تتغيّر بعض الإعدادات قبل الإتاحة العامة.

مرجع المطوّرين · دليل التثبيت · منصات الذكاء الاصطناعي · بطاقة النموذج المفتوح · البث · LiteLLM · وكيل أمان MCP · درس: تطبيق متوافق مع OpenAI · درس: LiteLLM · درس: أدوات MCP

جرّبه اليوم Guardrino-t7 Open، نسخة سابقة من المصنِّف، متاح للعموم على Hugging Face بترخيص Apache-2.0. يعمل العرض التجريبي في متصفحك: ما تكتبه يبقى على جهازك. عرض تجريبي مباشر · بطاقة النموذج · العرض نفسه على Hugging Face

نظرة عامة

يوفّر جاردرينو المسار POST /v1/chat/completions. يفحص الطلب، ثم يمرّره إلى واجهة النموذج التي تضبطها، ثم يفحص الرد ويعيده. وإذا فشل أحد الفحوص يتلقى التطبيق رفضًا بدلًا من الرد.

  • المُدخَل. أدوار المستخدم في المحادثة.
  • السياق. نتائج الأدوات والمستندات داخل الرسائل، وتُقرأ بوصفها بيانات. وتمرّ أجزاء الصور والملفات أولًا بخدمة الاستخراج، فيُحكم على تعليمة مخفية في لقطة شاشة أو ملف PDF كما يُحكم على أي مستند.
  • المُخرَج. ردّ النموذج، مع فحوص المخرجات (الرمز الكناري، والبيانات الشخصية، والروابط).

الاستخدام

وجّه عميلك إلى جاردرينو بدلًا من مزوّد النموذج. يبقى متن الطلب كما هو.

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
)

يقيّم جاردرينو المحادثة كاملةً. يأخذ conversation_id من الترويسة X-Guardrino-Conversation، أو من الحقل user إن لم توجد ترويسة، فلا حاجة إلى تعديل العميل.

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"}]}'

الإعداد

يُضبط الوكيل في ملف السياسة، ضمن القسم [proxy].

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
الإعدادالمعنى
upstreamواجهة النموذج التي يمرّر إليها جاردرينو الطلبات المسموح بها.
api_keyمفتاح الواجهة الأمامية. إن غاب، يُمرَّر المفتاح الذي أرسله المستدعي.
buffer_outputعند true يُحتجز الرد حتى يُفحص. راجع صفحة البث.
block_statusرمز حالة HTTP للرفض: 400 افتراضيًا، و403 عند ضبطه على 403.

عند رفض رسالة

يعود الرفض بصيغة خطأ OpenAI، فتستمر معالجة الأخطاء الحالية في تطبيقك بالعمل.

{
  "error": {
    "message": "The request was blocked by Guardrino policy.",
    "type": "guardrino_blocked",
    "param": null,
    "code": "content_blocked",
    "request_id": "req-42"
  }
}

الردود المبثوثة

اطلب وصولًا مبكرًا