Open WebUI وllama.cpp: كيفية إعداد بحث ويب محلي مع Qwen وDocker على Windows
إذا كان البحث على الويب في Open WebUI يعطيك نتائج رديئة، فالمشكلة على الأرجح ليست في الواجهة نفسها، بل في إعداد سلسلة RAG. وقد شرح الكاتب حزمة عاملة تقوم على llama.cpp ونماذج Qwen لتوليد الإجابات والتضمين (embedding) وإعادة الترتيب (reranking)، إضافة إلى Tika وDocker وBrave Search. على جهاز Windows 10 مزوّد ببطاقة RTX 3090، يعطي هذا التكوين نتائج أوضح بشكل ملحوظ، رغم أن تحميل النماذج لا يزال يستغرق ما يصل إلى دقيقة.
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
يستطيع Open WebUI العمل مع النماذج المحلية عبر llama.cpp، بل وإجراء بحث على الويب، لكن النتائج غالبًا ما تكون ضعيفة دون إعداد يدوي. وقد عرض كاتب دليل عملي كيفية تركيب حزمة عاملة على Windows تضم Qwen وDocker ونماذج منفصلة للتضمين (embedding) وإعادة الترتيب (reranking)، بحيث يبدأ البحث بتقديم إجابات ذات معنى.
كيف تعمل هذه الحزمة
الفكرة الأساسية بسيطة: يشغّل 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 بذاكرة VRAM سعتها 24 غيغابايت، و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 بحسب مهلة زمنية، ويقسّم السياق (context) بين الطلبات المتوازية. وهذه ليست تفاصيل تجميلية: فإذا حُمّل نموذج ثقيل ثانٍ بالتزامن مع النموذج الرئيسي، يتراجع الأداء بشكل حاد.
وفي واجهة Open WebUI نفسها توجد مواضع حرجة كذلك. ففي لوحة الإدارة يجب كتابة عنوان URL لخادم النماذج المحلي صراحة، ثم اختيار نموذج صغير للمهام المحلية والخارجية الخاصة بالواجهة، وفي قسم Documents ربط Tika ونموذج embedding ونقطة rerank خارجية. وبعد ذلك فقط يبدأ البحث على الويب بالعمل كسلسلة متكاملة، لا كطبقة شكلية فوق استعلام المتصفح.
القيود والملاحظات
حتى بعد الإعداد، لا يحوّل هذا التكوين الحزمة المحلية إلى بديل للخدمات السحابية المدفوعة. ويكتب الكاتب صراحةً أن النتيجة لا تصل إلى مستوى الحلول المغلقة (proprietary)، لكنها قد تكون كافية إذا كانت الخصوصية أو العمل دون اتصال بالإنترنت أو إمكانية تشغيل نماذج unrestricted بدون واجهات API خارجية أمورًا مهمة.
وهناك مقايضات عملية أيضًا. فإذا حُدِّد نموذج استدلالي للمهام الخدمية في الواجهة، يبدأ Open WebUI في إهدار وقت طويل حتى على توليد عنوان المحادثة. وعند البحث على الويب يجري تحميل نموذجي embedding وreranking إضافيًا، فيزداد الضغط على VRAM وتتضاعف أزمنة التأخير أكثر. وينصح الكاتب بمراجعة سجلات llama-server لمعرفة ما هو محمَّل فعليًا في كل لحظة.
ويتضمن المقال كذلك عدة إضافات لمن يريد التوسع أكثر. فبدلًا من Tika يمكن تجربة Docling للمستندات الأكثر تعقيدًا. ويصلح SearXNG كمحرك بحث محلي، مع أن واجهاته الخلفية قد تتعرض للحظر مؤقتًا. أما محمّل الويب المبني على Playwright فقد جرى تشغيله لدى الكاتب لكنه كان بطيئًا للغاية، إذ بلغ التأخير دقائق لا ثواني. وفي وقت لاحق خفّض الكاتب أيضًا سياق النموذج الرئيسي إلى 32768 توكنًا: وقد ساعد ذلك على التخلص من التجمّد عند فتح تبويب المحادثة، لأن النموذج توقف عن شغل VRAM أكثر مما يستطيع النظام تحمّله بثبات.
ماذا يعني ذلك
يُظهر هذا الدليل بوضوح أن حزمة ذكاء اصطناعي محلية يمكن اليوم تركيبها من مكونات مفتوحة، لكن الجودة لا تتوقف على «أفضل نموذج» واحد بقدر ما تتوقف على حسن الربط بين التوليد والتضمين وإعادة الترتيب واستخراج المحتوى. وبالنسبة للمطورين فهذه وصفة عملية: إذا كان Open WebUI مع البحث على الويب يعمل لديك بشكل سيئ، فلا ينبغي أن تبدأ باستبدال النموذج، بل بإعادة بناء إعدادات RAG بالكامل.
- 29 أكتوبر 2026Mistral تنشر أوزان Large 4: نموذج مفتوح بتريليون معامل للبرمجة
- 29 أكتوبر 2026مطوّر يبني نظام RAG بالاعتماد على نماذج محلية ويرفع دقة البحث من 20% إلى 53%
- 29 أكتوبر 2026Qwen 3.5 4B تحمل داخل أوزانها معالج RISC-V بذاكرة قائمة على DeltaNet
- 29 أكتوبر 2026براهين Lean لأكواد الذكاء الاصطناعي تنهار بعد إعادة الهيكلة في 13-27% من الحالات
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول كيف تعمل هذه الحزمة؟
الفكرة الأساسية بسيطة: يشغّل 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. وإذا تُركت الإعدادات الافتراضية، فقد يعثر النظام على الصفحات من الناحية ال
ما أبرز التفاصيل حول أهم الإعدادات؟
الفكرة الأهم في المقال أن الضبط لا يقتصر على نموذج المحادثة، بل يشمل البنية التحتية المحيطة به كلها. فالكاتب ينقل النماذج إلى 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 نفسه عبر Do
ما أبرز التفاصيل حول القيود والملاحظات؟
حتى بعد الإعداد، لا يحوّل هذا التكوين الحزمة المحلية إلى بديل للخدمات السحابية المدفوعة. ويكتب الكاتب صراحةً أن النتيجة لا تصل إلى مستوى الحلول المغلقة (proprietary)، لكنها قد تكون كافية إذا كانت الخصوصية أو العمل دون اتصال بالإنترنت أو إمكانية تشغيل نماذج unrestricted بدون واجهات API خارجية أمورًا مهمة. وهناك مقايضات عملية أيضًا. فإذا حُدِّد نموذج استدلالي للمهام الخدمية في الواجهة، يبدأ Open WebUI في إهدار وقت طويل حتى على توليد عنوان المحادثة. وعند البحث على الويب يجري تحميل نموذجي embedding وreranking إضافيًا، فيزداد الضغط على VRAM وتتضاعف أزمنة التأخير أكثر. وينصح الكا
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.