Splync ब्लॉग में 42 भाषाएँ हैं
यह Splync, जोड़ों, दोस्तों और परिवारों के लिए एक साझा बजट ट्रैकर है, पर मेरे ब्लॉग का 23वां लेख है। आप सोच सकते हैं कि मैं 42 भाषाओं में हर पोस्ट कैसे प्रकाशित करता हूं, जबकि मैं एक अकेला इंजीनियर हूं। जैसा कि हर लेख के शीर्ष पर की गई घोषणा कहती है, यह वेबसाइट स्वचालित रूप से कई भाषाओं में अनुवादित होती है, इसका सॉफ़्टवेयर मैंने खुद विकसित किया है। स्पष्ट रूप से कहूं तो: मैं अंग्रेजी के अलावा किसी भी भाषा में एक भी वाक्य हाथ से नहीं लिखता। इसलिए मैं पाठकों से अनुरोध करता हूं कि जब अर्थ की सटीकता महत्वपूर्ण हो तो वे मूल अंग्रेजी संस्करण की ओर देखें। फिर भी, अनुवाद प्रक्रिया में कई प्रयोगों के बाद, मुझे लगता है कि कुल मिलाकर अनुवाद की गुणवत्ता काफी अच्छी है। इस लेख में, मैं साझा करूंगा कि मेरा सॉफ़्टवेयर Splync ब्लॉग को बहुभाषी कैसे बनाता है।
Python और OpenAI API एक साथ करते हैं
मैं हमेशा प्रत्येक लेख को साधारण अंग्रेजी में लिखने से शुरू करता हूं, जिसमें SEO से संबंधित मेटाडेटा शामिल होता है। इसके बाद, मेरा Python स्क्रिप्ट अंग्रेजी पाठ को OpenAI API को भेजता है, साथ में एक प्रॉम्प्ट और एक छोटा संदर्भ फ़ाइल। OpenAI के सर्वरों पर, ChatGPT-4o अनुरोध को पढ़ता है और अनुवादित लेख लौटाता है — जैसे कि अरबी संस्करण — JSON प्रारूप में। जैसे ही मेरा मैकबुक उस अनुवाद को प्राप्त करता है, स्क्रिप्ट तुरंत एक और अनुरोध भेजती है, इस बार बांग्ला के लिए पूछते हुए। स्क्रिप्ट स्वचालित रूप से सभी 42 लक्ष्य भाषाओं के माध्यम से लूप करती है। प्रक्रिया के अंत तक, मेरे कंप्यूटर में 42 अनुवादित JSON फ़ाइलें होती हैं। एक और Python स्क्रिप्ट फिर प्रत्येक अनुवाद को एक HTML टेम्पलेट में डालती है और एक सेकंड से भी कम में 42 HTML फ़ाइलें उत्पन्न करती है। सभी फ़ाइलें उस सर्वर पर अपलोड की जाती हैं जहां यह ब्लॉग होस्ट किया गया है, और प्रत्येक भाषा संस्करण को अपनी डायरेक्टरी में रखा जाता है। अंत में, एक सर्वर-साइड Python स्क्रिप्ट लेख सूचकांक और "अगला पोस्ट" लिंक को अपडेट करती है ताकि हर भाषा की नेविगेशन स्थिर रहे। मूल अंग्रेजी लेख साधारण पाठ में लिखे जाने के कारण, पूरी प्रक्रिया में आमतौर पर 5 मिनट या उससे कम समय लगता है। जब मुझे बदलाव करने की ज़रूरत होती है, तो मैं सर्वर-साइड Python स्क्रिप्ट्स का उपयोग करके कई HTML फ़ाइलों को एक साथ अपडेट करता हूँ।
API क्या है
अगर आप तकनीकी शब्दों से परिचित नहीं हैं, तो आप सोच सकते हैं कि मेरा कंप्यूटर कैसे OpenAI के सर्वर से "बात" करता है। इसका जवाब है API, एप्लिकेशन प्रोग्रामिंग इंटरफेस। आप API को दो प्रोग्राम्स के बीच संदेशवाहक खिड़की के रूप में सोच सकते हैं: एक प्रोग्राम अनुरोध भेजता है, और दूसरा प्रतिक्रिया देता है। उदाहरण के लिए, मेरा Python स्क्रिप्ट एक संदेश भेजता है जैसे, "कृपया इस लेख को जर्मन में अनुवाद करें।" OpenAI उस संदेश को API के माध्यम से प्राप्त करता है, अनुवाद तैयार करता है, और परिणाम वापस भेजता है। यह बिल्कुल वैसे ही काम करता है जैसे रेस्तरां में ऑर्डर देना: आप वेटर को बताते हैं कि आप क्या चाहते हैं, किचन उसे तैयार करती है, और वेटर उसे आपकी टेबल तक लाता है। और आपको वेटर की आवश्यकता क्यों है? क्योंकि आप सीधे किचन में नहीं जाते या शेफ से सीधे बात नहीं करते — आपको नहीं पता कि किचन कैसे काम करती है, और आपको इसकी आवश्यकता नहीं है। आप वेटर से कह सकते हैं, "क्या मुझे एक चीज़बर्गर मिल सकता है?" और वेटर एक पूरी तरह से अलग प्रारूप में चिल्ला सकता है, "ऑर्डर अप! T21, Chihuahua!" API बिल्कुल ऐसा ही काम करता है। यह दो विभिन्न प्रणालियों को जोड़ता है बिना यह आवश्यक किए कि वे एक-दूसरे की आंतरिक भाषा या कार्यप्रवाह को समझें।
मुझे OpenAI API की आवश्यकता क्यों है
अब जब हम देख चुके हैं कि API क्या है, तो यहां बताया गया है कि मैं वास्तव में इस ब्लॉग के लिए उस पर निर्भर क्यों हूं। व्यवहारिक रूप में, मुझे खुद ChatGPT से "बात" करने का तरीका पता है — लेकिन मुझे 42 भाषाओं को संसाधित करना है। 42 बार वेटर को बुलाना थकाऊ होगा (प्रोग्राम अंग्रेजी को अंग्रेजी में अनुवाद करना छोड़ देता है, लेकिन फिर भी पाठ को JSON में बदल देता है)। OpenAI API का उपयोग करने से मेरा Python स्क्रिप्ट उन सभी अनुरोधों को स्वचालित रूप से भेज सकता है, जिससे मुझे दोहराव वाले काम से बचने और अन्य चीजों पर ध्यान केंद्रित करने की छूट मिलती है। मैं एक अकेला डेवलपर हूं, इसलिए मुझे अपने समय का उपयोग जितना संभव हो उतना कुशलता से करना है। जब भी मैं एक कार्य देखता हूं जो दोहरावदार होता है और जिसमें स्पष्ट नियम होते हैं, मैं उसे स्वचालित कर देता हूं। परिणामस्वरूप आमतौर पर एक प्रक्रिया बनती है जो मिलियन गुना तेज और पूरी तरह से त्रुटि-मुक्त होती है। इसलिए API के माध्यम से स्वचालन आवश्यक है — यह मेरे स्क्रिप्ट को सभी 42 "ऑर्डर्स" को तुरंत और भरोसेमंद तरीके से रखने की अनुमति देता है।
42 भाषाएँ क्यों
तकनीकी रूप से, मैं और भी कई भाषाएँ जोड़ सकता था; इसे चलाने में कुछ और मिनट लगेंगे जब मैं बर्तन धो रहा हूँ। लेकिन मुझे व्यक्तिगत रूप से नंबर 42 पसंद है, जो डगलस एडम्स की किताब का "जीवन, ब्रह्मांड, और सब कुछ का अंतिम प्रश्न का उत्तर" है। 42 के प्रति मेरे लगाव के अलावा, बहुत मामूली भाषाएँ जोड़ना जोखिम भरा हो सकता है, क्योंकि सीमित प्रशिक्षण डेटा वाली भाषाओं के लिए AI अनुवाद कम विश्वसनीय हो सकता है।
ChatGPT 4o का तापमान
जब मैंने पहली बार इस बहुभाषी अनुवाद दृष्टिकोण के साथ प्रयोग किया, तो परिणाम अच्छे थे, लेकिन सही नहीं थे। कुछ वाक्य गलत अनुवादित थे, अत्यधिक शाब्दिक थे, या कुछ भाषाओं में गलत तरीके से गुमराह करने वाले थे। मैं कुछ सांस्कृतिक संदर्भों में अनुपयुक्त या असंवेदनशील अभिव्यक्तियों को अनजाने में उत्पन्न करने के बारे में भी चिंतित था। और निश्चित रूप से, मैं नहीं चाहता था कि मेरे अनुवाद रोबोटिक या यांत्रिक लगें। अनुवाद गुणवत्ता के पीछे के मुख्य कारकों में से एक तापमान सेटिंग है — एक पैरामीटर जो नियंत्रित करता है कि AI कितना "रचनात्मक" या "सख्त" होना चाहिए। उच्च तापमान AI को अधिक कल्पनाशील बनाता है, लेकिन यह अधिक अप्रत्याशित भी बनाता है। एक निम्न तापमान इसे मूल अर्थ के करीब रखता है, लेकिन कभी-कभी यह कठोर महसूस कर सकता है। सही संतुलन खोजने के लिए बहुत सारे परीक्षण और त्रुटि की आवश्यकता थी: पर्याप्त सटीकता सुनिश्चित करने के लिए पर्याप्त कम, लेकिन इतना कम नहीं कि पाठ नीरस हो जाए। कई प्रयोगों के बाद, मुझे लगा कि तापमान = 0.8 इस ब्लॉग की ज़रूरतों के लिए सबसे अच्छा फिट है: अंग्रेजी मूल के प्रति वफादार रहने के लिए पर्याप्त सटीक, लेकिन अन्य भाषाओं में स्वाभाविक रूप से ध्वनि के लिए लचीला।
ChatGPT 5.x तापमान का समर्थन नहीं करता
नए मॉडल जैसे कि ChatGPT 5 और 5.1 अब तापमान सेटिंग्स का बिल्कुल भी समर्थन नहीं करते — इस पैरामीटर को हटा दिया गया है और इसे तर्क और प्रयास जैसे अवधारणाओं से बदल दिया गया है, जो मॉडल के सोचने के तरीके को प्रभावित करते हैं न कि यह कितना "रचनात्मक" बनता है। दूसरे शब्दों में, ChatGPT 4o ने मुझे एक भौतिक डायल दिया जिसे मैं अनुवाद शैली को समायोजित करने के लिए घुमा सकता था, लेकिन 5.x परिवार पूरी तरह से अलग दर्शन का पालन करता है। अगर आप नवीनतम मॉडल से आकस्मिक रूप से "इसका अनुवाद तापमान = 0.8 के साथ करें" कहते हैं, तो यह ऐसा व्यवहार करने की कोशिश कर सकता है जैसे कि ऐसा सेटिंग अभी भी मौजूद है, लेकिन आंतरिक रूप से पैरामीटर चला गया है। मॉडल बस इरादे का अनुमान लगाता है। जैसे-जैसे OpenAI अपने मॉडल को अपडेट करता रहता है, मैं शायद किसी दिन अपनी अनुवाद पाइपलाइन समायोजित करूं। फिलहाल, ChatGPT 4o मेरे लिए बहुभाषी अनुवादों के लिए पसंदीदा है — न केवल इसलिए कि यह कई भाषाओं में संदर्भ को अच्छी तरह से समझता है, बल्कि इसलिए भी कि इसकी API की कीमत मेरे जैसे अकेले डेवलपर के लिए उचित है। वास्तव में, 4o OpenAI के इतिहास में सबसे प्रिय मॉडलों में से एक के रूप में नीचे जा सकता है।
OpenAI API के वर्कर्स
OpenAI API की एक अद्भुत बात — सीधे ब्राउज़र में ChatGPT का उपयोग करने की तुलना में — यह है कि आप एक ही समय में एक से अधिक ChatGPT "वर्कर" का उपयोग कर सकते हैं। जब मैं 42 भाषाओं के लिए अनुवाद अनुरोध भेजता हूँ, तो मैं उन्हें एक धीमी लाइन में एक-एक करके नहीं भेज रहा हूँ। इसके बजाय, API कई अनुरोधों को एक साथ संसाधित कर सकता है, जैसे कि मैंने अचानक एक कमरे भर के अनुवादकों को काम पर रखा हो जो सभी एक साथ काम शुरू कर देते हैं। मेरा Python स्क्रिप्ट वर्कफ्लो को एक छोटे उत्पादन लाइन की तरह संभालता है: यह अंग्रेजी लेख तैयार करता है, अनुरोध भेजता है, प्रतिक्रियाओं की प्रतीक्षा करता है, और परिणामों को JSON फ़ाइल में संसाधित करता है। इस बीच, OpenAI सर्वर समानांतर में कई मॉडल इंस्टेंस चलाते हैं, प्रत्येक एक अलग भाषा का अनुवाद करता है। यह कुछ ऐसा है जो ChatGPT वेबसाइट या ऐप नहीं कर सकते — उन इंटरफेस में एक मॉडल, एक वार्तालाप, एक कार्य एक समय में मिलता है। लेकिन API के साथ, आप अपने कार्यभार को जितना चौड़ा कर सकते हैं उतना बढ़ा सकते हैं जितना आपका स्क्रिप्ट अनुमति देता है। मेरे जैसे अकेले डेवलपर के लिए, यह ऐसा महसूस होता है जैसे कि मेरे पास सबसे समझदार और अहंकार रहित सहायक की एक छोटी सी टीम है। यह आंशिक रूप से इंटरनेट की गति पर निर्भर करता है, लेकिन मैं आमतौर पर वर्कर्स = 12 सेट करता हूँ।
मैं अपने ब्लॉग को बहुभाषी बनाने के लिए क्या करता हूँ, बर्तन धोना है
जब मैं क्योटो यूनिवर्सिटी में गणित की पढ़ाई कर रहा था, तब मैं छात्र कैफेटेरिया में डिशवॉशर के रूप में काम करता था। जबकि भुगतान लगभग 5 USD प्रति घंटा था, मुझे हमेशा गहन बौद्धिक एकाग्रता के कुछ घंटों — या कभी-कभी कुछ दिनों — के बाद दोहराव वाले शारीरिक कार्य पसंद थे। बाद में, जब मैं होक्काइडो के एक लहसुन फैक्ट्री में काम करता था, तो मेरा काम था हजारों सफेद लहसुन के बल्ब को चमकाना ताकि वे कन्वेयर बेल्ट पर चमकीले दिखें। आठ घंटे एक दिन — पूरी एकाग्रता, स्थिर लय। यह अजीब तरह से संतोषजनक था। अब, उन यादों से लौटकर, मैं वर्तमान में बौद्धिक कार्य कर रहा हूँ — सॉफ़्टवेयर लिखना, सिस्टम डिज़ाइन करना, ये लेख तैयार करना। लेकिन संतुलन नहीं बदला। यदि आप मुझसे पूछें कि मैं अकेले 42 भाषाओं में ब्लॉग लेख कैसे प्रकाशित करता हूँ, तो ईमानदार उत्तर है: मैं बर्तन धो कर करता हूँ।