قائمة الانتظار للترجمة: نظام المعالجة المجمّعة

تشرح هذه المقالة كيفية وضع طلبات الترجمة في قائمة الانتظار ومعالجتها على دفعات لتحسين استخدام واجهة برمجة تطبيقات الذكاء الاصطناعي.

المشكلة: الترجمة عند الطلب مكلفة

ترجمة المحتوى عند الطلب تواجه عدة مشكلات:

  • بطيئة: كل ترجمة تستغرق 1-2 ثانية

  • مكلفة: تكاليف واجهة برمجة التطبيقات لكل طلب

  • مكررة: نفس النص يُترجم عدة مرات

  • حاجبة: المستخدم ينتظر الترجمة

نحتاج إلى نهج أفضل.

الحل: قائمة الانتظار والمعالجة المجمّعة

قائمة الانتظار: جمع طلبات الترجمة

المجموعة: معالجة ترجمات متعددة معاً

التخزين المؤقت: حفظ النتائج لإعادة الاستخدام

الجدولة: معالجة قائمة الانتظار دورياً (وليس في الوقت الفعلي)

بنية قائمة الانتظار

ملف قائمة الانتظار

الموقع: ملف JSON على القرص

التنسيق: مصفوفة من طلبات الترجمة

الحقول:

  • text: النص الإنجليزي المراد ترجمته

  • target_lang: رمز اللغة (hi، de، fr، إلخ)

  • context: مكان ظهور النص (منتج، استعلام، مقالة)

  • priority: عالية/عادية/منخفضة

الإضافة إلى قائمة الانتظار

عندما تكون هناك ترجمة مفقودة:

queue_translation(text, target_lang, context="product")

إزالة التكرار: التحقق مما إذا كان الطلب موجوداً بالفعل في قائمة الانتظار

التحقق: رفض القيم غير الصالحة

المعالجة المجمّعة

البرنامج النصي

الموقع: scripts/web/process_translation_queue.py

الجدولة: يعمل كل 6 ساعات عبر cron

ملف القفل: يمنع التشغيل المتزامن

تدفق المعالجة

1. تحميل قائمة الانتظار: قراءة جميع الطلبات المعلّقة

2. التجميع حسب اللغة: تجميع طلبات نفس اللغة

3. إزالة التكرار: إزالة التكرارات داخل المجموعة

4. التحقق من التخزين المؤقت: تخطي النصوص المترجمة مسبقاً

5. ترجمة المجموعة: الإرسال إلى واجهة DeepSeek API

6. تحليل النتائج: استخراج الترجمات من الاستجابة

7. الحفظ في التخزين المؤقت: التخزين في جداول العبارات

8. مسح قائمة الانتظار: إزالة الطلبات المعالجة

الترجمة المجمّعة

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

النموذج: DeepSeek-V3 (عبر Together.ai)

موجّه النظام: مخزّن مؤقتاً (نفسه لجميع المجموعات في اللغة)

موجّه المستخدم: متغير (خاص بالمجموعة)

التنسيق: قائمة مرقّمة

مثال:

Translate these 10 texts:
1. Mini PC
2. Thin Client
3. Compact Desktop
...

الاستجابة:

1. मिनी पीसी
2. थिन क्लाइंट
3. कॉम्पैक्ट डेस्कटॉप
...

التحليل

استخراج الترجمات حسب رقم السطر:

  • إزالة بادئة الرقم (1.، 2.، إلخ)

  • المطابقة مع النصوص الأصلية حسب الموضع

  • التحقق من تطابق العدد

معالجة الأخطاء

فشل واجهة برمجة التطبيقات: إعادة المحاولة مع واجهة احتياطية

فشل التحليل: إرجاع النصوص الأصلية

نجاح جزئي: حفظ الترجمات الناجحة، وإعادة الطلبات الفاشلة إلى قائمة الانتظار

استراتيجية التخزين المؤقت

جداول العبارات

الموقع: ملفات JSON لكل لغة

التنسيق: {"English": "Translation"}

التحميل: تُحمّل مرة واحدة عند بدء التشغيل

الفائدة: بحث سريع، بدون استدعاءات API

معدل إصابة التخزين المؤقت

التشغيل الأول: منخفض (كل شيء جديد)

التشغيلات اللاحقة: مرتفع (معظم النصوص مخزّنة مؤقتاً)

الفائدة: تقليل تكاليف واجهة برمجة التطبيقات

قواعد الحفظ

أثناء الترجمة، نحافظ على:

أسماء العلامات التجارية: Thinvent®، Intel®، AMD®

وسوم HTML: <p>، <br>، <strong>

عناوين URL: https://www.thinvent.in

رموز SKU: Treo-N100-8-256

الأرقام: 8GB، 256GB، 4 cores

التنفيذ: أنماط Regex في موجّه النظام

اكتشاف اللغة

قبل الترجمة، التحقق مما إذا كانت مترجمة bereits:

الطريقة: تحليل مجموعة الأحرف

الهندية: نص Devanagari

الصينية: أحرف CJK

العربية: النص العربي

الفائدة: تخطي الترجمات غير الضرورية

معالجة الأولويات

أولوية عالية: أسماء المنتجات، الميزات (تُعالج أولاً)

أولوية عادية: الأوصاف، المقالات (تُعالج ثانياً)

أولوية منخفضة: المحتوى القديم، نادر المشاهدة (يُعالج أخيراً)

الفائدة: ترجمة المحتوى المهم أولاً

الجدولة

مهمة Cron

التكرار: كل 6 ساعات

الأمر: python3 scripts/web/process_translation_queue.py

ملف القفل: /tmp/process_translation_queue.lock

الفائدة: معالجة تلقائية، بدون تدخل يدوي

المهام الأسبوعية

المقالات: ترجمة المقالات الجديدة أسبوعياً

سلاسل Babel: تحديث ترجمات القوالب أسبوعياً

البرنامج النصي: scripts/web/translate_articles_weekly.sh

المراقبة

حجم قائمة الانتظار

تتبّع الطلبات المعلّقة:

  • إجمالي الطلبات

  • الطلبات لكل لغة

  • عمر أقدم طلب

التنبيه: إذا نمت قائمة الانتظار كثيراً

إحصائيات الترجمة

تتبّع المعالجة:

  • الترجمات لكل مجموعة

  • معدل نجاح API

  • معدل إصابة التخزين المؤقت

  • وقت المعالجة

تتبّع التكاليف

مراقبة استخدام API:

  • الطلبات يومياً

  • الرموز لكل طلب

  • التكلفة لكل لغة

المراجع

مقالات ذات صلة

الملخص

تتيح قائمة انتظار الترجمة معالجة مجمّعة فعّالة:

قائمة الانتظار:

  • جمع طلبات الترجمة

  • إزالة التكرار داخل المجموعة

  • معالجة الأولويات

  • التحقق والتصفية

المعالجة المجمّعة:

  • التجميع حسب اللغة

  • الإرسال إلى واجهة DeepSeek API

  • تحليل الاستجابات المرقّمة

  • الحفظ في جداول العبارات

التخزين المؤقت:

  • التحقق من التخزين المؤقت قبل الترجمة

  • معدل إصابة مرتفع للتخزين المؤقت

  • تقليل تكاليف API

الجدولة:

  • كل 6 ساعات عبر cron

  • ملف القفل يمنع التشغيل المتزامن

  • ترجمات المقالات الأسبوعية

الحفظ:

  • أسماء العلامات التجارية

  • وسوم HTML

  • عناوين URL ورموز SKU

يقلّل هذا النهج تكاليف API ويحسّن جودة الترجمة من خلال التجميع والتخزين المؤقت.


← العودة إلى فهرس التوثيق