صف المشكلة/الخطأ/السؤال
أريد الوصول إلى نموذج llm المحلي (vllm gpt-oss-20b) بعنوان url (http://localhost:8000/v1). كيف يمكنني الاتصال؟
ما رسالة الخطأ (إن وجدت)؟
يرجى مشاركة سير العمل الخاص بك
(حدد العُقد على لوحتك واستخدم اختصارات لوحة المفاتيح CMD+C/CTRL+C و CMD+V/CTRL+V لنسخ ولصق سير العمل.)
شارك المخرجات التي أرجعتها العُقدة الأخيرة
معلومات عن إعداد n8n الخاص بك
- **إصدار n8n:**2.29.8
- **قاعدة البيانات (الافتراضي: SQLite):**الافتراضي
- إعداد n8n EXECUTIONS_PROCESS (الافتراضي: own, main):
- تشغيل n8n عبر (Docker, npm, n8n cloud, تطبيق سطح المكتب):
- نظام التشغيل:
مرحبا @doyoungim999
هذا يعتمد على كيفية تثبيت n8n لديك. إذا كان حاويةً Docker، فستحتاج إما إلى نقل نموذج اللغة الكبير إلى حاوية Docker أخرى والوصول إليه باسم الحاوية (الأبسط)، أو السماح بالوصول من حاوية Docker إلى خدمة المضيف
أهلا وسهلا @doyoungim999!
vLLM يوفر واجهة برمجية متوافقة مع OpenAI، لذا يمكنك استخدام عقدة OpenAI Chat Model في n8n للاتصال بها. في بيانات اعتماد OpenAI، اضبط Base URL على http://localhost:8000/v1 (أو عنوان IP المضيف الفعلي إذا كان n8n يعمل في Docker - استخدم http://host.docker.internal:8000/v1 على Mac/Windows، أو عنوان IP شبكتك المحلية على Linux). ضع أي نص غير فارغ كمفتاح API لأن vLLM لا يتطلب مصادقة افتراضياً. ثم في عقدة OpenAI Chat Model، اكتب اسم النموذج يدويًا - يجب أن يطابق معرّف النموذج الذي يوفره vLLM (تحقق باستخدام curl http://localhost:8000/v1/models).
@nguyenthieutoan أصاب الهدف، Localhost هو ما يعيقك هنا. غيّره إلى عنوان IP شبكتك المحلية:8080
vLLM يعرّض بالفعل واجهة برمجية متوافقة مع OpenAI، لذا لا تحتاج إلى عقدة خاصة — استخدم عقدة OpenAI نفسها مشيرة إلى خادمك المحلي.
خطوة بخطوة:
- أنشئ بيانات اعتماد „OpenAI
حسناً، إذن: المشكلة على الأرجح هي أن n8n يعمل داخل Docker، وهناك “localhost” ليست جهازك، بل الحاوية نفسها. لذا عندما تخبره بالبحث عن vLLM على localhost:8000، فهو يبحث داخل نفسه، حيث لا يوجد شيء بكل تأكيد، ويرمي الخطأ.
الحل هو تغيير Base URL إلى هذا:
http://host.docker.internal:8000/v1
إذا كنت على Linux فأنت تحتاج أيضاً إلى بدء n8n باستخدام --add-host host.docker.internal:host-gateway، وإلا فلن يتعرف على هذا العنوان (أو، بشكل أبسط، ضع عنوان IP الخاص بجهازك مباشرة).
ثم شيئان سريعان: تأكد من أنك بدأت vLLM باستخدام --host 0.0.0.0 (وإلا فسيستمع فقط إلى نفسه)، وفي حقل API Key اكتب شيئاً عشوائياً مثل dummy، لأن n8n يتطلبه حتى لو لم يستخدمه vLLM.
الحالة الوحيدة التي كان فيها localhost ستكون بخير هي إذا كان n8n ليس في Docker بل مثبتاً مباشرة على جهازك — لكن هذا على الأرجح ليس إعدادك، فاستخدم host.docker.internal وستكون بخير.
المصادر (مستندات n8n — صفحات Ollama، لكن إصلاح Docker localhost ينطبق بنفس الطريقة على vLLM لأنها تستخدم نفس واجهة OpenAI المتوافقة):
@Michael_Frostbutter بعد أن غيرت عنوان IP (http://x.x.x.x:8000/v1) تمكنت من الوصول بنجاح. شكراً لك
شكراً لك، لقد نجح. غيّرت إلى x.x.x.x بدلاً من localhost.
يسعدني المساعدة، localhost لن يتم حله أبدًا داخل حاوية docker.
@doyoungim999
ملاحظة واحدة هنا. إذا كنت تستضيفها على جهاز يغادر شبكتك المحلية في أي وقت ويتصل بشبكة أخرى، فسيتغير عنوان IP الخاص بك، وأيضاً إذا لم يكن لديك حجز DHCP في جهاز التوجيه المنزلي الخاص بك لهذا الجهاز، فهناك احتمال أيضاً بأن يتغير عنوان IP الخاص بك وسيؤدي ذلك إلى فشل الاتصال.
كما ذُكر سابقاً، جرب host.docker.internal:PORT وإذا تم حلها بنجاح، فهذا هو الحل الدائم الذي يحل كلا المشاكل المتعلقة بعنوان IP الثابت أعلاه