محرك بحث صور AI عبر الإنترنت يعتمد على نموذج Clip وقاعدة بيانات ناقلات Qdrant. يدعم البحث عن الكلمات الرئيسية والبحث عن الصور المشابهة.
中文文档
قد تحتوي لقطات الشاشة المذكورة أعلاه على صور محمية بحقوق الطبع والنشر لفنانين مختلفين، يرجى عدم استخدامها لأغراض أخرى.
في معظم الحالات، نوصي باستخدام قاعدة بيانات Qdrant لتخزين البيانات التعريفية. توفر قاعدة بيانات Qdrant أداءً فعالاً في الاسترجاع وقابلية توسع مرنة وأمانًا أفضل للبيانات.
برجاء نشر قاعدة بيانات Qdrant وفقًا لوثائق Qdrant. يوصى باستخدام Docker للنشر.
إذا كنت لا ترغب في نشر Qdrant بنفسك، فيمكنك استخدام الخدمة عبر الإنترنت التي تقدمها Qdrant.
يقوم تخزين الملفات المحلية مباشرة بتخزين بيانات تعريف الصورة (بما في ذلك ناقلات الميزات، وما إلى ذلك) في قاعدة بيانات SQLite محلية. يوصى به فقط لعمليات النشر على نطاق صغير أو عمليات النشر التطويرية.
لا يتطلب تخزين الملفات المحلية عملية نشر إضافية لقاعدة البيانات، ولكن له العيوب التالية:
O(n)
. ولذلك، إذا كان حجم البيانات كبيرًا، سينخفض أداء البحث والفهرسة.v1.0.0
).python -m venv .venv
. .venv/bin/activate
إذا كنت تريد استخدام تسريع CUDA للاستدلال، فتأكد من تثبيت إصدار PyTorch المدعوم من CUDA في هذه الخطوة. بعد التثبيت، يمكنك استخدام
torch.cuda.is_available()
لتأكيد ما إذا كان CUDA متاحًا أم لا.
pip install -r requirements.txt
config/
، ويمكنك تحرير default.env
مباشرةً، ولكن يوصى بإنشاء ملف جديد باسم local.env
وتجاوز التكوين في default.env
.python main.py
--host
لتحديد عنوان IP الذي تريد الارتباط به (الافتراضي هو 0.0.0.0) و-- --port
لتحديد المنفذ الذي تريد الارتباط به (الافتراضي هو 8000).python main.py --help
.تم إنشاء صورة عامل الإرساء الخاصة بـ NekoImageGallery وإصدارها على Docker Hub، بما في ذلك متغيرات الخدمة:
العلامات | وصف | أحدث حجم الصورة |
---|---|---|
edgeneko/neko-image-gallery:<version> edgeneko/neko-image-gallery:<version>-cuda edgeneko/neko-image-gallery:<version>-cuda12.1 | يدعم الاستدلال GPU مع CUDA12.1 | |
edgeneko/neko-image-gallery:<version>-cuda11.8 | يدعم الاستدلال GPU مع CUDA11.8 | |
edgeneko/neko-image-gallery:<version>-cpu | يدعم فقط استنتاج وحدة المعالجة المركزية |
حيث <version>
هو رقم الإصدار أو الاسم المستعار لإصدار NekoImageGallery، كما يلي:
إصدار | وصف |
---|---|
latest | أحدث نسخة مستقرة من NekoImageGallery |
v*.*.* / v*.* | رقم الإصدار المحدد (يتوافق مع علامات Git) |
edge | قد يحتوي الإصدار الأحدث من NekoImageGallery على ميزات غير مستقرة وتغييرات معطلة |
في كل صورة، قمنا بتجميع التبعيات الضرورية، وأوزان نماذج openai/clip-vit-large-patch14
، وأوزان نماذج bert-base-chinese
ونماذج easy-paddle-ocr
لتوفير صورة كاملة وجاهزة للاستخدام.
تستخدم الصور /opt/NekoImageGallery/static
كوحدة تخزين لتخزين ملفات الصور، وتثبيتها على المجلد أو الدليل الخاص بك إذا كان التخزين المحلي مطلوبًا.
بالنسبة للتكوين، نقترح استخدام متغيرات البيئة لتجاوز التكوين الافتراضي. يمكن توفير الأسرار (مثل الرموز المميزة لواجهة برمجة التطبيقات) من خلال أسرار عامل الإرساء.
nvidia-container-runtime
(لمستخدمي CUDA فقط) إذا كنت تريد استخدام تسريع CUDA، فأنت بحاجة إلى تثبيت nvidia-container-runtime
على نظامك. يرجى الرجوع إلى الوثائق الرسمية للتثبيت.
الوثيقة ذات الصلة:
- https://docs.docker.com/config/containers/resource_constraints/#gpu
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
- https://nvidia.github.io/nvidia-container-runtime/
docker-compose.yml
من المستودع. # For cuda deployment (default)
wget https://raw.githubusercontent.com/hv0905/NekoImageGallery/master/docker-compose.yml
# For CPU-only deployment
wget https://raw.githubusercontent.com/hv0905/NekoImageGallery/master/docker-compose-cpu.yml && mv docker-compose-cpu.yml docker-compose.yml
# start in foreground
docker compose up
# start in background(detached mode)
docker compose up -d
هناك طرق عديدة لتحميل الصور إلى NekoImageGallery
python main.py local-index < path-to-your-image-directory >
python main.py local-index --help
لمزيد من المعلومات. يتم توفير وثائق واجهة برمجة التطبيقات (API) من خلال واجهة Swagger UI المضمنة في FastAPI. يمكنك الوصول إلى وثائق واجهة برمجة التطبيقات (API) بزيارة المسار /docs
أو /redoc
الخاص بالخادم.
يعمل هذا المشروع مع NekoImageGallery :D
هناك العديد من الطرق للمساهمة في المشروع: تسجيل الأخطاء، وإرسال طلبات السحب، والإبلاغ عن المشكلات، وإنشاء الاقتراحات.
حتى إذا كان لديك وصول دفع إلى المستودع، فيجب عليك إنشاء فروع ميزات شخصية عندما تحتاج إليها. يؤدي هذا إلى إبقاء المستودع الرئيسي نظيفًا وسير العمل الخاص بك بعيدًا عن الأنظار.
نحن مهتمون أيضًا بتعليقاتك حول مستقبل هذا المشروع. يمكنك تقديم اقتراح أو طلب ميزة من خلال أداة تعقب المشكلات. ولجعل هذه العملية أكثر فعالية، نطلب أن تتضمن هذه المعلومات مزيدًا من المعلومات للمساعدة في تعريفها بشكل أكثر وضوحًا.
حقوق الطبع والنشر 2023 إيدج نيكو
مرخص بموجب ترخيص AGPLv3.