PaLM API और Flutter की मदद से, Google के प्रॉडक्ट के बारे में हाइकुस बनाएं

1. शुरू करने से पहले

जनरेटिव एआई, मशीन लर्निंग (एमएल) की सबसे बेहतरीन उपलब्धियों में से एक है. यह आसान टेक्स्ट या प्रॉम्प्ट पर आधारित शानदार इमेज, टेक्स्ट, ऑडियो, और वीडियो भी बना सकता है. खास तौर पर, PaLM API की रिलीज़ के बाद, Google ने डेवलपर को ऐसी कैटगरी बनाने में मदद की है जो उपयोगकर्ता को पसंद आने वाले ऐप्लिकेशन की कैटगरी बनाते हैं. इन ऐप्लिकेशन को PaLM टेक्नोलॉजी की मदद से बनाया गया है.

इस कोडलैब में, एक ऐसा ऐप्लिकेशन बनाया जाता है जो Google के प्रॉडक्ट के नाम के आधार पर हाइकु जनरेट करने के लिए, PaLM API का इस्तेमाल करता है. ऐसा क्रॉस-प्लैटफ़ॉर्म ऐप्लिकेशन बनाने के लिए, Flutter का इस्तेमाल भी किया जा सकता है जो हाइकु को दिखाता है.

ज़रूरी शर्तें

  • लार्ज लैंग्वेज मॉडल (एलएलएम) की बुनियादी जानकारी. जैसे, प्रॉम्प्ट
  • Dart के साथ Flutter के विकास की बुनियादी जानकारी

आप इन चीज़ों के बारे में जानेंगे

  • Google का PaLM API इस्तेमाल करने का तरीका.
  • नतीजे दिखाने के लिए, क्रॉस-प्लैटफ़ॉर्म Flutter ऐप्लिकेशन बनाने का तरीका.

आपको इनकी ज़रूरत होगी

2. सेट अप करें

स्टार्टर कोड डाउनलोड करें

  1. GitHub डेटा स्टोर करने की इस जगह पर जाएं.
  2. कोड > पर क्लिक करें इस कोडलैब के लिए सभी कोड डाउनलोड करने के लिए, पिन कोड डाउनलोड करें.
  3. codelabs-main रूट फ़ोल्डर को अनपैक करने के लिए, डाउनलोड की गई ZIP फ़ाइल को अनज़िप करें. आपको सिर्फ़ haiku-generator सबडायरेक्ट्री की ज़रूरत होगी, जिसमें ये फ़ोल्डर शामिल हैं:
  • step0 से step3 फ़ोल्डर, जिनमें वह स्टार्टर कोड होता है जिसे कोडलैब के इस सेक्शन में हर चरण के लिए बनाया जाता है.
  • finished फ़ोल्डर, जिसमें तैयार किए गए सैंपल ऐप्लिकेशन का पूरा कोड होता है.

प्रोजेक्ट डिपेंडेंसी डाउनलोड करें

  1. बनाम कोड में, फ़ाइल > फ़ोल्डर खोलें > कोडलैब-मुख्य > haiku_generator > चरण0 > लिब > first.dart.
  2. अगर आपको 'VS कोड' डायलॉग दिखता है, जिसमें आपसे स्टार्टर ऐप्लिकेशन के लिए ज़रूरी पैकेज डाउनलोड करने के लिए कहा जाता है, तो पैकेज पाएं पर क्लिक करें.

बनाम कोड का डायलॉग बॉक्स, जो आपको स्टार्टर ऐप्लिकेशन के लिए ज़रूरी पैकेज डाउनलोड करने के लिए कहता है.

  1. अगर आपको 'VS कोड' डायलॉग नहीं दिखता है, जो आपको स्टार्टर ऐप्लिकेशन के लिए ज़रूरी पैकेज डाउनलोड करने के लिए कहता है, तो टर्मिनल खोलें. इसके बाद, step0 फ़ोल्डर पर जाएं और flutter pub get कमांड चलाएं.

स्टार्टर ऐप्लिकेशन चलाएं

  1. बनाम कोड में, पक्का करें कि Android Emulator या iOS Simulator सही तरीके से सेट अप किया गया है और वह स्टेटस बार में दिखता है.

उदाहरण के लिए, Android Emulator के साथ Pixel 5 का इस्तेमाल करने पर आपको यह दिखता है:

स्टेटस बार की मदद से, Pixel 5 को डिवाइस के तौर पर चुना गया

iOS सिम्युलेटर के साथ iPhone 13 का इस्तेमाल करने पर आपको यह दिखता है:

iPhone 13 वाले स्टेटस बार को डिवाइस के तौर पर चुना गया

  1. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें. ऐप्लिकेशन आपके Android Emulator या iOS Simulator पर लॉन्च होता है.

स्टार्टर ऐप्लिकेशन के बारे में जानें

स्टार्टर ऐप्लिकेशन में, इन बातों पर ध्यान दें:

  • इसका यूज़र इंटरफ़ेस (यूआई) काफ़ी आसान है.
  • यहां एक ड्रॉप-डाउन मेन्यू होता है, जिसकी मदद से उपयोगकर्ता कोई खास Google प्रॉडक्ट चुन सकते हैं.
  • जब उपयोगकर्ता हाइकू जनरेट करें! बटन को चुनते हैं, तब Flutter ऐप्लिकेशन PaLM API के एंडपॉइंट पर बिल्ट-इन प्रॉम्प्ट भेजता है. इससे हाइकु जनरेट होते हैं.
  • जवाब मिलने के बाद, ऐप्लिकेशन, जनरेट किए गए हाइकु को टेक्स्ट विजेट में दिखाता है. हालांकि, अगर आपने हाइकू जनरेट करें! विकल्प चुना है, तो कुछ नहीं होगा, क्योंकि ऐप्लिकेशन फ़िलहाल PaLM API के साथ डेटा शेयर नहीं कर सकता.

iOS पर स्टार्टर ऐप्लिकेशन Android पर स्टार्टर ऐप्लिकेशन

3. PaLM API का ऐक्सेस सेट अप करना

PaLM API का इस्तेमाल करने के लिए, आपके पास एपीआई पासकोड होना ज़रूरी है. कोडलैब के इस वर्शन को पब्लिश करते समय, PaLM API की निजी झलक देखी जा सकती है.

  • PaLM API में अपना ऐक्सेस सेट अप करने के लिए, दस्तावेज़ पढ़ें. इसके बाद, एपीआई पासकोड बनाएं. इसके बाद, कोडलैब में बाद में इस्तेमाल किए जाने वाले पासकोड को नोट करें.

4. Google प्रॉडक्ट का मेन्यू जोड़ें

आपका लक्ष्य Google प्रॉडक्ट के लिए हाइकु जनरेट करना है. रनटाइम के दौरान, ऐप्लिकेशन का उपयोगकर्ता प्रॉडक्ट के नामों की पहले से भरी गई सूची में से किसी प्रॉडक्ट को डाइनैमिक तौर पर चुन सकता है.

ऐप्लिकेशन में Google प्रॉडक्ट की सूची जोड़ने के लिए, यह तरीका अपनाएं:

  1. बनाम कोड में step1/lib/data/repositories/product_repository_impl.dart फ़ाइल पर जाएं.
  2. getAllProducts() फ़ंक्शन के मुख्य हिस्से में, यह वैरिएबल जोड़ें जो Google प्रॉडक्ट के नामों के कलेक्शन को स्टोर करता है:

product_repository_impl .dart

var productData = [
  {'productName': 'Google Search'},
  {'productName': 'YouTube'},
  {'productName': 'Android'},
  {'productName': 'Google Maps'},
  {'productName': 'Gmail'}
];

5. PaLM API को अनुरोध भेजें और जवाब को डिकोड करें

उपयोगकर्ता ने प्रॉडक्ट के लिए जो नाम चुना है उसे इस प्रॉम्प्ट टेंप्लेट के साथ जोड़ दिया गया है:

Context: You are an awesome haiku writer. 
Message content: Write a cool haiku about {product name}.

हाइकू जनरेट करने के लिए, इस अनुरोध को PaLM API एंडपॉइंट पर भेजने के लिए, यह तरीका अपनाएं:

  1. बनाम कोड में step2/lib/data/repositories/poem_repository_impl.dart फ़ाइल पर जाएं.
  2. getPoems() फ़ंक्शन के मुख्य भाग में, यह कोड जोड़ें:

poem_repository_impl.dart

// TODO: Replace YOUR_API_KEY with your API key.
var apiKey = 'YOUR_API_KEY';
const haikuCount = 5;

final url = Uri.parse(
   'https://generativelanguage.googleapis.com/v1beta2/models/chat-bison-001:generateMessage?key=$apiKey');
final headers = {'Content-Type': 'application/json'};
final body = jsonEncode({
 "prompt": {
   "context": "You are an awesome haiku writer.",
   "examples": [
     {
       "input": {"content": "Write a haiku about Google Photos."},
       "output": {
         "content":
             "Google Photos, my friend\nA journey of a lifetime\nCaptured in pixels"
       }
     }
   ],
   "messages": [
     {"content": "Write a cool haiku for $productName"}
   ]
 },
 "candidate_count": haikuCount,
 "temperature": 1,
});

try {
 final response = await http.post(url, headers: headers, body: body);
 if (response.statusCode == 200) {
   final decodedResponse = json.decode(response.body);
   String haikus = 'Here are $haikuCount haikus about $productName:\n\n';
   for (var i = 0; i < haikuCount; i++) {
     haikus += '${i + 1}.\n';
     haikus += decodedResponse['candidates'][i]['content'] + '\n\n';
   }
   return haikus;
 } else {
   return 'Request failed with status: ${response.statusCode}.\n\n${response.body}';
 }
} catch (error) {
 throw Exception('Error sending POST request: $error');
}

YOUR_API_KEY स्ट्रिंग को एपीआई पासकोड से बदलें.

जवाब मिलने और उसे डिकोड करने के बाद, यूज़र इंटरफ़ेस (यूआई) में मौजूद टेक्स्ट विजेट, जनरेट किए गए हाइकु को रेंडर करता है.

6. ऐप्लिकेशन को मोबाइल प्लैटफ़ॉर्म पर चलाएं

  1. बनाम कोड में, टारगेट डिवाइस को किसी Android या iOS डिवाइस पर सेट करें.
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें, और फिर ऐप्लिकेशन के लोड होने तक इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू में से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! चुनें. ऐप्लिकेशन में, चुने गए प्रॉडक्ट के बारे में एक हाइकू दिखाया जाता है.

iOS पर इस्तेमाल किया जा चुका ऐप्लिकेशन Android पर इस्तेमाल किया जा चुका ऐप्लिकेशन

7. ऐप्लिकेशन को डेस्कटॉप प्लैटफ़ॉर्म पर चलाएं

Flutter, Android और iOS के अलावा डेस्कटॉप प्लैटफ़ॉर्म पर भी काम करता है. इनमें Linux, macOS, और Windows शामिल हैं.

Linux पर ऐप्लिकेशन चलाएं

  1. वीएस कोड में, टारगेट डिवाइस को Linux (Linux-x64) पर सेट करें.
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें, और फिर ऐप्लिकेशन के लोड होने तक इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! चुनें.

Linux पर तैयार ऐप्लिकेशन

macOS पर ऐप्लिकेशन चलाएं

macOS के लिए, आपको सही एनटाइटलमेंट सेट अप करने होंगे, क्योंकि ऐप्लिकेशन बैकएंड को एचटीटीपी अनुरोध भेजता है. ज़्यादा जानकारी के लिए, एनटाइटलमेंट और ऐप्लिकेशन सैंडबॉक्स देखें.

macOS पर ऐप्लिकेशन चलाने के लिए, यह तरीका अपनाएं:

  1. step3/macos/Runner/DebugProfile.entitlements और step3/macos/Runner/Release.entitlements फ़ाइलों में, यह कोड जोड़ें:

DebugProfile.entitlements | Release.entitlements

<key>com.apple.security.network.client</key>
<true/>
  1. बनाम कोड में, टारगेट डिवाइस को macOS (डारविन) पर सेट करें .
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें, और फिर ऐप्लिकेशन के लोड होने तक इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! चुनें.

macOS पर ऐप्लिकेशन तैयार हो गया है

Windows पर ऐप्लिकेशन चलाएं

  1. VS कोड में, टारगेट डिवाइस को Windows (Windows-x64) पर सेट करें.
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें. इसके बाद, ऐप्लिकेशन के लोड होने का इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! चुनें.

Windows पर इस्तेमाल किया जा चुका ऐप्लिकेशन

8. ऐप्लिकेशन को वेब प्लैटफ़ॉर्म पर चलाएं

Flutter ऐप्लिकेशन में वेब सहायता भी जोड़ी जा सकती है. डिफ़ॉल्ट रूप से, वेब प्लैटफ़ॉर्म Flutter ऐप्लिकेशन के लिए अपने-आप चालू रहता है. इसलिए, आपको बस इसे लॉन्च करना होता है.

ऐप्लिकेशन को वेब प्लैटफ़ॉर्म पर चलाने के लिए, यह तरीका अपनाएं:

  1. वीएस कोड में, टारगेट डिवाइस को Chrome (वेब-JavaScript) पर सेट करें.
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें, और फिर Google Chrome में ऐप्लिकेशन के लोड होने की इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! चुनें.

वेब पर इस्तेमाल किया जा चुका ऐप्लिकेशन

9. बधाई हो

आपने फ़ुल स्टैक ऐप्लिकेशन बनाया है. यह Google के प्रॉडक्ट के बारे में हाइकु जनरेट करता है! यह ऐप्लिकेशन, Google के चुनिंदा प्रॉडक्ट के लिए ही हाइकु जनरेट करता है. हालांकि, आपके पास प्रॉम्प्ट को आसानी से बदलने और अपनी पसंद का टेक्स्ट जनरेट करने का विकल्प होता है. अब आपको PaLM API इस्तेमाल करने का तरीका पता है. इसके बाद, एलएलएम की शानदार सुविधाओं की मदद से, शानदार ऐप्लिकेशन बनाए जा सकते हैं!

ज़्यादा जानें