অনুবাদ কিউ: ব্যাচ প্রসেসিং সিস্টেম

এই আর্টিকেলটি ব্যাখ্যা করে কিভাবে আমরা অনুবাদগুলোকে কিউ এবং ব্যাচ-প্রসেস করি যাতে AI API ব্যবহার অপ্টিমাইজ করা যায়।

সমস্যা: অন-ডিমান্ড অনুবাদ ব্যয়বহুল

কন্টেন্ট অন-ডিমান্ড অনুবাদ করতে গেলে সমস্যা হয়:

  • ধীর: প্রতিটি অনুবাদে ১-২ সেকেন্ড সময় লাগে

  • ব্যয়বহুল: API খরচ প্রতি রিকোয়েস্টে

  • অপ্রয়োজনীয় পুনরাবৃত্তি: একই টেক্সট বারবার অনুবাদ হয়

  • বাধাদানকারী: ব্যবহারকারীকে অনুবাদের জন্য অপেক্ষা করতে হয়

আমাদের একটি ভালো পদ্ধতি দরকার।

সমাধান: কিউ এবং ব্যাচ

কিউ: অনুবাদ রিকোয়েস্ট সংগ্রহ করা

ব্যাচ: একসাথে একাধিক অনুবাদ প্রসেস করা

ক্যাশ: ফলাফল পুনরায় ব্যবহারের জন্য সংরক্ষণ

সময়সূচী: কিউকে পর্যায়ক্রমে প্রসেস করা (রিয়েল-টাইম নয়)

কিউ স্ট্রাকচার

কিউ ফাইল

অবস্থান: ডিস্কে JSON ফাইল

ফরম্যাট: অনুবাদ রিকোয়েস্টের অ্যারে

ফিল্ডসমূহ:

  • text: অনুবাদযোগ্য ইংরেজি টেক্সট

  • target_lang: ভাষা কোড (hi, de, fr ইত্যাদি)

  • context: টেক্সটটি কোথায় প্রদর্শিত হয় (পণ্য, প্রশ্ন, আর্টিকেল)

  • priority: উচ্চ/সাধারণ/নিম্ন

কিউতে যোগ করা

যখন অনুবাদ অনুপস্থিত থাকে:

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

ডিডুপ্লিকেশন: আগে থেকেই কিউ করা আছে কিনা চেক করা

ভ্যালিডেশন: অবাঞ্ছিত মান প্রত্যাখ্যান করা

ব্যাচ প্রসেসিং

স্ক্রিপ্ট

অবস্থান: scripts/web/process_translation_queue.py

সময়সূচী: ক্রন দ্বারা প্রতি ৬ ঘন্টায় রান করে

লক ফাইল: একসাথে একাধিক রান প্রতিরোধ করে

প্রসেস ফ্লো

১. কিউ লোড করা: সব পেন্ডিং রিকোয়েস্ট পড়া

২. ভাষা অনুযায়ী গ্রুপ করা: একই ভাষার রিকোয়েস্ট ব্যাচ করা

৩. ডিডুপ্লিকেশন: ব্যাচের মধ্যে ডুপ্লিকেট সরানো

৪. ক্যাশ চেক করা: আগে থেকেই অনুবাদ করা টেক্সটগুলো সকিপ করা

৫. ব্যাচ অনুবাদ করা: DeepSeek API-তে পাঠানো

৬. ফলাফল পার্স করা: রেসপন্স থেকে অনুবাদগুলো বের করা

৭. ক্যাশে সংরক্ষণ: ফ্রেজ টেবিলে স্টোর করা

৮. কিউ ক্লিয়ার করা: প্রসেস করা রিকোয়েস্টগুলো সরানো

ব্যাচ অনুবাদ

API কল

মডেল: DeepSeek-V3 (Together.ai-এর মাধ্যমে)

সিস্টেম প্রম্পট: ক্যাশ করা (একই ভাষার সব ব্যাচের জন্য একই)

ইউজার প্রম্পট: ভেরিয়েবল (ব্যাচ-স্পেসিফিক)

ফরম্যাট: নম্বরযুক্ত তালিকা

উদাহরণ:

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

রেসপন্স:

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

পার্সিং

লাইন নম্বর দিয়ে অনুবাদগুলো বের করা:

  • নম্বর প্রিফিক্স সরানো (1., 2., ইত্যাদি)

  • পজিশন অনুযায়ী মূল টেক্সটের সাথে ম্যাচ করা

  • কাউন্ট ম্যাচ করছে কিনা ভ্যালিডেট করা

ত্রুটি হ্যান্ডলিং

API ব্যর্থতা: ফলব্যাক API দিয়ে রিট্রাই

পার্স ব্যর্থতা: মূল টেক্সট রিটার্ন করা

আংশিক সফলতা: সফল অনুবাদগুলো সংরক্ষণ, ব্যর্থগুলো আবার কিউ করা

ক্যাশিং কৌশল

ফ্রেজ টেবিল

অবস্থান: ভাষা অনুযায়ী JSON ফাইল

ফরম্যাট: {"English": "Translation"}

লোডিং: একবার স্টার্টআপে লোড করা

সুবিধা: দ্রুত লুকআপ, কোনো API কল নেই

ক্যাশ হিট রেট

প্রথম রান: কম (সবকিছু নতুন)

পরবর্তী রান: বেশি (বেশিরভাগ টেক্সট ক্যাশ করা)

সুবিধা: API খরচ কম

সংরক্ষণ নিয়ম

অনুবাদের সময়, আমরা সংরক্ষণ করি:

ব্র্যান্ড নাম: Thinvent®, Intel®, AMD®

HTML ট্যাগ: <p>, <br>, <strong>

URLs: https://www.thinvent.in

SKUs: Treo-N100-8-256

সংখ্যা: 8GB, 256GB, 4 cores

ইমপ্লিমেন্টেশন: সিস্টেম প্রম্পটে রেজেক্স প্যাটার্ন

ভাষা শনাক্তকরণ

অনুবাদের আগে, চেক করা যে আগে থেকেই অনুবাদ করা আছে কিনা:

পদ্ধতি: ক্যারেক্টার সেট বিশ্লেষণ

হিন্দি: দেবনাগরী লিপি

চাইনিজ: CJK ক্যারেক্টার

আরবি: আরবি লিপি

সুবিধা: অপ্রয়োজনীয় অনুবাদ এড়ানো

অগ্রাধিকার হ্যান্ডলিং

উচ্চ অগ্রাধিকার: পণ্যের নাম, বৈশিষ্ট্য (প্রথমে প্রসেস)

সাধারণ অগ্রাধিকার: বিবরণ, আর্টিকেল (দ্বিতীয়তে প্রসেস)

নিম্ন অগ্রাধিকার: পুরানো কন্টেন্ট, কম দেখা কন্টেন্ট (সবশেষে প্রসেস)

সুবিধা: গুরুত্বপূর্ণ কন্টেন্ট আগে অনুবাদ হয়

সময়সূচী

ক্রন জব

ফ্রিকোয়েন্সি: প্রতি ৬ ঘন্টায়

কমান্ড: python3 scripts/web/process_translation_queue.py

লক ফাইল: /tmp/process_translation_queue.lock

সুবিধা: স্বয়ংক্রিয় প্রসেসিং, ম্যানুয়াল হস্তক্ষেপ নেই

সাপ্তাহিক কাজ

আর্টিকেল: সাপ্তাহিক নতুন আর্টিকেল অনুবাদ

বাবেল স্ট্রিং: সাপ্তাহিক টেমপ্লেট অনুবাদ আপডেট

স্ক্রিপ্ট: scripts/web/translate_articles_weekly.sh

মনিটরিং

কিউ সাইজ

পেন্ডিং রিকোয়েস্ট ট্র্যাক করা:

  • মোট রিকোয়েস্ট

  • ভাষা অনুযায়ী রিকোয়েস্ট

  • সবচেয়ে পুরানো রিকোয়েস্টের বয়স

সতর্কতা: যদি কিউ খুব বড় হয়ে যায়

অনুবাদ পরিসংখ্যান

প্রসেসিং ট্র্যাক করা:

  • প্রতি ব্যাচে অনুবাদ

  • API সফলতার হার

  • ক্যাশ হিট রেট

  • প্রসেসিং সময়

খরচ ট্র্যাকিং

API ব্যবহার মনিটর করা:

  • প্রতিদিন রিকোয়েস্ট

  • প্রতি রিকোয়েস্টে টোকেন

  • ভাষা অনুযায়ী খরচ

রেফারেন্স

সম্পর্কিত আর্টিকেল

সারাংশ

অনুবাদ কিউ দক্ষ ব্যাচ প্রসেসিং সক্ষম করে:

কিউ:

  • ✅ অনুবাদ রিকোয়েস্ট সংগ্রহ

  • ✅ ব্যাচের মধ্যে ডিডুপ্লিকেশন

  • ✅ অগ্রাধিকার হ্যান্ডলিং

  • ✅ ভ্যালিডেশন এবং ফিল্টারিং

ব্যাচ প্রসেসিং:

  • ✅ ভাষা অনুযায়ী গ্রুপ

  • ✅ DeepSeek API-তে পাঠানো

  • ✅ নম্বরযুক্ত রেসপন্স পার্স করা

  • ✅ ফ্রেজ টেবিলে সংরক্ষণ

ক্যাশিং:

  • ✅ অনুবাদের আগে ক্যাশ চেক

  • ✅ উচ্চ ক্যাশ হিট রেট

  • ✅ API খরচ কম

সময়সূচী:

  • ✅ ক্রন দ্বারা প্রতি ৬ ঘন্টায়

  • ✅ লক ফাইল একসাথে একাধিক রান প্রতিরোধ করে

  • ✅ সাপ্তাহিক আর্টিকেল অনুবাদ

সংরক্ষণ:

  • ✅ ব্র্যান্ড নাম

  • ✅ HTML ট্যাগ

  • ✅ URLs এবং SKUs

এই পদ্ধতি ব্যাচিং এবং ক্যাশিংয়ের মাধ্যমে API খরচ কমায় এবং অনুবাদের গুণমান উন্নত করে।


← ডকুমেন্টেশন ইনডেক্সে ফিরে যান