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

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

النشر مع منصة الذكاء الاصطناعي لديك

جاردرينو أمام أي خادم نماذج

توجّه تطبيقاتك إلى جاردرينو، ويوجّه جاردرينو إلى خادم النماذج لديك. لا شيء يتغيّر في خادم النماذج، أيًّا كان.

نشر مُخطَّط جاردرينو قيد التطوير. تتلقى الشركات المشاركة في البرنامج التجريبي الحزمة من HisnLabs، وقد تتغيّر أسماء الملفات وقيم الـ chart والأوامر قبل الإصدار.

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

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

المبدأ

صُمِّم جاردرينو ليقف بين تطبيقاتك وأي خادم نماذج يقدّم واجهة برمجية متوافقة مع OpenAI. يغيّر تطبيقك عنوانه الأساسي إلى جاردرينو، ويوجّه ملف سياسة جاردرينو upstream إلى خادم النماذج. يبقى خادم النماذج ونماذجه ووحدات GPU فيه كما هي تمامًا.

# Before: your app talks to the model server
base_url = "http://<model-server>/v1"

# After: your app talks to Guardrino, and Guardrino talks to the model server
base_url = "http://guardrino.internal:8080/v1"     # in your app
url      = "http://<model-server>/v1"              # [upstream] in guardrino.toml

اجعل خادم النماذج متاحًا لجاردرينو وحده، كي يمرّ كل طلب عبر السياسة.

Docker Compose

خدمتان على جهاز واحد مزوّد بـ GPU: يقدّم vLLM النموذج، وجاردرينو هو المنفذ الوحيد الذي تراه تطبيقاتك.

services:
  vllm:
    image: vllm/vllm-openai:latest
    command: ["--model", "<your-model>"]
    ipc: host
    volumes:
      - ~/.cache/huggingface:/root/.cache/huggingface
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    # No published port: only Guardrino reaches the model server.

  guardrino:
    image: guardrino:<version>          # loaded from the offline package (docker load -i ...)
    depends_on: [vllm]
    ports:
      - "8080:8080"                     # the only port your apps see
    volumes:
      - ./guardrino:/etc/guardrino      # guardrino.toml lives here
    env_file: ./guardrino/guardrino.env
# ./guardrino/guardrino.toml
mode = "observe"

[upstream]
url = "http://vllm:8000/v1"             # the vllm service, by its Compose name
docker compose up -d

vLLM على خادم

دون حاويات: يستمع خادم vLLM المتوافق مع OpenAI افتراضيًا على المنفذ 8000، تحت /v1. اربطه بعنوان يستطيع جاردرينو الوصول إليه، ووجّه upstream إليه.

# On the model server
vllm serve <your-model> --host <vllm-host> --port 8000
# guardrino.toml on the Guardrino server
[upstream]
url = "http://<vllm-host>:8000/v1"

تثبيت جاردرينو نفسه على Linux أو Windows

Kubernetes

مخطط Helm (chart) مُخطَّط له. تحمل الحزمة غير المتصلة الـ chart والصور، فيُثبَّت العنقود المعزول من سجل الصور الداخلي لديك. تُقدَّم السياسة في ConfigMap، ويأتي مفتاح خادم النماذج من Secret تديره أصلًا.

# The offline package carries the chart and the images: push the images to your internal registry first.
helm install guardrino ./guardrino-<version>.tgz -n guardrino --create-namespace -f values.yaml
image:
  repository: <your-registry>/guardrino
  tag: "<version>"

replicaCount: 2

resources:
  requests:
    cpu: "4"
    memory: 8Gi
  limits:
    memory: 16Gi

# Rendered into a ConfigMap as guardrino.toml
policy: |
  mode = "observe"

  [upstream]
  url = "http://vllm.models.svc.cluster.local:8000/v1"

# The provider or model-server key, from a Secret you already have (leave out if the server needs none)
upstreamKeySecret:
  name: upstream-credentials
  key: api-key

service:
  port: 8080

تتبع قيم requests وlimits المتطلبات المُخطَّطة: 4 vCPU و8 GB للبدء، وحتى 16 GB.

Red Hat OpenShift وOpenShift AI

تعتمد منصة تقديم النموذج الواحد في OpenShift AI على KServe، وتتضمن vLLM ServingRuntime for KServe الذي تجيب نماذجه على نقاط نهاية متوافقة مع OpenAI. وجّه upstream إلى نقطة النهاية الداخلية للنموذج، المعروضة في لوحة تحكم OpenShift AI.

# In values.yaml, policy: the model's internal endpoint from the OpenShift AI dashboard
[upstream]
url = "https://<model-name>-predictor.<model-project>.svc.cluster.local:8443/v1"

ثبّت الـ chart نفسه في مشروع خاص به، وامنح تطبيقاتك Route في OpenShift للوصول إليه.

oc new-project guardrino
helm install guardrino ./guardrino-<version>.tgz -n guardrino -f values.yaml
oc expose service guardrino            # an OpenShift Route for your apps

صُمِّم جاردرينو ليعمل بمستخدم غير جذري ضمن قيد سياق الأمان restricted-v2، وهو القيد الافتراضي في OpenShift. هذه نية التصميم، وليست شهادة.

خوادم ومزوّدون آخرون

صُمِّم جاردرينو ليعمل مع أي خادم متوافق مع OpenAI، ومن الأمثلة:

الخادممثال على عنوان upstream
vLLMhttp://<host>:8000/v1
Hugging Face Text Generation Inference (Messages API)http://<host>:<port>/v1
Ollamahttp://<host>:11434/v1
NVIDIA NIM for LLMshttp://<host>:8000/v1
Ray Serve LLMhttp://<host>:8000/v1
LocalAIhttp://<host>:8080/v1
LM Studiohttp://<host>:1234/v1
LiteLLM proxyhttp://<host>:4000

المنافذ هي القيم الافتراضية الموثّقة لكل مشروع؛ استخدم العنوان الذي يستمع عليه خادمك فعلًا.

المزوّدون المستضافون

المزوّدكيف يصل إليه جاردرينوالحالة
OpenAIمباشرةً، بوصفه upstream متوافقًا مع OpenAIمُخطَّط
Azure OpenAIعبر مُحوِّل في البوابةمُخطَّط
Anthropicعبر مُحوِّل في البوابةمُخطَّط
Mistralعبر مُحوِّل في البوابةمُخطَّط
AWS Bedrockعبر مُحوِّل في البوابةمُخطَّط
Google Geminiعبر مُحوِّل في البوابةمُخطَّط

حاوية مرافقة (Sidecar)

يمكن للفرق التي تريد جاردرينو بجوار تطبيق واحد تشغيله في الـ pod نفسه، فيخاطبه التطبيق على localhost.

containers:
  - name: app
    image: <your-app-image>
    env:
      - name: OPENAI_BASE_URL           # read by OpenAI's Python SDK
        value: http://localhost:8080/v1
  - name: guardrino
    image: <your-registry>/guardrino:<version>
    ports:
      - containerPort: 8080
    volumeMounts:
      - name: guardrino-policy
        mountPath: /etc/guardrino

أسماء المنتجات ملك لأصحابها. ذُكرت هنا فقط لتوضيح موقع جاردرينو، ولا يُقصد بها أي شراكة أو شهادة أو تأييد.

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