ما تقوم بإعداده
إذا وصلت إلى هنا عبر كتابة openwebui how to chat n8n، فأنت على الأرجح تحاول القيام بأمرين مترابطين: التحدث مع نموذج في Open WebUI، واستدعاء نفس النموذج من سير عمل n8n. يمكن أن تشير كلتا الأداتين إلى أي خادم يتبع تنسيق إكمال الدردشة الخاص بـ OpenAI، لذا فإن حسابًا واحدًا يغطي الاثنين.
Open WebUI هو واجهة دردشة مستضافة ذاتيًا. n8n هو أداة أتمتة سير العمل حيث تربط العقد ببعضها البعض. الواجهة البرمجية خلفهما هي نفسها في كلتا الحالتين:
- عنوان الـ API الأساسي:
https://api.nofilteraichat.com/v1 - معرف النموذج:
uncensored - المصادقة: رأس
Authorization: Bearerيحمل مفتاحك
أنت بحاجة إلى مفتاح أولاً. تشرح صفحة مفتاح API عملية التسجيل ورصيد التجربة المجاني بقيمة $0.50، وهو كافٍ لاختبار كل ما يلي.
الجزء الأول: Open WebUI
الخيار أ: لوحة الإدارة
إذا كان Open WebUI قيد التشغيل بالفعل، سجّل الدخول بصفتك مشرفاً وافتح إعدادات المسؤول، ثم الاتصالات. أضف اتصالاً جديداً بـ API OpenAI باستخدام هذه القيم:
- عنوان URL:
https://api.nofilteraichat.com/v1 - المفتاح: مفتاح API الخاص بك
- احفظ، ثم استخدم زر التحقق إذا كان إصدارك يحتوي عليه.
تتغير أسماء القوائم قليلاً بين الإصدارات، لذا ابحث عن القسم الذي يدرج اتصالات على طراز OpenAI. بعد الحفظ، ابدأ دردشة جديدة وافتح منتقي النموذج. يجب أن يظهر النموذج uncensored، لأن Open WebUI يحمل القائمة من GET /v1/models.
الخيار ب: متغيرات البيئة في Docker
إذا كنت تبدأ من الصفر، مرر الإعدادات عند تشغيل الحاوية:
docker run -d --name open-webui -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
-e OPENAI_API_KEY="$NOFILTER_API_KEY" \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:mainافتح http://localhost:3000، وأنشئ الحساب المحلي الأول، وسيكون النموذج في انتظاره في القائمة المنسدلة. لاحظ أن Open WebUI يخزن إعدادات الاتصال في قاعدة بياناته بعد التشغيل الأول. إذا قمت بتغيير المتغيرات لاحقًا ولم يحدث شيء، فقم بتحرير الاتصال في لوحة الإدارة بدلاً من ذلك.
ضبط المحادثة
في أدوات المحادثة، يمكنك ضبط درجة الحرارة وtop_p، وتسلسل التوقف والموجه النظامي. تُمرر هذه الإعدادات إلى النموذج. للخيال والتمثيل الأدوار، تعطي درجة حرارة بين 0.7 و1.0 أسلوباً أكثر حيوية. للأسئلة الواقعية، استخدم قيمة أقل. إذا بدأ النموذج في تكرار العبارات، ارفع عقوبة التكرار قليلاً.
الجزء الثاني: n8n مع عقدة OpenAI
يحتوي n8n على بيانات اعتماد OpenAI مدمجة. يتضمن تكوينه حقل عنوان URL الأساسي، والذي يكون افتراضيًا للخادم الرسمي. غيّره لتتحدث العقدة مع نقطة النهاية الخاصة بك:
- في n8n، أنشئ بيانات اعتماد جديدة من نوع OpenAI.
- الصق مفتاح API الخاص بك.
- حدد عنوان URL الأساسي إلى
https://api.nofilteraichat.com/v1. - احفظ وأرفق بيانات الاعتماد بعقدة نموذج محادثة OpenAI أو سير عمل وكيل الذكاء الاصطناعي.
المفاجأة هي حقل النموذج. تظهر بعض العقد قائمة منسدلة مملوءة من قائمة النماذج، وبعضها يحدد الخيارات إلى أسماء معروفة. إذا لم تتمكن من تحديد uncensored، فقم بتحويل الحقل إلى وضع التعبير واكتب المعرف يدويًا. إذا رفض إصدار n8n الخاص بك ذلك بعد ذلك، فاستخدم نهج طلب HTTP في القسم التالي، الذي لا يحتوي على مثل هذا القيد.
مع عمل بيانات الاعتماد، يمكنك ربط نموذج الدردشة بعقدة وكيل AI وإعطائه أدوات. يدعم استدعاء الأدوات عبر API (tools، tool_choice، والنتائج بصيغة role: "tool"). كما هو الحال مع أي نموذج مفتوح الأوزان، اختبر الوكيل على مدخلات حقيقية واحتفظ بوصف الأدوات قصيرًا وحرفيًا.
الجزء الثالث: محادثة من عقدة طلب HTTP
الخيار الأكثر قابلية للتنبؤ هو عقدة طلب HTTP عادية. تعرض بالضبط ما يتم إرساله، وتعمل في كل إصدار من n8n. قم بتكوين العقدة كما يلي:
- الطريقة: POST
- URL:
https://api.nofilteraichat.com/v1/chat/completions - المصادقة: مصادقة الرأس، مع الاسم
AuthorizationوالقيمةBearer YOUR_KEY(احفظها كبيانات اعتماد، وليس في العقدة) - إرسال الجسم: على، نوع المحتوى JSON
ضبط الجسم على ما يلي، باستخدام تعبير لنص المستخدم:
{
"model": "uncensored",
"messages": [
{ "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
{ "role": "user", "content": "{{ $json.prompt }}" }
],
"temperature": 0.8,
"max_tokens": 600
}يوجد نص الرد في choices[0].message.content. في العقدة التالية، اقرأه باستخدام التعبير {{ $json.choices[0].message.content }}. يحتوي نفس الاستجابة أيضًا على كتلة usage، لذا يمكنك تسجيل عدد الرموز في ورقة أو قاعدة بيانات.
سير العمل النموذجي هو تشغيل ويب هوك، هذه العقدة HTTP، وعقدة رد تعيد النص. آخر شائع يقرأ الصفوف من جدول بيانات، يولد مسودة لكل منها، ثم يكتب النتائج مرة أخرى. يمكنك أيضًا اختبار الطلب خارج n8n أولاً باستخدام curl:
curl https://api.nofilteraichat.com/v1/chat/completions \
-H "Authorization: Bearer $NOFILTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'الحدود، إعادة المحاولة، والدفعات في n8n
المفتاح الكامل يسمح بـ 8 طلبات متزامنة و300 طلب في الدقيقة؛ المفتاح التجريبي يسمح بـ 2 و60. يمكن لـ n8n تجاوز هذه الأرقام بسهولة، لأن العقدة تعالج كل عنصر وارد وقد تطلقها بسرعة.
في عقدة طلب HTTP، افتح الخيارات واستخدم التجميع: حدد حجم دفعة 4 أو 6 وفاصل زمني ثانية أو ثانيتين. ضمن إعدادات العقدة، فعّل إعادة المحاولة عند الفشل مع 3 محاولات وفترة انتظار 5000 مللي ثانية. يتطابق هذا مع سلوك API: عندما يكون محمّلًا بشكل مؤقت، يعيد HTTP 429 مع رأس Retry-After: 5. تخبرك أكواد 429 الأخرى بالحد الذي ضربته: يعني rate_limited طلبات كثيرة جدًا في الدقيقة، ويعني concurrency طلبات كثيرة جدًا في وقت واحد.
يُستحق البث المتدفق ذكرًا. يحتفظ الطلب المتدفق بمكان التزامن الخاص به حتى ينتهي البث. في n8n، اترك البث متوقفًا في عقدة HTTP، لأن سير العمل ينتظر الإجابة الكاملة بغض النظر عن ذلك. يقوم Open WebUI بالبث المتدفق افتراضيًا، وهو ما يناسب نافذة الدردشة.
تكلفة سير العمل
لنفترض أن سير عمل يعالج 500 صفًا، ويرسل 800 رمز مدخل ويحصل على 250 رمز مخرج لكل صف. المدخلات: 500 × 800 = 400,000 رمز، بتكلفة 400,000 × $0.15 / 1,000,000 = $0.06. المخرجات: 500 × 250 = 125,000 رمز، بتكلفة 125,000 × $0.50 / 1,000,000 = $0.0625. يبلغ المجموع $0.1225، أي حوالي 12 سنتًا. انظر صفحة الأسعار للشحن.
استكشاف الأخطاء وإصلاحها
| العرض | السبب المحتمل | الحل |
|---|---|---|
| Open WebUI لا يظهر أي نماذج | URL أو مفتاح خاطئ | استخدم عنوان URL الأساسي الذي ينتهي بـ /v1؛ اختبر GET /v1/models مع curl |
| تغييرات بيئة Docker يتم تجاهلها | الإعدادات مخزنة بالفعل | قم بتحرير الاتصال في إعدادات المسؤول |
| خطأ 401 من n8n | قيمة العنوان تفتقر إلى كلمة Bearer | يجب أن تكون القيمة Bearer، مسافة، ثم المفتاح |
| لا يمكن لـ Open WebUI في Docker الوصول إلى وكيل محلي | localhost يشير إلى الحاوية | استخدم عنوان المضيف، وليس localhost |
| خطأ 429 في منتصف حلقة | عناصر متوازية كثيرة جدًا | جمّع عقدة HTTP وفعّل إعادة المحاولة |
| النموذج غير موجود | تم كتابة الاسم بشكل خاطئ | المعرّف الوحيد هو uncensored |
تذكّر حدود المنتج عند تصميم سير العمل: دردشة نصية فقط، نافذة سياق 100,000 رمز مشتركة بين الموجّه والرد، وحجم طلب 8 MB. لا توجد نقطة نهاية للتمثيل المتجهي، لذا احتفظ بأي بحث متجه على خدمة أخرى. يحتوي دليل البدء السريع على مرجع الطلب الكامل، ويغطي دليل التكامل واجهات أمامية أكثر. لا تُستخدم الموجّهات المرسلة عبر API للتدريب.
تنطبق القاعدة الصارمة في كل أداة: لا محتوى جنسي يتضمن القاصرين. ضمن الاستخدام القانوني للبالغين، تم ضبط النموذج للإجابة بدون رفض المحتوى، وهو ما يناسب الخيال الأدبي، لعب الأدوار وتطبيقات الرفقة للبالغين.
