Kotlin एप्लिकेशन में ChatGPT को एकीकृत करना क्यों उचित है?
\n\nकल्पना करें: आप Kotlin में एक एप्लिकेशन लिख रहे हैं, और अचानक आपको पता चलता है कि इसमें "दिमाग" की कमी है। उपयोगकर्ता एक प्रश्न पूछता है, और प्रोग्राम अटक जाता है। परिचित लगता है? Kotlin पर ChatGPT API का एकीकरण एक सामान्य एप्लिकेशन को एक स्मार्ट सहायक में बदल देता है। यह कोई फैशनेबल ट्रेंड नहीं है, बल्कि एक काम करने वाला उपकरण है: चैटबॉट, कंटेंट जनरेटर, अनुवादक, कोड सहायक - ये सब आप खुद बना सकते हैं।
\n\nइस लेख में हम बेकार की बातें नहीं करेंगे। मैं दिखाऊंगा कि कैसे आप आधुनिक Kotlin टूल्स: Retrofit, OkHttp, Coroutines और Gson का उपयोग करके सचमुच 15 मिनट में अपने प्रोजेक्ट में ChatGPT को कनेक्ट कर सकते हैं। भले ही आप नौसिखिया हों, बस चरणों का पालन करें - कोड काम करने वाला और परीक्षित है।
\n\nहमें क्या चाहिए? उपकरण और तैयारी
\n\nOpenAI API Kotlin के साथ काम करने के लिए हमें न्यूनतम सेट की आवश्यकता है। ये चीजें तैयार रखें:
\n\n- \n
- OpenAI API-कुंजी - platform.openai.com पर पंजीकरण करें, API keys अनुभाग में एक कुंजी बनाएं। इसे गुप्त रखें! \n
- डेवलपमेंट एनवायरनमेंट - IntelliJ IDEA (Community पर्याप्त है) या Android Studio, यदि आप मोबाइल के लिए लिख रहे हैं। \n
- Gradle या Maven - निर्भरताएँ जोड़ने के लिए। \n
हम HTTP-क्लाइंट के रूप में Retrofit Kotlin और JSON के साथ काम करने के लिए Gson Kotlin का उपयोग करेंगे। ये क्यों? Retrofit साफ, घोषणात्मक कोड देता है, और Gson बिना किसी अतिरिक्त प्रयास के API प्रतिक्रियाओं को data-क्लास में बदल सकता है।
\n\nचरण 1. प्रोजेक्ट बनाएँ और निर्भरताएँ जोड़ें
\n\nएक नया Gradle प्रोजेक्ट (Kotlin/JVM) बनाएँ। फ़ाइल build.gradle.kts में यह जोड़ें:
dependencies {\n implementation("com.squareup.retrofit2:retrofit:2.9.0")\n implementation("com.squareup.retrofit2:converter-gson:2.9.0")\n implementation("com.squareup.okhttp3:okhttp:4.12.0")\n implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")\n implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")\n implementation("com.google.code.gson:gson:2.10.1")\n}\n\nमहत्वपूर्ण: logging-interceptor अनिवार्य नहीं है, लेकिन यह डिबगिंग में आपकी मदद करेगा - आप देखेंगे कि वास्तव में सर्वर पर क्या भेजा जा रहा है और वापस क्या आ रहा है। यदि आप Android के लिए लिख रहे हैं, तो implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0") भी जोड़ें।
चरण 2. डेटा मॉडल: ChatGPT आपके अनुरोध को कैसे "देखता" है
\n\nOpenAI API सख्त JSON स्वीकार करता है और भेजता है। मैन्युअल पार्सिंग से बचने के लिए, हम data-क्लास बनाएंगे। यह किसी भी Kotlin ChatGPT कोड उदाहरण का आधार है।
\n\n// ChatGPT को अनुरोध का मॉडल\ndata class ChatRequest(\n val model: String = "gpt-4o-mini", // सबसे सस्ता और तेज़ मॉडल\n val messages: List<Message>,\n val temperature: Double = 0.7\n)\n\ndata class Message(\n val role: String, // "user", "assistant", "system"\n val content: String\n)\n\n// ChatGPT से प्रतिक्रिया का मॉडल\ndata class ChatResponse(\n val choices: List<Choice>?\n)\n\ndata class Choice(\n val message: Message?,\n val finish_reason: String?\n)\n\nध्यान दें: हम model को gpt-4o-mini सेट कर रहे हैं - यह OpenAI का एक आधुनिक मॉडल है जो बहुत सस्ता है लेकिन अच्छे परिणाम देता है। परीक्षण के लिए यह आदर्श है।
चरण 3. Retrofit: OpenAI के साथ संवाद के लिए क्लाइंट सेट करें
\n\nअब हम एक इंटरफ़ेस बनाते हैं जो हमारे एकमात्र endpoint का वर्णन करेगा। यह Retrofit Kotlin का क्लासिक दृष्टिकोण है।
\n\ninterface OpenAiApi {\n @POST("v1/chat/completions")\n @Headers("Content-Type: application/json")\n suspend fun chatCompletion(\n @Header("Authorization") auth: String,\n @Body request: ChatRequest\n ): ChatResponse\n}\n\nमुख्य बिंदु: suspend