अपनी पिछली पोस्ट में, मैंने एक ओपन-सोर्स जेनएआई-आधारित टर्मिनल एप्लिकेशन शुरू करने के बारे में बात की थी। इस सप्ताह, कार्य किसी अन्य उपयोगकर्ता के प्रोजेक्ट में एक नई सुविधा का योगदान करना था। चूँकि हमें किसी नए व्यक्ति के साथ सहयोग करना था, इसलिए मैंने लिली के साथ मिलकर काम किया, जिसने मेरे जैसे कोड सुधार सुविधाओं के साथ एक ऐप विकसित किया - सिवाय इसके कि उसका व्यक्तित्व चूहे जैसा है!
जब आपके पास कुछ समय हो तो बेझिझक उसके प्रोजेक्ट रैट-असिस्टेंट को देखें।
उसका कोड टाइपस्क्रिप्ट में लिखा गया है, और ईमानदारी से कहूं तो मुझे इसका उतना अनुभव नहीं है। मैं गलती से कुछ तोड़े बिना नई सुविधाएँ जोड़ने को लेकर थोड़ा चिंतित था। यह मज़ेदार है—जावा या सी जैसी अन्य ओओपी भाषाओं की तुलना में टाइपस्क्रिप्ट मुझे बहुत कठिन लगता है। लेकिन मुझे लगा कि यह सीखने का एक अच्छा अवसर है, इसलिए मैंने इसमें उतरने का फैसला किया।
हमारा लक्ष्य प्रतिक्रिया और संकेत दोनों के लिए टोकन उपयोग प्रदर्शित करने के लिए एक नया विकल्प (-टी) जोड़ना था। इसलिए, मैंने फीचर की रूपरेखा तैयार करने के लिए उसके रेपो पर एक अंक खोलकर शुरुआत की, फिर प्रोजेक्ट को स्थानीय स्तर पर काम करने के लिए छोड़ दिया।
ऐप अपनी एलएलएम सुविधाओं के लिए GROQ एपीआई का उपयोग कर रहा था, और सौभाग्य से, एपीआई प्रतिक्रिया में "उपयोग" फ़ील्ड के माध्यम से टोकन उपयोग की जानकारी तक पहुंचने का एक आसान तरीका था:
चूंकि ऐप कमांड-लाइन तर्कों के लिए यार्ग्स का उपयोग करता था, इसलिए दूसरा विकल्प जोड़ना काफी सरल था। मैंने इसे इसलिए बनाया ताकि, यदि उपयोगकर्ता -t या --टोकन-उपयोग निर्दिष्ट करता है, तो ऐप एआई प्रतिक्रिया के साथ आउटपुट के अंत में टोकन जानकारी प्रदर्शित करेगा। मैंने इसका कुछ बार परीक्षण किया और सुनिश्चित किया कि यह मौजूदा सुविधाओं को न तोड़े। जब इसकी पुष्टि हो गई, तो कोड को मेरे फोर्क पर भेज दिया गया, और मैंने पुल अनुरोध किया।
मुझे पुल अनुरोध किए हुए कुछ समय हो गया था, इसलिए मैंने तुरंत गूगल पर कमांडों को खोजा और पाया कि वीएस कोड के माध्यम से इसे करने का एक आसान तरीका है (सच में, मैं इसके बिना कहां होता?)।
मैंने नई सुविधा का संक्षिप्त विवरण जोड़ा और पुल अनुरोध सबमिट किया:
तभी मैंने कुछ घंटे पहले अपने रेपो पर लिली के पुल अनुरोध की अधिसूचना देखी। मैंने तुरंत कोड की जाँच की, स्थानीय स्तर पर इसका परीक्षण किया और यह बढ़िया काम कर गया! मैंने यह देखने के लिए परीक्षण किया कि क्या अन्य विकल्पों के साथ कोई समस्या है और कोई समस्या नहीं थी। मैं जेमिनी एपीआई का उपयोग कर रहा था, इसलिए यह आमतौर पर दूसरों द्वारा उपयोग किए जाने वाले ओपन एआई चैट कंप्लीशन एपीआई से अलग था, लेकिन वह फिर भी इसे काम करने में कामयाब रही।
मुझे सुझाव देने के लिए कोई समस्या या सुधार नहीं मिला, इसलिए मैंने उसके पुल अनुरोध को स्वीकार कर लिया और इसे मुख्य शाखा में विलय कर दिया। किसी को आपके कोड में योगदान देना बहुत मज़ेदार (और घबराहट पैदा करने वाला) था क्योंकि आप नहीं जानते कि क्या अपेक्षा करें और क्या आपके रूनिक कोड के कारण उन्हें कोई समस्या होगी।
लेकिन अंत में सब कुछ सुचारू रूप से चला गया, और इससे मुझे सराहना मिली कि कैसे बड़े ओपन-सोर्स प्रोजेक्ट पुल अनुरोधों के माध्यम से अतुल्यकालिक रूप से सहयोग और सुधार करते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3