Open WebUI و llama.cpp: كيفية إعداد بحث ويب محلي باستخدام Qwen و Docker على Windows
إذا كان البحث على الويب في Open WebUI يعيد نتائج رديئة، فالمشكلة على الأرجح ليست في الواجهة نفسها، بل في إعداد سلسلة RAG. شرح المؤلف تركيبة عملية تضم…
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
يمكن لـ Open WebUI أن يعمل مع النماذج المحلية عبر llama.cpp وحتى تنفيذ بحث ويب، لكن بدون إعداد يدوي تكون النتائج ضعيفة غالباً. أظهر مؤلف دليل عملي كيفية تجميع إعداد عملي على Windows باستخدام Qwen و Docker ونماذج منفصلة للتضمين وإعادة الترتيب، بحيث تبدأ البحث بإرجاع إجابات ذات مغزى.
كيفية عمل الإعداد
الفكرة الأساسية بسيطة: llama.cpp يقوم بتشغيل خادم محلي مع نماذج GGUF متعددة، و Open WebUI يعمل كواجهة فوقه. للتوليد الرئيسي، يستخدم المؤلف نسختين من نموذج كبير واحد Qwen3.5-27B-UD-Q4_K_XL — مع وبدون reasoning. يتم تشغيل Qwen3.5-2B الصغير الفعال بشكل منفصل للمهام المساعدة، و Qwen3-Embedding-4B لتحويل البيانات إلى متجهات و Qwen3-Reranker-4B لإعادة ترتيب نتائج البحث. هذا الترتيب ضروري لأن بحث الويب في Open WebUI مرتبط بشكل أساسي بمسار RAG. إذا تركت الإعدادات الافتراضية، فقد يتمكن النظام من العثور على الصفحات بشكل رسمي، لكنه يستخرج المعنى بشكل سيء، ويفقد أجزاء النص ذات الصلة، ويرجع إجابات ضعيفة. وفقاً للمؤلف، هذا بالضبط ما كان يجعل البحث عديم الفائدة تقريباً في الإعداد الافتراضي.
يستهدف الدليل أجهزة محددة إلى حد ما: Windows 10 22H2 و RTX 3090 بـ 24 جيجابايت VRAM و 32 جيجابايت من ذاكرة الوصول العشوائي. حتى على هذه الآلة، لا يتم تحميل النموذج الكبير فوراً: قد تستغرق الإجابة الأولى ما يصل إلى دقيقة واحدة، وأي تحميل متوازٍ إضافي يستهلك ذاكرة الفيديو بسرعة.
الإعدادات الرئيسية
الفكرة الأكثر أهمية في المقالة هي أنك بحاجة إلى تكوين ليس فقط نموذج المحادثة، بل البنية التحتية بأكملها حوله. يقوم المؤلف بتشغيل النماذج في llama-server، و Open WebUI يتصل به عبر عنوان URL محلي عبر Docker.
- النموذج الرئيسي للإجابات — Qwen3.5-27B-UD-Q4_K_XL، بشكل منفصل في أوضاع instruct و thinking.
- النموذج المساعد — Qwen3.5-2B-BF16: ينشئ عناوين المحادثات ويؤدي المهام الخلفية الصغيرة أسرع من النموذج الكبير.
- لبحث الويب، يتم استخدام Qwen3-Embedding-4B-f16 و Qwen3-Reranker-4B-f16 بشكل منفصل.
- يتم توصيل Apache Tika كمحرك استخراج محتوى، و Open WebUI يعمل عبر Docker Compose.
- يتم اختيار Brave Search كموفر بحث؛ يذكر المؤلف أيضاً Exa و Tavily و Serper و Linkup و Valyu.
التفصيل المنفصل هو معاملات llama.cpp. في الإعداد، يقوم المؤلف بتعطيل mmap، ويحد من عدد النماذج المحملة في نفس الوقت عبر `--models-max 1`، ويقوم بتكوين تفريغ VRAM بحسب المهلة الزمنية، وينقسم السياق بين الطلبات المتوازية. هذا ليس مجرد تجميل: إذا قمت بتحميل نموذج ثقيل ثانٍ في نفس الوقت مع النموذج الرئيسي، فإن الأداء تنخفض بشكل حاد.
في واجهة Open WebUI، هناك أيضاً أماكن حرجة. في لوحة المسؤول، تحتاج إلى تحديد عنوان URL لخادم النموذج المحلي بشكل صريح، ثم تحديد نموذج صغير للمهام المحلية والخارجية للواجهة، وفي قسم Documents توصيل Tika والنموذج المدمج ونقطة rerank خارجية. فقط بعد ذلك يبدأ بحث الويب في العمل كسلسلة كاملة، وليس كغلاف رسمي على استعلام المتصفح.
القيود والفروقات
حتى بعد الإعداد، لا يحول مثل هذا المخطط المكدس المحلي إلى بديل للخدمات السحابية المدفوعة. يصرح المؤلف بشكل صريح بأن النتيجة لا تزال لا ترقى إلى مستوى الحلول الملكية، لكنها قد تكون كافية إذا كانت الخصوصية أو التشغيل دون اتصال أو القدرة على تشغيل نماذج غير مقيدة بدون واجهات برمجية خارجية مهمة.
هناك أيضاً مقايضات عملية. إذا حددت نموذج reasoning للمهام المساعدة في الواجهة، فإن Open WebUI يبدأ في قضاء وقت طويل جداً حتى على توليد عنوان المحادثة. مع بحث الويب، يتم تحميل نماذج التضمين وإعادة الترتيب بشكل إضافي، لذلك تزيد أحمال VRAM والزمن الكامن بشكل أكبر. للتحقق مما يتم تحميله حالياً، يوصي المؤلف بفحص سجلات llama-server.
تحتوي المقالة أيضاً على عدة امتدادات لمن يريد الذهاب أبعد. بدلاً من Tika، يمكنك محاولة Docling للمستندات الأكثر تعقيداً. يناسب SearXNG محرك البحث المحلي، على الرغم من أن خوادمه الخلفية قد تكون محظورة مؤقتاً. عمل محمل الويب المستند إلى Playwright للمؤلف، لكنه كان بطيئاً جداً — تم قياس الكمون بالدقائق وليس بالثواني. لاحقاً، قلل أيضاً من سياق النموذج الرئيسي إلى 32768 رموز: ساعد هذا على القضاء على التعليقات المعلقة عندما كانت علامة التبويب المحادثة مفتوحة، لأن النموذج توقف عن احتلال المزيد من VRAM الحرة مما كان النظام يمكن أن يحتملها بشكل مستقر.
ما يعنيه هذا
توضح المادة بشكل جيد أنه يمكن بالفعل تجميع مكدس AI محلي من المكونات المفتوحة، لكن الجودة لا تعتمد كثيراً على نموذج واحد "الأفضل"، بل على الدمج الصحيح للتوليد والتضمين وإعادة الترتيب واستخراج المحتوى. بالنسبة للمطورين، هذه وصفة عملية: إذا كان Open WebUI مع بحث الويب يعمل بشكل سيء بالنسبة لك، يجب أن تبدأ ليس بتبديل النموذج، بل بإعادة بناء إعداد RAG بأكمله.
هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟
AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.