الانتقال إلى المحتوى الرئيسي

vLLM

يمكن لـ vLLM تقديم نماذج مفتوحة المصدر (وبعض النماذج المخصصة) عبر HTTP API متوافق مع OpenAI. يتصل OpenClaw بـ vLLM باستخدام API ‏openai-completions. يمكن لـ OpenClaw أيضًا اكتشاف النماذج المتاحة تلقائيًا من vLLM عندما تشترك صراحةً باستخدام VLLM_API_KEY (أي قيمة تعمل إذا كان خادمك لا يفرض المصادقة) ولا تعرّف إدخال models.providers.vllm صريحًا.
الخاصيةالقيمة
معرّف المزودvllm
APIopenai-completions (متوافق مع OpenAI)
المصادقةمتغير البيئة VLLM_API_KEY
عنوان URL الأساسي الافتراضيhttp://127.0.0.1:8000/v1

البدء

1

شغّل vLLM مع خادم متوافق مع OpenAI

يجب أن يكشف عنوان URL الأساسي لديك عن نقاط نهاية /v1 (مثل /v1/models و/v1/chat/completions). يعمل vLLM عادة على:
http://127.0.0.1:8000/v1
2

عيّن متغير البيئة لمفتاح API

تعمل أي قيمة إذا كان خادمك لا يفرض المصادقة:
export VLLM_API_KEY="vllm-local"
3

اختر نموذجًا

استبدل ذلك بأحد معرّفات نماذج vLLM لديك:
{
  agents: {
    defaults: {
      model: { primary: "vllm/your-model-id" },
    },
  },
}
4

تحقق من توفر النموذج

openclaw models list --provider vllm

اكتشاف النماذج (المزود الضمني)

عند تعيين VLLM_API_KEY (أو وجود ملف تعريف مصادقة) وعدم تعريف models.providers.vllm، يستعلم OpenClaw عن:
GET http://127.0.0.1:8000/v1/models
ويحوّل المعرّفات المُعادة إلى إدخالات نماذج.
إذا عيّنت models.providers.vllm صراحةً، فسيتم تخطي الاكتشاف التلقائي ويجب عليك تعريف النماذج يدويًا.

الإعداد الصريح (نماذج يدوية)

استخدم الإعداد الصريح عندما:
  • يعمل vLLM على مضيف أو منفذ مختلف
  • تريد تثبيت قيم contextWindow أو maxTokens
  • يتطلب خادمك مفتاح API حقيقيًا (أو تريد التحكم في الرؤوس)
{
  models: {
    providers: {
      vllm: {
        baseUrl: "http://127.0.0.1:8000/v1",
        apiKey: "${VLLM_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "your-model-id",
            name: "Local vLLM Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

ملاحظات متقدمة

يُعامَل vLLM كواجهة خلفية متوافقة مع OpenAI /v1 بنمط proxy، وليس كنقطة نهاية OpenAI أصلية. وهذا يعني:
السلوكهل يُطبَّق؟
تشكيل طلب OpenAI الأصليلا
service_tierلا يتم إرساله
store في الاستجاباتلا يتم إرساله
تلميحات Prompt-cacheلا يتم إرسالها
تشكيل حمولة التوافق مع التفكير في OpenAIلا يُطبَّق
رؤوس الإسناد المخفية الخاصة بـ OpenClawلا يتم حقنها على عناوين URL الأساسية المخصصة
إذا كان خادم vLLM لديك يعمل على مضيف أو منفذ غير افتراضي، فعيّن baseUrl في إعدادات المزود الصريحة:
{
  models: {
    providers: {
      vllm: {
        baseUrl: "http://192.168.1.50:9000/v1",
        apiKey: "${VLLM_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "my-custom-model",
            name: "Remote vLLM Model",
            reasoning: false,
            input: ["text"],
            contextWindow: 64000,
            maxTokens: 4096,
          },
        ],
      },
    },
  },
}

استكشاف الأخطاء وإصلاحها

تحقق من أن خادم vLLM يعمل ويمكن الوصول إليه:
curl http://127.0.0.1:8000/v1/models
إذا ظهرت لك رسالة خطأ في الاتصال، فتحقق من المضيف، والمنفذ، ومن أن vLLM بدأ في وضع الخادم المتوافق مع OpenAI.
إذا فشلت الطلبات بأخطاء مصادقة، فعيّن VLLM_API_KEY حقيقيًا يطابق إعدادات خادمك، أو قم بإعداد المزود صراحةً ضمن models.providers.vllm.
إذا كان خادم vLLM لديك لا يفرض المصادقة، فإن أي قيمة غير فارغة لـ VLLM_API_KEY تعمل كإشارة اشتراك صريحة لـ OpenClaw.
يتطلب الاكتشاف التلقائي تعيين VLLM_API_KEY وألا يوجد إدخال إعدادات صريح لـ models.providers.vllm. إذا كنت قد عرّفت المزود يدويًا، فسيتخطى OpenClaw الاكتشاف ويستخدم النماذج التي أعلنت عنها فقط.

ذو صلة

اختيار النموذج

اختيار المزودات، ومراجع النماذج، وسلوك التحويل الاحتياطي.

OpenAI

مزود OpenAI الأصلي وسلوك المسار المتوافق مع OpenAI.

OAuth والمصادقة

تفاصيل المصادقة وقواعد إعادة استخدام بيانات الاعتماد.

استكشاف الأخطاء وإصلاحها

المشكلات الشائعة وكيفية حلها.