openai-completions، ويمكنه اكتشاف النماذج تلقائيًا عند الاشتراك في ذلك باستخدام VLLM_API_KEY.
بدء الاستخدام
1
بدء vLLM بخادم متوافق مع OpenAI
يجب أن يوفّر عنوان URL الأساسي نقاط نهاية
/v1 (/v1/models و/v1/chat/completions). يعمل vLLM عادةً على:2
تعيين متغير البيئة لمفتاح API
تصلح أي قيمة غير فارغة إذا كان خادمك لا يفرض المصادقة:
3
اختيار نموذج
استبدله بأحد معرّفات نماذج vLLM لديك:
4
التحقق من توفر النموذج
اكتشاف النماذج (المزوّد الضمني)
عند تعيينVLLM_API_KEY (أو وجود ملف تعريف للمصادقة) وعدم تعريف models.providers.vllm، يستعلم OpenClaw من GET http://127.0.0.1:8000/v1/models ويحوّل المعرّفات المُعادة إلى إدخالات نماذج.
إذا عيّنت
models.providers.vllm صراحةً، فسيستخدم OpenClaw النماذج التي صرّحت بها فقط. أضف "vllm/*": {} إلى agents.defaults.models لكي يستعلم OpenClaw أيضًا من نقطة النهاية /models لذلك المزوّد المُعدّ، ويضمّن جميع نماذج vLLM المُعلن عنها.الإعداد الصريح
استخدم الإعداد الصريح عندما يعمل vLLM على مضيف أو منفذ مختلف، أو عندما تريد تثبيت قيمتَيcontextWindow وmaxTokens، أو عندما يتطلب خادمك مفتاح API حقيقيًا، أو عندما تتصل بنقطة نهاية موثوقة عبر local loopback أو الشبكة المحلية أو Tailscale:
الإعداد المتقدم
السلوك الشبيه بالوكيل
السلوك الشبيه بالوكيل
يُعامل vLLM بوصفه واجهة خلفية
/v1 شبيهة بالوكيل ومتوافقة مع OpenAI، وليس نقطة نهاية أصلية لـ OpenAI:عناصر التحكم في التفكير لنماذج Qwen
عناصر التحكم في التفكير لنماذج Qwen
بالنسبة إلى نماذج Qwen، عيّن يربط OpenClaw الأمر ترسل مستويات التفكير غير
compat.thinkingFormat: "qwen-chat-template" في صف النموذج عندما يتوقع الخادم معاملات قالب محادثة Qwen. تعرض هذه النماذج ملف تعريف ثنائيًا لـ /think (off وon)، لأن التفكير في قالب محادثة Qwen عبارة عن علامة تشغيل/إيقاف، وليس سلّمًا لمستويات الجهد على نمط OpenAI./think off بما يلي:off القيمة enable_thinking: true. إذا كانت نقطة النهاية لديك تتوقع بدلًا من ذلك علامات في المستوى الأعلى على نمط DashScope، فاستخدم compat.thinkingFormat: "qwen" لإرسال enable_thinking في جذر الطلب.عناصر التحكم في التفكير لنماذج Nemotron 3
عناصر التحكم في التفكير لنماذج Nemotron 3
بالنسبة إلى نماذج لتخصيص هذه القيم، عيّن
vllm/nemotron-3-* مع إيقاف التفكير، يرسل Plugin المضمّن ما يلي:chat_template_kwargs ضمن معاملات النموذج. إذا عيّنت أيضًا params.extra_body.chat_template_kwargs، فستكون لتلك القيمة الأولوية لأن extra_body هو آخر تجاوز لنص الطلب.ظهور استدعاءات أدوات Qwen كنص
ظهور استدعاءات أدوات Qwen كنص
تأكد أولًا من بدء vLLM باستخدام محلّل استدعاءات الأدوات وقالب المحادثة الصحيحين للنموذج. توثّق vLLM استخدام استبدل معرّف النموذج بالمعرّف الدقيق الناتج من هذا حل بديل يتطلب الاشتراك الصريح: فهو يجبر كل دور يحتوي على أدوات على إجراء استدعاء أداة، لذا لا تستخدمه إلا لإدخال نموذج مخصص يكون فيه ذلك مقبولًا. لا تعيّنه إعدادًا افتراضيًا عامًا لجميع نماذج vLLM، ولا تقرنه بوكيل يحوّل نصوص المساعد العشوائية إلى استدعاءات أدوات قابلة للتنفيذ.
hermes لنماذج Qwen2.5 وqwen3_xml لنماذج Qwen3-Coder.الأعراض: لا تعمل Skills أو الأدوات مطلقًا، أو يطبع المساعد JSON/XML خامًا مثل {"name":"read","arguments":...}، أو يعيد vLLM مصفوفة tool_calls فارغة عندما يرسل OpenClaw tool_choice: "auto".لا تعيد بعض تركيبات Qwen وvLLM استدعاءات أدوات منظّمة إلا عندما يستخدم الطلب tool_choice: "required". افرض ذلك لكل نموذج باستخدام params.extra_body:openclaw models list --provider vllm، أو طبّق التجاوز نفسه من CLI:عنوان URL أساسي مخصص
عنوان URL أساسي مخصص
إذا كان خادم vLLM يعمل على مضيف أو منفذ غير افتراضي، فعيّن
baseUrl في إعداد المزوّد الصريح:استكشاف الأخطاء وإصلاحها
بطء الاستجابة الأولى أو انتهاء مهلة الخادم البعيد
بطء الاستجابة الأولى أو انتهاء مهلة الخادم البعيد
بالنسبة إلى النماذج المحلية الكبيرة، أو مضيفي الشبكة المحلية البعيدين، أو اتصالات شبكة tailnet، عيّن مهلة طلب على مستوى المزوّد:ينطبق
timeoutSeconds على طلبات HTTP الخاصة بنماذج vLLM فقط: إعداد الاتصال، وترويسات الاستجابة، وبث النص، والإلغاء الكلي لعملية الجلب المحمية. كما يرفع الحد الأقصى لمراقب خمول LLM أو البث فوق القيمة الافتراضية الضمنية البالغة نحو 120 ثانية لهذا المزوّد. يُفضّل هذا على زيادة agents.defaults.timeoutSeconds، التي تتحكم في تشغيل الوكيل بأكمله.تعذر الوصول إلى الخادم
تعذر الوصول إلى الخادم
تحقق من أن خادم vLLM قيد التشغيل ويمكن الوصول إليه:إذا ظهر خطأ في الاتصال، فتحقق من المضيف والمنفذ ومن بدء vLLM في وضع الخادم المتوافق مع OpenAI. يثق OpenClaw في الأصل المحدد بدقة في
models.providers.vllm.baseUrl لطلبات النماذج المحمية عبر نقاط نهاية local loopback والشبكة المحلية وTailscale. تظل أصول بيانات التعريف أو الأصول المحلية للرابط محظورة دون اشتراك صريح. عيّن models.providers.vllm.request.allowPrivateNetwork: true فقط عندما يجب أن تصل طلبات vLLM إلى أصل خاص آخر، أو false لإلغاء الثقة في الأصل المطابق تمامًا.أخطاء المصادقة في الطلبات
أخطاء المصادقة في الطلبات
إذا فشلت الطلبات بسبب أخطاء في المصادقة، فعيّن قيمة حقيقية لـ
VLLM_API_KEY تطابق إعداد خادمك، أو أعدّ المزوّد صراحةً ضمن models.providers.vllm.لم يُكتشف أي نموذج
لم يُكتشف أي نموذج
يتطلب الاكتشاف التلقائي تعيين
VLLM_API_KEY. إذا عرّفت models.providers.vllm، فسيستخدم OpenClaw النماذج التي صرّحت بها فقط، ما لم يتضمن agents.defaults.models القيمة "vllm/*": {}.عرض الأدوات كنص خام
عرض الأدوات كنص خام
إذا طبع نموذج Qwen صيغة أدوات JSON/XML بدلًا من تنفيذ إحدى Skills:
- ابدأ vLLM باستخدام المحلّل والقالب الصحيحين لذلك النموذج.
- تأكد من معرّف النموذج الدقيق باستخدام
openclaw models list --provider vllm. - أضف تجاوزًا مخصصًا لكل نموذج بالقيمة
params.extra_body.tool_choice: "required"فقط إذا ظلtool_choice: "auto"يعيد استدعاءات أدوات فارغة أو نصية فقط.
ذو صلة
اختيار النموذج
اختيار المزوّدين ومراجع النماذج وسلوك تجاوز الفشل.
OpenAI
مزوّد OpenAI الأصلي وسلوك المسارات المتوافقة مع OpenAI.
OAuth والمصادقة
تفاصيل المصادقة وقواعد إعادة استخدام بيانات الاعتماد.
استكشاف الأخطاء وإصلاحها
المشكلات الشائعة وكيفية حلها.