انتقل إلى المحتوى

الحلول · المحادثة مع المستندات

خادم VPS لـ AnythingLLM

AnythingLLM مساحة عمل خاصة للمحادثة مع مستنداتك: ترفع الملفات فتُضمَّن في قاعدة بيانات متجهات مدمجة، وتحادثها عبر نموذج مستضاف بمفتاح API أو نموذج محلي عبر Ollama. يطلب توثيقه 2 GB من RAM ومعالجًا بنواتين يدعم AVX2 و5 GB من القرص، ويصف AVX2 بأنه المتطلب الصارم الوحيد. GL2-4 بسعر $11.90 شهريًا هو أرخص جهاز يلبّي هذا الحد الأدنى؛ وBD-8 بسعر $12.90 هو ما كنا سنشتريه، لأن المُضمِّن يعمل على معالج هذا الجهاز.

ما يحتاج إليه

برامج من الوثائق، وأحجام موسومة بمصدرها

البرنامج والوضع الأمني مأخوذان من وثائق المشروع نفسه. وحيث لا ينشر المشروع أي رقم للعتاد، تبيّن الأحجام صاحب كل رقم.

من docs.anythingllm.com ودليل Docker الخاص بالمشروع

  • «RAM 2GB، معالج بنواتين يدعم AVX2، تخزين 5GB»: هذا هو الحد الأدنى في الوثائق. وعلى جهاز سحابي، يذكر دليل Docker أنك تحتاج إلى 2 GB من RAM على الأقل و10 GB من القرص كحد أدنى.
  • AVX2 هو «المتطلب الصارم الوحيد»: قاعدة بيانات المتجهات الافتراضية مبنية للمعالجات الصادرة منذ 2013، ومن دونه يتوقف الخادم عند التشغيل. افحص من داخل الجهاز: lscpu | grep -o avx2. إن لم يطبع شيئًا، فاضبط VECTOR_DB على قاعدة بيانات متجهات أخرى.
  • التثبيت: docker run -d -p 3001:3001 --cap-add SYS_ADMIN … mintplexlabs/anythingllm مع ربط مجلد تخزين على /app/server/storage. التطبيق على المنفذ 3001.
  • المحادثة تحتاج إلى نموذج: مفتاح API لمزوّد مستضاف، أو Ollama على الجهاز نفسه أو على جهاز آخر. يعمل التضمين افتراضيًا على معالج هذا الجهاز. وضع تعدد المستخدمين مع الصلاحيات ميزة في إصدار Docker. بلا GPU.

الأحجام (الحد الأدنى للمشروع، ثم حجمنا)

الأحجام حسب عبء العمل
حمل العملvCPURAM
مستندات ومحادثات ونموذج مستضاف (الحد الأدنى الرسمي)نواتان تدعمان AVX2. مساحة قرص 5 GB، و10 GB على جهاز سحابي؛ إذ تشغل الصور وحدها بضعة غيغابايتات.22 GB
مكتبة مستندات حقيقية، ومُضمِّن المعالج المدمج، وبضعة مستخدمينحجمنا. يعمل التضمين على هذا المعالج؛ ورفع كبير على نواتين يستغرق وقتًا طويلًا.48 GB
Ollama بجانبه لحزمة محلية بالكاملحجمنا. هذا سؤال عن استضافة النماذج، لا عن AnythingLLM: حدّد الحجم في صفحة Ollama.832 GB

الخطط المناسبة

5 أجهزة بأسعار حية

أرخص جهاز مناسب أولًا. الأسعار هي أسعار اليوم، شهريًا، مأخوذة من الكتالوج. شغّل فحص AVX2 على أي جهاز تشتريه، في الدقيقة الأولى.

  • GL2-4$11.90/شهر

    2 vCPU · 4 GB · قرص 40 GB · Unmetered

    الأرخص الذي يلبّي الحد الأدنى، Unmetered. 2 vCPU / 4 GB / 40 GB، أي ضعف الذاكرة التي يطلبها التوثيق، وحركة بيانات غير محتسبة لعمليات الرفع. شغّل فحص AVX2 قبل أي شيء آخر.

  • BD-8$12.90/شهر

    4 vCPU · 8 GB · قرص 100 GB · 32 TB

    ما كنا سنشتريه: 4 أنوية للمُضمِّن. 4 vCPU و8 GB و100 GB و32 TB من نقل البيانات مقابل دولار إضافي. تضمين مكتبة على أربع أنوية بدلًا من اثنتين هو الفرق الذي ستشعر به.

  • BD-24$31.90/شهر

    8 vCPU · 24 GB · قرص 300 GB · 32 TB

    8 vCPU / 24 GB لعدد كبير من المستخدمين مع Ollama بجانبه. مساحة لنموذج 8B في Ollama على الجهاز نفسه، ببطء، ولمستندات فريق.

  • C2-4-80$37.90/شهر

    2 vCPU · 4 GB · قرص 80 GB · 3 TB

    مواصفات الحد الأدنى، في عشرات المدن. 2 vCPU / 4 GB / 80 GB. اختره من أجل المدينة. نموذج مستضاف ومكتبة متواضعة.

  • C4-8-160$75.90/شهر

    4 vCPU · 8 GB · قرص 160 GB · 3 TB

    4 vCPU / 8 GB / 160 GB، في عشرات المدن. الحجم المريح مع قرص يتسع لمكتبة كبيرة ومتجهاتها.

لا يوجد إعداد بدء جاهز لـ AnythingLLM حتى الآن: التثبيت هو الخطوات الخمس أدناه، وتكتبها أنت بنفسك. تختلف الخطوة 3 عن أمر المشروع في خيار واحد يربط المنفذ بواجهة loopback، وهي تذكر ذلك صراحة.

التثبيت

خمس خطوات، من دليل Docker الخاص بالمشروع

افحص المعالج، وثبّت Docker، وشغّل الحاوية على واجهة loopback، واضبطه عبر SSH، ثم اربطه بنطاق.

  1. افحص AVX2 أولًا. lscpu | grep -o avx2 يجب أن يطبع avx2. التوثيق واضح في أن هذه هي القاعدة الوحيدة المتعلقة بالعتاد وأنه لا يمكن محاكاتها؛ الجهاز الذي لا يدعمها يحتاج إلى ضبط VECTOR_DB على قاعدة بيانات متجهات خارجية قبل التشغيل الأول.
  2. Docker. curl -fsSL https://get.docker.com | sh
  3. شغّله على واجهة loopback. export STORAGE_LOCATION=/opt/anythingllm && mkdir -p $STORAGE_LOCATION && touch $STORAGE_LOCATION/.env docker run -d --name anythingllm --restart unless-stopped -p 127.0.0.1:3001:3001 --cap-add SYS_ADMIN --add-host=host.docker.internal:host-gateway -v $STORAGE_LOCATION:/app/server/storage -v $STORAGE_LOCATION/.env:/app/server/.env -e STORAGE_DIR="/app/server/storage" mintplexlabs/anythingllm هذا هو أمر المشروع مع تغيير واحد: -p 127.0.0.1:3001:3001 بدلًا من -p 3001:3001، كي لا تكون المحادثة مكشوفة على الإنترنت قبل أن تضبط كلمة مرور. يحتوي مجلد التخزين على قاعدة البيانات والمتجهات ومستنداتك؛ احتفظ بنسخة احتياطية منه.
  4. اضبطه عبر SSH. ssh -N -L 3001:127.0.0.1:3001 root@your-server ثم http://127.0.0.1:3001. اختر نموذج اللغة: مزوّد مستضاف ومفتاح API الخاص به، أو Ollama على http://host.docker.internal:11434 إن كان يعمل على هذا الجهاز. فعّل وضع تعدد المستخدمين أو اضبط كلمة مرور النسخة من الإعدادات قبل أن يتمكن أي شخص آخر من الوصول إليه.
  5. اربطه بنطاق. وجّه سجل A إلى الخادم، وثبّت Caddy، وكتلة واحدة في Caddyfile reverse_proxy 127.0.0.1:3001 تحت نطاقك تحصل على الشهادة وتضع HTTPS أمام المنفذ 3001. افتح المنفذين 80 و443 في جدار الحماية، ولا شيء غيرهما.

بصراحة

ما كنا سنشتريه فعلاً

الحد الأدنى نواتان و2 GB، وأرخص صف يلبّيه. ومع ذلك كنا سندفع الدولار الإضافي.

لمكتبة مستندات ستستخدمها فعلًا

BD-8 · $12.90/شهر

4 vCPU و8 GB و100 GB بسعر $12.90، مقابل GL2-4 بسعر $11.90: دولار واحد شهرياً يمنحك نواتين إضافيتين لنموذج التضمين الذي يعمل على هذا الجهاز في كل مرة ترفع فيها ملفاً، و100 GB للمستندات ومتجهاتها. النموذج موجود في مكان آخر، خلف مفتاح API، لذا لا حاجة إلى GPU؛ وإذا أردت تشغيل Ollama بجانبه، فاقرأ صفحة Ollama واشترِ بحسب النموذج لا بحسب AnythingLLM. وعلى أي منها، أجرِ فحص AVX2 قبل أن ترفع أي ملف.

أسئلة

ما يسأل عنه الناس قبل الشراء.

ما متطلبات النظام لـ AnythingLLM؟
يذكر توثيقه حدًا أدنى قدره 2 GB من RAM ومعالج بنواتين يدعم AVX2 و5 GB من التخزين، ويقول إن ذلك يكفي لتخزين بعض المستندات والمحادثة واستخدام ميزاته. ويضيف دليل Docker الخاص بالمشروع أنه على جهاز سحابي ينبغي أن تستهدف 2 GB من RAM و10 GB من القرص على الأقل، لأن القرص يكبر مع المستندات والمتجهات وأي نماذج محلية. ويقول التوثيق أيضًا إن التطبيق غلاف حول خدمات خارجية، لذا يكون خفيفًا عندما يكون النموذج والمُضمِّن في مكان آخر، وأثقل عندما يعملان على الجهاز نفسه.
ما متطلب AVX2، وهل سيتوفر في خادم VPS الخاص بي؟
قاعدة بيانات المتجهات الافتراضية، LanceDB، مُترجمة للمعالجات التي تدعم مجموعة تعليمات AVX2 (Intel Haswell، 2013، وما بعدها). من دونها تُنهى عملية الخادم لحظة تحميل قاعدة البيانات، ويصفها التوثيق بأنها المتطلب الصارم الوحيد للعتاد. المشكلة في الأجهزة الافتراضية: قد يقدّم المشرف الافتراضي طراز معالج عامًا يخفي AVX2 حتى على مضيف حديث، لذا يقول التوثيق أن تفحص من داخل الجهاز الضيف بالأمر lscpu | grep -o avx2، لا على المضيف. نحن لا نعد بميزة معالج لا نستطيع رؤيتها من الكتالوج، لذا شغّل هذا السطر في الدقيقة الأولى. إن لم يطبع شيئًا، فاضبط VECTOR_DB على إحدى قواعد بيانات المتجهات المدعومة الأخرى، التي تعمل كخدمات منفصلة.
هل يحتاج إلى GPU؟
لا. يشغّل AnythingLLM نفسه تطبيق الويب ومسار معالجة المستندات، وافتراضيًا مُضمِّنًا يعمل على المعالج فقط. تأتي إجابات المحادثة من نموذج اللغة الذي تربطه: مزوّد مستضاف عبر مفتاح API، بما يسميه التوثيق عبئًا شبه معدوم، أو نموذج محلي عبر Ollama. ونصيحة التوثيق نفسه هي استضافة النموذج المحلي على جهاز آخر يحتوي على GPU إن لم يكن جهاز AnythingLLM يحتوي عليه. هذا موضوع صفحة Ollama وفئة GPU، لا هذه الصفحة.
هل يكون مكشوفًا على الإنترنت بعد التثبيت؟
يقوم أمر المشروع بنشر المنفذ 3001 على جميع الواجهات، ولا تملك النسخة الجديدة كلمة مرور حتى تعيّنها. أما التثبيت في هذه الصفحة فيربط المنفذ 3001 بالعنوان 127.0.0.1 بدلاً من ذلك، لذا فإن الطريقة الوحيدة للدخول حتى تضيف نطاقاً هي نفق SSH. بعد ذلك، عيّن من الإعدادات كلمة مرور النسخة أو فعّل وضع تعدد المستخدمين، الذي يذكره ملف README كميزة في إصدار Docker، قبل أن تضع HTTPS أمامها.
أين توجد بياناتي؟
في مجلد التخزين الذي تربطه على /app/server/storage: قاعدة بيانات SQLite، ومتجهات LanceDB، والمستندات المرفوعة، وأي نماذج منزّلة محليًا. يطلب منك دليل Docker ربطه على المضيف تحديدًا كي تتمكن من سحب صورة جديدة دون فقدان أي شيء. احتفظ بنسخة احتياطية من هذا المجلد ومن ملف .env بجانبه؛ معًا يشكّلان النسخة بأكملها.
هل يمكنه استخدام Ollama على الجهاز نفسه؟
نعم. من داخل الحاوية يكون عنوان المضيف http://host.docker.internal:11434، وهذا يتطلب على Linux إضافة --add-host=host.docker.internal:host-gateway إلى أمر التشغيل؛ والخطوة أعلاه تتضمنه. وفي هذه الحالة اختر حجم الجهاز بحسب النموذج: يحتاج نموذج 8B إلى 8 GB خاصة به فوق ما يحتاجه AnythingLLM، ويجيب بسرعة بضعة رموز في الثانية على المعالج. الصف ذو 24 GB هو الأصغر في هذه الصفحة الذي يكون فيه ذلك مريحاً.