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. VS Code में, File > Open folder > codelabs-main > haiku_generator > step0 > lib > main.dart पर क्लिक करें.
  2. अगर आपको VS Code में एक ऐसा डायलॉग दिखता है जिसमें आपको स्टार्टर ऐप्लिकेशन के लिए ज़रूरी पैकेज डाउनलोड करने के लिए कहा गया है, तो पैकेज पाएं पर क्लिक करें.

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

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

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

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

iOS पर तैयार किया गया ऐप्लिकेशन Android पर तैयार किया गया ऐप्लिकेशन

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

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

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

  1. VS Code में, टारगेट डिवाइस को 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. VS Code में, टारगेट डिवाइस को macOS (darwin) पर सेट करें .
  2. a19a0c68bc4046e6.png डीबग करना शुरू करें पर क्लिक करें. इसके बाद, ऐप्लिकेशन के लोड होने का इंतज़ार करें.
  3. ड्रॉप-डाउन मेन्यू से कोई प्रॉडक्ट चुनें. इसके बाद, हाइकू जनरेट करें! को चुनें.

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

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

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

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

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

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

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

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

वेब पर ऐप्लिकेशन का पूरा वर्शन

9. बधाई हो

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

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