دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

صايب نصوص تجارية متعددة اللغات من تصاور المنتجات باستعمال AI Writer

تعلّم كيفاش تثبّت وتهيّأ وتستعمل AI Writer، وهو تطبيق Express كيولّد نصوص تجارية من تصاور المنتجات. هاد الدليل كيغطي الإعداد الأوتوماتيكي واليدوي، التوليد بعدة لغات، جلب تصاور الصفحات، الترجمة، الرصيد، معالجة الفيديو التجريبية، الاختبارات واعتبارات الأمان فالإنتاج.

صايب نصوص تجارية متعددة اللغات من تصاور المنتجات باستعمال AI Writer

شنو هو AI Writer؟

AI Writer هو تطبيق مفتوح المصدر كيحوّل تصاور المنتوجات لوصف قابل للتعديل ديال التجارة الإلكترونية. تقدر تعطيه بين رابط واحد وثمانية ديال روابط الصور العمومية باستعمال HTTPS، وتختار اللغة ديال الخرج، وتستعمل موديل Chat Completions من OpenAI كيدعم الرؤية باش ينشئ مسودة.

التطبيق كيدعم الإنجليزية، التركية، الإسبانية، الألمانية، الفرنسية والصينية. وكيشمل حتى المصادقة على الحساب، والتعديل من المتصفح، والترجمة، ونظام ديال الرصيد مدعوم بـ MySQL.

ستوديو AI Writer للصور

AI Writer كينشئ مسودات وماشي مواصفات مؤكدة ديال المنتوج. راجع كل وصف قبل النشر، حيث التصاور ما كتقدرش تثبت بشكل موثوق تفاصيل بحال القياسات، وتركيبة الثوب ولا الشهادات.

المزايا الرئيسية

  • الكتابة اعتماداً على الصور: أنشئ نصوص من صورة وحدة حتى لثمانية ديال الصور العمومية ديال المنتوج باستعمال HTTPS.
  • جلب صفحات المنتوج: استعمل Puppeteer باش تجمع روابط الصور من صفحة عمومية ديال المنتوج.
  • ست لغات للخرج: أنشئ المحتوى بالإنجليزية، التركية، الإسبانية، الألمانية، الفرنسية ولا الصينية.
  • التعديل والترجمة: حسّن المسودات المنشأة من المتصفح، نسخها وترجمها بإجراء واحد.
  • الحسابات والأرصدة: التطبيق كيستعمل كلمات مرور bcrypt، وجلسات MySQL، ورصيد كيحمي من الإنفاق الزائد المتوازي.
  • استرجاع الرصيد عند الفشل: الأرصدة المحجوزة كترجع ملي كتفشل طلبات الإنشاء المدعومة.
  • إدخال الفيديو التجريبي: استخرج حتى لثمانية إطارات من فيديو قصير على YouTube واستعملها كمدخلات بصرية.

المتطلبات المسبقة

قبل التثبيت، وجد هاد الحوايج:

  • Node.js بإصدار 22.12 ولا أحدث وnpm.
  • Docker مع Compose، ولا الولوج لسيرفر MySQL بإصدار 8 ولا أحدث.
  • مفتاح API ديال OpenAI عندو الولوج لموديل Chat Completions كيدعم الرؤية.
  • Chrome مثبت عن طريق Puppeteer إلا بغيتي تجلب الصور من صفحات المنتوجات.
  • FFmpeg وFFprobe متوفرين فـ PATH إلا بغيتي تجرب المعالجة التجريبية ديال الفيديو.

FFmpeg اختياري إلا كنت غادي تنشئ الأوصاف غير من الصور.

ثبّت AI Writer أوتوماتيكياً

سكريبت الإعداد التفاعلي هو أسهل طريقة للتثبيت. دير استنساخ للمستودع، دخل للمجلد ديالو، شغّل المثبّت وبدا التطبيق:

git clone https://github.com/csadigital/ai-writer.git
cd ai-writer
npm run setup
npm start

المثبّت كينزّل اعتماديات التطبيق وChrome، وكيطلب منك مفتاح API ديال OpenAI بلا ما يبان، وكيصايب أسرار قاعدة البيانات والجلسة، وكيهيّأ MySQL. كيبقي على القيم الموجودة فـ .env وكيصايب نسخة احتياطية محلية.

فوقت الإعداد، اختار docker باش يبدا كونتينر MySQL مستمر أوتوماتيكياً. خاص Docker يكون مثبت وخدام من قبل. اختار existing باش تربط بسيرفر MySQL ديالك. باستعمال بيانات اعتماد المدير، المثبّت يقدر يصايب قاعدة بيانات مخصصة ومستخدم للتطبيق؛ وما كيحفظش كلمة سر المدير.

من بعد ما يبدا التطبيق، حل http://localhost:3000 فالمتصفح ديالك.

وقف قاعدة بيانات Docker

باش توقف كونتينر MySQL المحلي بلا ما تمسح البيانات المستمرة ديالو، شغّل:

docker compose -f compose.mysql.yml stop

تبديل بيانات اعتماد قاعدة البيانات فـ .env ما كيعاودش يصفّر Volume ديال Docker اللي تهيّأ من قبل. خليك على بيانات الاعتماد الأصلية ولا دير ترحيل مقصود لقاعدة البيانات.

ثبّت AI Writer يدوياً

الإعداد اليدوي كيعطيك تحكم مباشر فالبيئة وإعدادات قاعدة البيانات. دير استنساخ للمشروع، ثبّت الاعتماديات المحددة ديالو وصايب ملف البيئة:

git clone https://github.com/csadigital/ai-writer.git
cd ai-writer
npm ci
cp .env.example .env
node -e "console.log(require('node:crypto').randomBytes(32).toString('hex'))"

نسخ القيمة اللي تخرجات وحطها فـ SESSION_SECRET داخل .env. خاص السر يحتوي على الأقل على 32 حرف. من بعد زِد مفتاح API ديال OpenAI وإعدادات الاتصال بـ MySQL. استعمل بيانات اعتماد جديدة وما تعمّرش ترفع ملف .env للمستودع.

صايب قاعدة البيانات ومستخدم التطبيق باستعمال مدير MySQL، وعطي داك المستخدم الولوج لقاعدة البيانات، وبدّى الجداول باستعمال schema.sql:

mysql -h 127.0.0.1 -u ai_writer -p ai_writer < schema.sql
npm start

حل http://localhost:3000، صايب حساب ودخل للتطبيق.

إعداد البيئة

التطبيق كيقرا الإعدادات ديالو من متغيرات البيئة. خاصك على الأقل تضبط بيانات OpenAI، وسر الجلسة، والاتصال بقاعدة البيانات.

  • OPENAI_API_KEY: بيانات اعتماد OpenAI الضرورية للـ API.
  • OPENAI_MODEL: موديل Chat Completions كيدعم الرؤية. القيمة الافتراضية هي gpt-4.1-mini.
  • SESSION_SECRET: سر عشوائي ضروري فيه على الأقل 32 حرف.
  • DB_HOST وDB_PORT: عنوان MySQL. القيم الافتراضية هي 127.0.0.1 و3306.
  • DB_USER وDB_PASSWORD: بيانات اعتماد تطبيق MySQL المحلي.
  • DB_NAME: اسم قاعدة البيانات. القيمة الافتراضية هي ai_writer.
  • PORT: منفذ HTTP ديال التطبيق. القيمة الافتراضية هي 3000.
  • NODE_ENV: وضع التشغيل. القيمة الافتراضية هي development.
  • TRUST_PROXY: حدّد واش التطبيق كيثق فوكيل عكسي واحد خدام بـ HTTPS. القيمة الافتراضية هي 0.

الموديل المختار خاصّو يدعم إدخال الصور عبر واجهة Chat Completions API. شوف الدليل الرسمي ديال OpenAI لإدخال الصور باش تعرف السلوك المتوافق فالطلبات.

ولّد أول وصف ديال المنتوج

  1. صايب حساب: سجّل عبر التطبيق المحلي ودخل للحساب. كل حساب جديد كيبدا بعشرة ديال الكريدي.
  2. زيد تصاور المنتوج: دخل بين رابط واحد وثمانية ديال روابط الصور العمومية عبر HTTPS. خاص الموديل يقدر يوصل لهاد الروابط.
  3. ختار اللغة: اختار الإنجليزية، التركية، الإسبانية، الألمانية، الفرنسية ولا الصينية.
  4. ولّد المسودة: صيفط الصور للتحليل البصري وتوليد الوصف.
  5. عدّل النتيجة: راجع المسودة فالمتصفح وصحّح الادعاءات اللي ما مدعماش، والأسلوب ولا تفاصيل المنتوج.
  6. نسخ النص: نسخ الوصف المعدّل وحطّو فطريقة العمل ديالك فالتجارة الإلكترونية.

توليد وصف بنجاح كيكلّف كريدي واحد. إلا فشل طلب التوليد، التطبيق كيرجّع الكريدي اللي تحجز.

مثال على طريقة استعمال الصور

إلى كان المنتوج مصوّر من زوايا مختلفة، دخل مجموعة صغيرة ديال روابط الصور المباشرة بحال:

https://example.com/products/item-front.jpg
https://example.com/products/item-side.jpg
https://example.com/products/item-detail.jpg

استعمل غير العناوين العمومية عبر HTTPS. المناظر المتعددة تقدر تعطي للموديل سياق بصري أكثر، ولكن ما كتعاوضش المواصفات اللي مؤكدة فكتالوج المنتوج ديالك.

جيب الصور من صفحة ديال المنتوج

بلا ما تجمع كل رابط ديال الصور يدويّاً، يقدر AI Writer يستعمل Puppeteer باش يفحص صفحة عمومية ديال منتوج ويجمع روابط الصور. هاد الطريقة كتحتاج تثبيت Chrome اللي كيدبّرو Puppeteer.

  1. دخل رابط عمومي ديال صفحة المنتوج فطريقة جلب الصفحة.
  2. خلّي التطبيق يجمع روابط الصور المحتملة.
  3. ختار تصاور المنتوج المناسبة من النتائج اللي تجبدات.
  4. ولّد الوصف وراجعو كيف العادة.

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

ترجم مسودة موجودة

من بعد ما تولّد وصف ولا تعدّلو، استعمل إجراء الترجمة باش تخرّج نسخة بلغة أخرى مدعومة. الترجمة الناجحة كتكلّف كريدي واحد. راجع النص المترجم من ناحية مصطلحات المنتوج، هوية العلامة التجارية والدقة فالحقائق قبل ما تنشرو.

استعمل طريقة الفيديو التجريبية

يقدر AI Writer يخرج حتى لثمانية ديال اللقطات من فيديو قصير فـ YouTube ويصيفط هاد اللقطات كسياق بصري. اللقطات المحلية كيتصيفطو للموديل على شكل data URLs حيث روابط الصور ديال localhost ما غاديش تكون متاحة للواجهة البرمجية.

الفيديو خاصّو يحترم جميع هاد الحدود:

  • ما يكونش فيديو مباشر.
  • ما يفوتش ثلاثة دقايق.
  • ما يفوتش 50 MB.
  • خاص FFmpeg وFFprobe يكونو متاحين فـ PATH.
  • خاص تكون عندك الصلاحية تعالج الوسائط.

هاد الخاصية كتعتامد على توفر أداة تحميل YouTube من مصدر خارجي، وYouTube يقدر يرفض التحميلات الآلية. المعالجة الفاشلة كترجّع الكريدي اللي تحجز.

التطوير والاختبار

استعمل أمر التطوير ملي كتبدّل فالتطبيق:

npm run dev

شغّل فحوصات المشروع، والاختبارات الآلية، ومراجعة الاعتماديات ديال الإنتاج بهاد الأوامر:

npm run check
npm test
npm audit --omit=dev

حزمة الاختبارات كتشمل المصادقة، وتدوير الجلسات، والحماية من CSRF، والتحقق من الروابط، وإخراج محمي من الحقن، وتوليد الصور، والترجمة، وإرجاع الكريدي، وصرف الكريدي بشكل متوازي. الاختبارات المحلية كتعزل خدمات قاعدة البيانات والذكاء الاصطناعي، وبهذا ما كتستعملش بيانات اعتماد الإنتاج وما كتديرش طلبات مدفوعة للواجهات البرمجية. التكامل المستمر حتى هو كينشئ خادم MySQL حقيقي ومؤقت باش يتحقق من إنشاء مخطط المثبّت ومن الصلاحيات الممنوحة لمستخدم قاعدة البيانات.

نصائح متقدمة

ختار الصور بعناية

استعمل تصاور واضحة كتبرز المنتوج من زوايا مفيدة. خليك داخل الحد ديال صورة وحدة حتى لثمانية ديال الصور. الصور الإضافية خاصها تزيد معلومات بصرية مفيدة، ماشي غير تعاود نفس المنظر.

خلّي المعطيات الواقعية بعيدة على التخمين البصري

ما تعتبرش الادعاءات اللي تولّدات على الأبعاد، والتركيبة ولا الشهادات موثوقة بوحدها. زيد المواصفات المؤكدة من نظام المخزون ولا نظام معلومات المنتوج ديالك أثناء التعديل.

حمي الأسرار والولوج لقاعدة البيانات

خلّي .env خاص، واستعمل بيانات اعتماد مخصّصة لقاعدة البيانات، وتفادى ترفع مفاتيح الواجهات البرمجية ولا أسرار الجلسات للمستودع. إلا استعملتي خادم MySQL موجود من قبل، عطِ لمستخدم التطبيق الولوج غير لقاعدة البيانات المخصّصة ليه.

وجد راسك قبل النشر العمومي

قرا دليل النشر ديال المستودع قبل ما تفتح AI Writer للإنترنت. الخادم العمومي كيحتاج HTTPS، وتقييد الاتصالات الخارجة من الشبكة، ومتصفح معزول. التحقق من DNS بوحدو ماشي دفاع كامل ضد إعادة ربط DNS.

الكريدي المدمج كيحدّ من المصاريف، ولكن المشروع ما فيهش دمج الفوترة، ولا الشراء الآلي للكريدي، ولا استرجاع كلمة السر، ولا التحقق من البريد الإلكتروني. نشر المستودع حتى هو ما كينشئش تطبيق مستضاف ولا عرضاً تجريبياً مباشراً.

فهم الملفات الرئيسية ديال المشروع

  • app.js: تطبيق Express وزايد عليه مسارات الحساب والرصيد.
  • db.js: مجمّع الاتصالات ديال MySQL.
  • youtube.js: سيرورة تجريبية محدودة ديال الفيديو.
  • lib/ai.js: طلبات الموديل وبرومبتات متعددة اللغات.
  • lib/network.js: التحقق من روابط HTTPS العمومية.
  • views/: صفحات EJS والتصميم المشترك.
  • public/: الستايلات، كود المتصفح والهوية البصرية.
  • schema.sql: جدول قاعدة بيانات الحسابات.
  • scripts/setup.js: مُثبّت تفاعلي.
  • compose.mysql.yml: خدمة MySQL محلية اختيارية.
  • test/: اختبارات تراجعية أوتوماتيكية.

الخلاصة

AI Writer كيوفّر سيرورة عملية محلية لتحويل تصاور المنتجات لمسودات متعددة اللغات ديال التجارة الإلكترونية. بدا بالمُثبّت التفاعلي، وربط موديل OpenAI اللي كيدعم الرؤية، وزيد تصاور بروابط HTTPS عمومية، وراجع كل نتيجة قبل ما تنشرها. المزايا ديال الحسابات، الرصيد، الترجمة والاختبار كتوفر أساس مزيان، ولكن النشر فالإنتاج باقي كيحتاج عزل دقيق للمتصفح، وضوابط على الشبكة وHTTPS.