This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

مرجع محرك الذكاء الاصطناعي

تربط الحزمة @snapotter/ai بين Node.js وعملية Python جانبية دائمة لجميع عمليات التعلم الآلي. تبقى عملية الموزّع نشطة بين الطلبات لأداء بدء دافئ سريع. يُكتشف NVIDIA CUDA تلقائيًا عند بدء التشغيل ويُستخدم عند توفره؛ وإلا فإن أدوات الذكاء الاصطناعي تعمل على وحدة المعالجة المركزية.

تسريع وحدة معالجة الرسومات المدمجة من Intel/AMD عبر VA-API أو Quick Sync أو OpenCL غير مدعوم لاستدلال الذكاء الاصطناعي حاليًا. تعيين /dev/dri داخل حاوية لا يسرّع أدوات Python الجانبية هذه ما لم تتوفر وحدة معالجة رسومات NVIDIA قادرة على تشغيل CUDA.

19 أداة ذكاء اصطناعي تعمل عبر Python الجانبية موزّعة على أربع طرائق (صورة، وصوت، وفيديو، ومستند)، بالإضافة إلى أداتين ذواتَي قدرات ذكاء اصطناعي اختيارية. تعمل جميع النماذج محليًا، ولا حاجة للإنترنت بعد التنزيل الأولي للنموذج.

البنية المعمارية

Node.js Tool Route
      |
      v
 @snapotter/ai bridge.ts
      | (stdin/stdout JSON + stderr progress events)
      v
 Python dispatcher (persistent process, "ai" profile)
      |
      |-- remove_bg.py        (rembg / BiRefNet)
      |-- upscale.py          (RealESRGAN)
      |-- inpaint.py          (LaMa ONNX)
      |-- outpaint.py         (LaMa canvas expansion)
      |-- ocr.py              (PaddleOCR / Tesseract)
      |-- ocr_pdf.py          (page-by-page document OCR)
      |-- ocr_preprocess.py   (image enhancement for OCR)
      |-- detect_faces.py     (MediaPipe)
      |-- face_landmarks.py   (MediaPipe landmarks)
      |-- enhance_faces.py    (GFPGAN / CodeFormer)
      |-- colorize.py         (DDColor)
      |-- noise_removal.py    (SCUNet / tiered denoising)
      |-- red_eye_removal.py  (landmark + color analysis)
      |-- restore.py          (scratch repair + enhancement + denoising)
      |-- transcribe.py       (faster-whisper speech-to-text)
      +-- install_feature.py  (on-demand bundle installer)

يستبدل ملف تعريف موزّع "docs" منفصل قائمةَ السماح الخاصة بالذكاء الاصطناعي بنصوص معالجة المستندات (doc_pagecount، doc_health، doc_flatten، doc_redact، doc_text، doc_to_word، doc_metadata، doc_html_pdf) ويتجاوز عمليات استيراد التعلم الآلي الثقيلة.

المهل الزمنية: 300 ثانية افتراضيًا؛ وتحصل قراءة النصوص (OCR) وإزالة الخلفية بـ BiRefNet على 600 ثانية.

حزم الميزات

تُحزَّم نماذج الذكاء الاصطناعي حسب حزمة التبعيات المشتركة، وليس أرشيفًا واحدًا لكل أداة. يمكن لحزمة الميزات أن تُفعّل عدة أدوات عندما تستخدم العائلة نفسها من النماذج، أو حزم Python (wheels)، أو المكتبات الأصلية. يبقي هذا صورة Docker الخاصة بالإصدار أصغر ويتجنب تخزين نسخ مكررة من نماذج تنعيم الخلفية، واكتشاف الوجوه، وقراءة النصوص، والترميم، والكلام نفسها.

تشحن صورة Docker التطبيقَ إضافةً إلى وقت التشغيل المشترك. تُنزَّل أرشيفات النماذج الكبيرة عند الطلب إلى وحدة التخزين الدائمة /data/ai، ثم تُعاد استخدامها من قِبل كل أداة تحتاجها. إذا كانت الحزمة مثبّتة بالفعل لأن أداة أخرى احتاجتها، فإن تفعيل أداة جديدة معتمدة عليها لا يُعيد تنزيل تلك الحزمة.

تتطلب كل أداة ذكاء اصطناعي حزمة ميزات واحدة أو أكثر قبل أن تتمكن من العمل. تُثبِّت واجهة المسؤول حسب الأداة عبر POST /api/v1/admin/tools/:toolId/features/install، التي تحلّ قائمة الحزم الكاملة، وتتجاوز الحزم المثبّتة بالفعل، وتُدرِج فقط التنزيلات المفقودة في قائمة الانتظار. على سبيل المثال، تفعيل صورة جواز السفر على نسخة جديدة يُدرِج background-removal وface-detection في قائمة الانتظار؛ أما تفعيلها بعد تثبيت إزالة الخلفية بالفعل فيُدرِج face-detection فقط.

الحزمةالحجممجموعة التبعيات المشتركةالأدوات التي تستخدمها
background-removal4-5 GBتنعيم الخلفية rembg / BiRefNetremove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection200-300 MBاكتشاف الوجوه والمعالم في MediaPipeblur-faces, red-eye-removal, smart-crop
object-eraser-colorize1-2 GBالرسم الداخلي/الخارجي بـ LaMa و DDColorerase-object, colorize, ai-canvas-expand
upscale-enhance5-6 GBRealESRGAN و GFPGAN / CodeFormer وإزالة التشويشupscale, enhance-faces, noise-removal
photo-restoration4-5 GBمسار إصلاح الخدوش والترميمrestore-photo
ocr5-6 GBحزمة قراءة النصوص PaddleOCR / Tesseractocr, ocr-pdf
transcription~600 MBنماذج تحويل الكلام إلى نص faster-whispertranscribe-audio, auto-subtitles

أدوات ذات تبعيات عبر عدة حزم:

الأداةالحزم المطلوبةالسبب
passport-photobackground-removal، face-detectionيزيل الخلفية، ثم يستخدم معالم الوجه لتأطير القص وفق قواعد صور جواز السفر والهوية.
enhance-facesupscale-enhance، face-detectionيكتشف الوجوه قبل تشغيل تحسين GFPGAN أو CodeFormer على مناطق الوجه المحددة.

تتوفر الأداة فقط عندما تكون جميع حزمها المطلوبة مثبّتة. عمليات التثبيت الجزئية صالحة وتُعالَج تدريجيًا: تُعاد استخدام الحزم المثبّتة، وتُعرَض الحزم المفقودة على أنها تنزيلات، وتُشغَّل عمليات التثبيت المُدرَجة في قائمة الانتظار واحدة تلو الأخرى بحيث لا تُعدَّل بيئة Python المشتركة بالتزامن.


إزالة الخلفية

مسار الأداة: remove-background
النموذج: rembg مع BiRefNet (الافتراضي) أو متغيرات U2-Net

المعاملالنوعالافتراضيالوصف
modelنص-متغير النموذج (تجاوز اختياري)
backgroundTypeنص"transparent"أحد: transparent، color، gradient، blur، image
backgroundColorنص-لون سداسي عشري لخلفية موحّدة
gradientColor1نص-لون التدرّج الأول
gradientColor2نص-لون التدرّج الثاني
gradientAngleرقم-زاوية التدرّج بالدرجات
blurEnabledمنطقي-تفعيل تأثير طمس الخلفية
blurIntensityرقم (0-100)-شدة الطمس
shadowEnabledمنطقي-تفعيل الظل المُسقَط على الموضوع
shadowOpacityرقم (0-100)-تعتيم الظل
outputFormatنص-تنسيق الإخراج: png أو webp أو avif
edgeRefineعدد صحيح (0-3)-مستوى تنقيح الحواف
decontaminateمنطقي-إزالة تسرّب الألوان من الحواف

استبدال الخلفية

مسار الأداة: background-replace
النموذج: rembg / BiRefNet (مشترك مع remove-background)

يزيل الخلفية ويستبدلها بلون موحّد أو تدرّج لوني.

المعاملالنوعالافتراضيالوصف
backgroundType"color" | "gradient""color"وضع الخلفية
colorنص"#ffffff"لون الخلفية السداسي العشري (عندما يكون backgroundType هو color)
gradientColor1نص-لون التدرّج السداسي العشري الأول
gradientColor2نص-لون التدرّج السداسي العشري الثاني
gradientAngleعدد صحيح (0-360)180زاوية التدرّج بالدرجات
featherعدد صحيح (0-20)0نصف قطر تنعيم الحواف
format"png" | "webp""png"تنسيق الإخراج

طمس الخلفية

مسار الأداة: blur-background
النموذج: rembg / BiRefNet (مشترك مع remove-background)

يطمس الخلفية مع إبقاء الموضوع حادًا.

المعاملالنوعالافتراضيالوصف
intensityعدد صحيح (1-100)50شدة الطمس
featherعدد صحيح (0-20)0نصف قطر تنعيم الحواف
format"png" | "webp""png"تنسيق الإخراج

تحسين دقة الصورة

مسار الأداة: upscale
النموذج: RealESRGAN (مع الرجوع إلى Lanczos عند عدم التوفر)

المعاملالنوعالافتراضيالوصف
scaleرقم2عامل تحسين الدقة
modelنص"auto"متغير النموذج
faceEnhanceمنطقيfalseتطبيق مرور تحسين الوجه بـ GFPGAN
denoiseرقم0قوة إزالة التشويش
formatنص"auto"تجاوز تنسيق الإخراج
qualityرقم95جودة الإخراج (1-100)

قراءة النصوص (OCR) / استخراج النص

مسار الأداة: ocr
النماذج: Tesseract (سريع)، PaddleOCR PP-OCRv5 (متوازن)، PaddleOCR-VL 1.5 (الأفضل)

المعاملالنوعالافتراضيالوصف
quality"fast" | "balanced" | "best""balanced"طبقة المعالجة
languageنص"auto"اللغة: auto، en، de، fr، es، zh، ja، ko
enhanceمنطقيtrueمعالجة الصورة مسبقًا لتحسين دقة قراءة النصوص
engineنص-مهمَل. يعيّن tesseract إلى fast، وpaddleocr إلى balanced

يُرجِع نتائج مهيكلة مع مربعات إحاطة، ودرجات ثقة، وكتل نص مستخرجة.

قراءة نصوص PDF

مسار الأداة: ocr-pdf
النماذج: نظام الطبقات نفسه المستخدم في قراءة نصوص الصور

يستخرج النص من مستندات PDF الممسوحة ضوئيًا باستخدام قراءة النصوص المدعومة بالذكاء الاصطناعي، صفحة بصفحة.

المعاملالنوعالافتراضيالوصف
quality"fast" | "balanced" | "best""balanced"طبقة المعالجة
languageنص"auto"اللغة: auto، en، de، fr، es، zh، ja، ko
pagesنص"all"تحديد الصفحات: "all"، "1-3"، "1,3,5"

طمس الوجوه / المعلومات الشخصية

مسار الأداة: blur-faces
النموذج: اكتشاف الوجوه بـ MediaPipe

المعاملالنوعالافتراضيالوصف
blurRadiusرقم (1-100)30نصف قطر طمس غاوس
sensitivityرقم (0-1)0.5عتبة ثقة الاكتشاف

تحسين الوجه

مسار الأداة: enhance-faces
النماذج: GFPGAN، CodeFormer

المعاملالنوعالافتراضيالوصف
model"auto" | "gfpgan" | "codeformer""auto"نموذج التحسين
strengthرقم (0-1)0.8قوة التحسين
sensitivityرقم (0-1)0.5عتبة اكتشاف الوجه
onlyCenterFaceمنطقيfalseتحسين الوجه الأكثر مركزية فقط

التلوين بالذكاء الاصطناعي

مسار الأداة: colorize
النموذج: DDColor (مع الرجوع إلى OpenCV DNN)

يحوّل الصور بالأبيض والأسود أو ذات التدرّج الرمادي إلى ألوان كاملة.

المعاملالنوعالافتراضيالوصف
intensityرقم (0-1)1.0قوة تشبّع الألوان
model"auto" | "ddcolor" | "opencv""auto"متغير النموذج

إزالة التشويش

مسار الأداة: noise-removal
النموذج: SCUNet (مسار إزالة تشويش متدرّج)

المعاملالنوعالافتراضيالوصف
tier"quick" | "balanced" | "quality" | "maximum""balanced"طبقة المعالجة
strengthرقم (0-100)50قوة إزالة التشويش
detailPreservationرقم (0-100)50مقدار التفاصيل المراد الحفاظ عليها؛ القيمة الأعلى تُبقي نسيجًا أكثر
colorNoiseرقم (0-100)30قوة تقليل تشويش الألوان
formatنص"original"تنسيق الإخراج: original، png، jpeg، webp، avif، jxl
qualityرقم (1-100)90جودة ترميز الإخراج

إزالة العين الحمراء

مسار الأداة: red-eye-removal

يكتشف معالم الوجه، ويحدد مناطق العينين، ويصحح فرط تشبّع القناة الحمراء.

المعاملالنوعالافتراضيالوصف
sensitivityرقم (0-100)50عتبة اكتشاف البكسل الأحمر
strengthرقم (0-100)70قوة التصحيح
formatنص-تجاوز تنسيق الإخراج (اختياري)
qualityرقم (1-100)90جودة الإخراج

ترميم الصور

مسار الأداة: restore-photo

مسار متعدد الخطوات للصور القديمة أو التالفة: اكتشاف الخدوش/التمزقات وإصلاحها، وتحسين الوجه، وإزالة التشويش، والتلوين الاختياري.

المعاملالنوعالافتراضيالوصف
scratchRemovalمنطقيtrueاكتشاف الخدوش والتمزقات وإصلاحها
faceEnhancementمنطقيtrueتطبيق مرور تحسين الوجه
fidelityرقم (0-1)0.7قوة تحسين الوجه (الأعلى = أكثر تحفظًا)
denoiseمنطقيtrueتطبيق مرور إزالة التشويش
denoiseStrengthرقم (0-100)25قوة إزالة التشويش
colorizeمنطقيfalseالتلوين بعد الترميم
colorizeStrengthرقم (0-100)85شدة التلوين

صورة جواز السفر

مسار الأداة: passport-photo
النماذج: معالم الوجه بـ MediaPipe + إزالة الخلفية بـ BiRefNet

سير عمل من مرحلتين: التحليل (اكتشاف الوجه + إزالة الخلفية) ثم التوليد (القص، وتغيير الحجم، والتبليط). يدعم أكثر من 37 دولة عبر 6 مناطق.

المرحلة 1: التحليل

POST /api/v1/tools/image/passport-photo/analyze

يقبل ملف صورة (متعدد الأجزاء). يُرجِع بيانات معالم الوجه، ومعاينة بترميز base64، وأبعاد الصورة.

المرحلة 2: التوليد

POST /api/v1/tools/image/passport-photo/generate

يقبل جسم JSON يحتوي على نتائج المرحلة 1 إضافةً إلى إعدادات التوليد:

المعاملالنوعالافتراضيالوصف
jobIdنص(مطلوب)معرّف المهمة من المرحلة 1
filenameنص(مطلوب)اسم الملف الأصلي من المرحلة 1
countryCodeنص(مطلوب)رمز الدولة ISO (مثل US، GB، IN)
documentTypeنص"passport"نوع المستند
bgColorنص"#FFFFFF"لون الخلفية السداسي العشري
printLayoutنص"none"تخطيط الطباعة: none، 4x6، a4، letter
maxFileSizeKbرقم0الحد الأقصى لحجم الملف بالكيلوبايت (0 = بلا حد)
dpiرقم (72-1200)300دقة الإخراج DPI
customWidthMmرقم-عرض مخصص بالمليمتر (يتجاوز مواصفات الدولة)
customHeightMmرقم-ارتفاع مخصص بالمليمتر (يتجاوز مواصفات الدولة)
zoomرقم (0.5-3)1عامل التكبير
adjustXرقم0تعديل الموضع الأفقي
adjustYرقم0تعديل الموضع الرأسي
landmarksكائن(مطلوب)المعالم من المرحلة 1
imageWidthرقم(مطلوب)عرض الصورة من المرحلة 1
imageHeightرقم(مطلوب)ارتفاع الصورة من المرحلة 1

محو الأجسام (الرسم الداخلي)

مسار الأداة: erase-object
النموذج: LaMa عبر ONNX Runtime

يُرسَل القناع كـجزء ملف ثانٍ (اسم الحقل mask)، وليس بترميز base64. تشير البكسلات البيضاء في القناع إلى المناطق المراد محوها. يُرسَل الإعدادان format وquality كحقول نموذج علوية المستوى.

المعاملالنوعالافتراضيالوصف
fileملف(مطلوب)الصورة المصدر (متعددة الأجزاء)
maskملف(مطلوب)صورة القناع (متعددة الأجزاء، اسم الحقل mask، الأبيض = محو)
formatنص"auto"تنسيق الإخراج: auto، png، jpg، jpeg، webp، tiff، gif، avif، heic، heif، jxl
qualityعدد صحيح (1-100)95جودة الإخراج

مُسرَّع بـ CUDA عند توفر وحدة معالجة رسومات NVIDIA.

توسيع اللوحة بالذكاء الاصطناعي

مسار الأداة: ai-canvas-expand
النموذج: الرسم الخارجي القائم على LaMa

يوسّع لوحة الصورة في أي اتجاه ويملأ المناطق الجديدة بمحتوى مولّد بالذكاء الاصطناعي يطابق الصورة الموجودة.

المعاملالنوعالافتراضيالوصف
extendTopعدد صحيح0البكسلات المراد تمديدها في الأعلى
extendRightعدد صحيح0البكسلات المراد تمديدها على اليمين
extendBottomعدد صحيح0البكسلات المراد تمديدها في الأسفل
extendLeftعدد صحيح0البكسلات المراد تمديدها على اليسار
tier"fast" | "balanced" | "high""balanced"طبقة الجودة
formatنص"auto"تنسيق الإخراج: auto، png، jpg، jpeg، webp، tiff، gif، avif، heic، heif، jxl
qualityعدد صحيح (1-100)95جودة الإخراج

يجب أن يكون اتجاه تمديد واحد على الأقل أكبر من 0.

القص الذكي

مسار الأداة: smart-crop
النموذج: اكتشاف الوجوه بـ MediaPipe (وضع الوجه فقط)

المعاملالنوعالافتراضيالوصف
modeنص"subject"استراتيجية القص: subject، face، trim
strategy"attention" | "entropy""attention"استراتيجية وضع الموضوع
widthعدد صحيح-عرض الإخراج
heightعدد صحيح-ارتفاع الإخراج
paddingعدد صحيح (0-50)0نسبة الحشو حول الموضوع
facePresetنص"head-shoulders"التأطير المُعَدّ مسبقًا عند mode=face
sensitivityرقم (0-1)0.5عتبة اكتشاف الوجه
thresholdعدد صحيح (0-255)30عتبة اكتشاف الخلفية (وضع التشذيب)
padToSquareمنطقيfalseحشو النتيجة المُشذَّبة إلى مربع
padColorنص"#ffffff"لون الخلفية للحشو المربّع
targetSizeعدد صحيح-الحجم المستهدف للإخراج المحشو (بالبكسل)
qualityعدد صحيح (1-100)-جودة الإخراج

تُقبَل القيم القديمة mode وهي attention وcontent وتُعيَّن إلى subject وtrim على التوالي.

الإعدادات المسبقة للوجه:

الإعداد المسبقالأفضل لِـ
closeupلقطات الرأس
head-shouldersصور الملف الشخصي
upper-bodyLinkedIn / رسمي
half-bodyالجزء العلوي الكامل من الجسم

نسخ الصوت

مسار الأداة: transcribe-audio
النموذج: faster-whisper

يحوّل الكلام إلى نص. يدعم تنسيقات إخراج النص العادي و SRT و VTT.

المعاملالنوعالافتراضيالوصف
languageنص"auto"اللغة: auto، en، de، fr، es، zh، ja، ko، id، th، vi
outputFormat"txt" | "srt" | "vtt""txt"تنسيق الإخراج

الترجمات التلقائية

مسار الأداة: auto-subtitles
النموذج: faster-whisper (يستخرج الصوت من الفيديو، ثم ينسخه)

يولّد ملفات ترجمة من مسار الصوت في الفيديو.

المعاملالنوعالافتراضيالوصف
languageنص"auto"اللغة: auto، en، de، fr، es، zh، ja، ko، id، th، vi
format"srt" | "vtt""srt"تنسيق ملف الترجمة للإخراج

مُصلِح شفافية PNG

مسار الأداة: transparency-fixer
النموذج: تنعيم BiRefNet عالي الدقة (بدقة 2048x2048)

يصلح ملفات PNG "الشفافة الزائفة" حيث أُزيلت الخلفية لكنها تركت وراءها هُدبًا، أو هالات، أو عيوبًا شبه شفافة. يستخدم نموذج التنعيم عالي الدقة من BiRefNet لإنتاج قناة ألفا نظيفة، ثم يطبّق معالجة إزالة هُدب قابلة للتهيئة لإزالة تلوث الألوان على طول الحواف.

سلسلة الرجوع عند نفاد الذاكرة (OOM): إذا تجاوز تنعيم BiRefNet عالي الدقة الذاكرة المتاحة، ترجع الأداة تلقائيًا إلى birefnet-general، ثم إلى u2net.

المعاملالنوعالافتراضيالوصف
defringeرقم (0-100)30قوة إزالة هُدب الحواف لإزالة تلوث الألوان
outputFormat"png" | "webp""png"تنسيق صورة الإخراج
removeWatermarkمنطقيfalseتطبيق معالجة مسبقة لإزالة العلامة المائية (مرشّح وسيط)
bash
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]" \
  -F 'settings={"defringe":30,"outputFormat":"png"}'

أدوات ذات قدرات ذكاء اصطناعي اختيارية

الأدوات التالية ليست أدوات Python جانبية لكنها تستخدم ميزات الذكاء الاصطناعي عند تفعيل خيارات معينة.

تحسين الصورة

مسار الأداة: image-enhancement
المحرك: قائم على التحليل (المدرج التكراري والإحصاءات في Sharp)

يحلّل الصورة ويطبّق تصحيحات تلقائية للتعريض، والتباين، وتوازن الأبيض، والتشبّع، والحدة، والتشويش. يدعم أوضاعًا خاصة بالمشهد.

المعاملالنوعالافتراضيالوصف
mode"auto" | "portrait" | "landscape" | "low-light" | "food" | "document""auto"وضع المشهد لضبط التصحيحات
intensityرقم (0-100)50قوة التصحيح الإجمالية
corrections.exposureمنطقيtrueتطبيق تصحيح التعريض
corrections.contrastمنطقيtrueتطبيق تصحيح التباين
corrections.whiteBalanceمنطقيtrueتطبيق تصحيح توازن الأبيض
corrections.saturationمنطقيtrueتطبيق تصحيح التشبّع
corrections.sharpnessمنطقيtrueتطبيق تصحيح الحدة
corrections.denoiseمنطقيtrueتطبيق إزالة التشويش
deepEnhanceمنطقيfalseتفعيل إزالة التشويش بالذكاء الاصطناعي عبر SCUNet (يتطلب حزمة upscale-enhance)

تتوفر نقطة نهاية تحليل إضافية عند POST /api/v1/tools/image/image-enhancement/analyze تُرجِع التصحيحات المكتشفة دون تطبيقها.

تغيير الحجم المدرك للمحتوى (نحت الأطراف)

مسار الأداة: content-aware-resize
المحرك: ثنائي caire بلغة Go (ليس Python، لا فائدة من وحدة معالجة الرسومات)

يغيّر حجم الصور بذكاء عن طريق إزالة الأطراف منخفضة الطاقة، مع الحفاظ على المحتوى المهم.

المعاملالنوعالافتراضيالوصف
widthرقم-العرض المستهدف
heightرقم-الارتفاع المستهدف
protectFacesمنطقيfalseحماية مناطق الوجه المكتشفة (يتطلب حزمة face-detection)
blurRadiusرقم (0-20)4طمس مسبق لحساب الطاقة
sobelThresholdرقم (1-20)2عتبة حساسية الحواف
squareمنطقيfalseفرض إخراج مربّع