الإنجليزية | 简体中文 | 日本語 | شكرا
؟ ما هو راج فلو؟
؟ تجريبي
؟ آخر التحديثات
؟ الميزات الرئيسية
؟ هندسة النظام
؟ ابدأ
؟ التكوينات
؟ قم ببناء صورة عامل ميناء دون تضمين النماذج
؟ قم ببناء صورة عامل ميناء بما في ذلك تضمين النماذج
؟ إطلاق الخدمة من المصدر للتطوير
؟ التوثيق
؟ خريطة الطريق
؟ مجتمع
؟ المساهمة
RAGFlow هو محرك RAG (جيل الاسترجاع المعزز) مفتوح المصدر يعتمد على الفهم العميق للمستندات. إنه يوفر سير عمل RAG مبسطًا للشركات من أي نطاق، ويجمع بين LLM (نماذج اللغات الكبيرة) لتوفير إمكانات صادقة للإجابة على الأسئلة، مدعومة باستشهادات راسخة من مختلف البيانات المنسقة المعقدة.
جرب العرض التوضيحي الخاص بنا على https://demo.ragflow.io.
04-11-2024 ترقية نماذج DLA (تحليل تخطيط المستند) في Deepdoc.
01-11-2024 يضيف استخراج الكلمات الرئيسية وإنشاء الأسئلة ذات الصلة إلى المجموعة التي تم تحليلها لتحسين دقة الاسترجاع.
13-09-2024 إضافة وضع البحث لقاعدة المعرفة الأسئلة والأجوبة.
09-09-2024 إضافة قالب وكيل استشاري طبي.
22-08-2024 دعم النص لعبارات SQL من خلال RAG.
02-08-2024 يدعم GraphRAG المستوحى من graphrag والخريطة الذهنية.
⭐️ قم بتمييز مستودعنا بنجمة لتبقى على اطلاع بالميزات والتحسينات الجديدة والمثيرة! احصل على إشعارات فورية للإصدارات الجديدة! ؟
استخراج المعرفة العميقة القائمة على فهم المستندات من البيانات غير المنظمة ذات التنسيقات المعقدة.
يجد "إبرة في كومة قش بيانات" من الرموز غير المحدودة حرفيًا.
ذكي وقابل للتفسير.
الكثير من خيارات القالب للاختيار من بينها.
تصور تقطيع النص للسماح بالتدخل البشري.
عرض سريع للمراجع الرئيسية والاستشهادات التي يمكن تتبعها لدعم الإجابات المبنية على أسس سليمة.
يدعم Word والشرائح وExcel وtxt والصور والنسخ الممسوحة ضوئيًا والبيانات المنظمة وصفحات الويب والمزيد.
يلبي تنسيق RAG المبسط احتياجات الشركات الشخصية والكبيرة على حد سواء.
LLMs قابلة للتكوين بالإضافة إلى نماذج التضمين.
الاستدعاء المتعدد مقترنًا بإعادة التصنيف المدمجة.
واجهات برمجة التطبيقات البديهية للتكامل السلس مع الأعمال.
وحدة المعالجة المركزية >= 4 مراكز
ذاكرة الوصول العشوائي >= 16 جيجا بايت
القرص >= 50 جيجا بايت
Docker >= 24.0.0 وDocker Compose >= v2.26.1
إذا لم تقم بتثبيت Docker على جهازك المحلي (Windows أو Mac أو Linux)، فراجع تثبيت Docker Engine.
تأكد من أن vm.max_map_count
>= 262144:
للتحقق من قيمة
vm.max_map_count
:$ sysctl vm.max_map_countقم بإعادة تعيين
vm.max_map_count
إلى قيمة لا تقل عن 262144 إذا لم تكن كذلك.# في هذه الحالة، قمنا بضبطه على 262144:$ sudo sysctl -w vm.max_map_count=262144سيتم إعادة تعيين هذا التغيير بعد إعادة تشغيل النظام. لضمان بقاء التغيير دائمًا، أضف أو قم بتحديث قيمة
vm.max_map_count
في /etc/sysctl.conf وفقًا لذلك:vm.max_map_count=262144
استنساخ الريبو:
استنساخ $ git https://github.com/infiniflow/ragflow.git
أنشئ صور Docker المضمنة مسبقًا وابدأ تشغيل الخادم:
يقوم الأمر أدناه بتنزيل نسخة dev Docker image لـ RAGFlow Slim (
dev-slim
). لاحظ أن صور RAGFlow Slim Docker لا تتضمن نماذج التضمين أو مكتبات Python، وبالتالي يبلغ حجمها حوالي 1 جيجابايت.
$ cd ragflow/docker $ docker compose -f docker-compose.yml up -d
ملاحظة: يبلغ حجم صورة RAGFlow Docker التي تتضمن نماذج مضمنة ومكتبات Python حوالي 9 جيجابايت وقد يستغرق تحميلها وقتًا أطول بكثير.
لتنزيل صورة RAGFlow Slim Docker لإصدار معين، قم بتحديث متغير RAGFlow_IMAGE
في * docker/.env * إلى الإصدار المطلوب. على سبيل المثال، RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. بعد إجراء هذا التغيير، أعد تشغيل الأمر أعلاه لبدء التنزيل.
لتنزيل إصدار التطوير من صورة RAGFlow Docker بما في ذلك نماذج التضمين ومكتبات Python، قم بتحديث متغير RAGFlow_IMAGE
في docker/.env إلى RAGFLOW_IMAGE=infiniflow/ragflow:dev
. بعد إجراء هذا التغيير، أعد تشغيل الأمر أعلاه لبدء التنزيل.
لتنزيل إصدار محدد من صورة RAGFlow Docker بما في ذلك نماذج التضمين ومكتبات Python، قم بتحديث متغير RAGFlow_IMAGE
في docker/.env إلى الإصدار المطلوب. على سبيل المثال، RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
. بعد إجراء هذا التغيير، أعد تشغيل الأمر أعلاه لبدء التنزيل.
التحقق من حالة الخادم بعد تشغيل الخادم:
سجلات عامل الإرساء $ -f ragflow-server
يؤكد الإخراج التالي الإطلاق الناجح للنظام:
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * يعمل على كافة العناوين (0.0.0.0) * يعمل على http://127.0.0.1:9380 * يعمل على http://xxxx:9380 معلومات:العمل:اضغط على CTRL+C للإنهاء
إذا تخطيت خطوة التأكيد هذه وقمت بتسجيل الدخول مباشرة إلى RAGFlow، فقد يظهر متصفحك خطأ
network abnormal
، لأنه في تلك اللحظة، قد لا تتم تهيئة RAGFlow بالكامل.
في متصفح الويب الخاص بك، أدخل عنوان IP الخاص بالخادم الخاص بك وقم بتسجيل الدخول إلى RAGFlow.
باستخدام الإعدادات الافتراضية، ما عليك سوى إدخال
http://IP_OF_YOUR_MACHINE
(رقم منفذ sans ) حيث يمكن حذف منفذ خدمة HTTP الافتراضي80
عند استخدام التكوينات الافتراضية.
في Service_conf.yaml، حدد مصنع LLM المطلوب في user_default_llm
وقم بتحديث حقل API_KEY
باستخدام مفتاح API المطابق.
راجع llm_api_key_setup لمزيد من المعلومات.
العرض قيد التشغيل!
عندما يتعلق الأمر بتكوينات النظام، ستحتاج إلى إدارة الملفات التالية:
.env: يحافظ على الإعدادات الأساسية للنظام، مثل SVR_HTTP_PORT
و MYSQL_PASSWORD
و MINIO_PASSWORD
.
Service_conf.yaml: تكوين الخدمات الخلفية.
docker-compose.yml: يعتمد النظام على docker-compose.yml لبدء التشغيل.
يجب عليك التأكد من أن التغييرات التي يتم إجراؤها على ملف .env تتماشى مع ما هو موجود في ملف Service_conf.yaml.
يوفر ملف ./docker/README وصفًا تفصيليًا لإعدادات البيئة وتكوينات الخدمة، ويتعين عليك التأكد من أن جميع إعدادات البيئة المدرجة في ملف ./docker/README تتماشى مع التكوينات المقابلة في ملفservice_conf.yaml .
لتحديث منفذ خدمة HTTP الافتراضي (80)، انتقل إلى docker-compose.yml وقم بتغيير 80:80
إلى <YOUR_SERVING_PORT>:80
.
تتطلب تحديثات التكوينات المذكورة أعلاه إعادة تشغيل كافة الحاويات لتصبح سارية المفعول:
$ docker compose -f docker/docker-compose.yml up -d
يبلغ حجم هذه الصورة حوالي 1 غيغابايت وتعتمد على خدمات LLM الخارجية والتضمين.
استنساخ بوابة https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 تثبيت Huggingface-hub nltk python3 download_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
حجم الصورة حوالي 9 جيجا وبما أنه يتضمن نماذج مضمنة، فهو يعتمد على خدمات LLM الخارجية فقط.
استنساخ بوابة https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 تثبيت Huggingface-hub nltk python3 download_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev .
قم بتثبيت تطبيق Poetry، أو قم بتخطي هذه الخطوة إذا كان مثبتًا بالفعل:
حليقة -sSL https://install.python-poetry.org | بيثون3 -
استنساخ الكود المصدري وتثبيت تبعيات بايثون:
استنساخ git https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # تثبيت وحدات بايثون المعتمدة على RAGFlow
قم بتشغيل الخدمات التابعة (MinIO وElasticsearch وRedis وMySQL) باستخدام Docker Compose:
docker compose -f docker/docker-compose-base.yml up -d
أضف السطر التالي إلى /etc/hosts
لحل جميع المضيفين المحددين في docker/service_conf.yaml إلى 127.0.0.1
:
127.0.0.1 es01 mysql minio redis
في docker/service_conf.yaml ، قم بتحديث منفذ mysql إلى 5455
ومنفذ es إلى 1200
، كما هو محدد في docker/.env .
إذا لم تتمكن من الوصول إلى HuggingFace، فقم بتعيين متغير البيئة HF_ENDPOINT
لاستخدام موقع مرآة:
تصدير HF_ENDPOINT=https://hf-mirror.com
إطلاق الخدمة الخلفية:
المصدر .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
تثبيت تبعيات الواجهة الأمامية:
ويب القرص المضغوط تثبيت npm - القوة
قم بتكوين الواجهة الأمامية لتحديث proxy.target
في .umirc.ts إلى http://127.0.0.1:9380
:
إطلاق خدمة الواجهة الأمامية:
تشغيل npm ديف
يؤكد الإخراج التالي الإطلاق الناجح للنظام:
بداية سريعة
دليل المستخدم
مراجع
التعليمات
راجع خارطة طريق RAGFlow 2024
الفتنة
تغريد
مناقشات جيثب
يزدهر RAGFlow من خلال التعاون مفتوح المصدر. وبهذه الروح، فإننا نحتضن المساهمات المتنوعة من المجتمع. إذا كنت ترغب في أن تكون جزءًا، قم بمراجعة إرشادات المساهمة الخاصة بنا أولاً.