PaLM API এবং Flutter দিয়ে Google পণ্য সম্পর্কে হাইকুস তৈরি করুন

১. শুরু করার আগে

মেশিন লার্নিং (এমএল)-এর অন্যতম উত্তেজনাপূর্ণ অগ্রগতি হলো জেনারেটিভ এআই, যা ব্যবহারকারীদের দেওয়া সাধারণ টেক্সট বা নির্দেশনার উপর ভিত্তি করে চমৎকার ছবি, টেক্সট, অডিও এবং এমনকি ভিডিও তৈরি করতে পারে। বিশেষত PaLM API প্রকাশের মাধ্যমে, গুগল ডেভেলপারদেরকে PaLM প্রযুক্তি দিয়ে নতুনভাবে কল্পনা করা আনন্দদায়ক ইউজার এক্সপেরিয়েন্সসহ বিভিন্ন ধরনের অ্যাপ তৈরি করার ক্ষমতা দিয়েছে।

এই কোডল্যাবে, আপনি এমন একটি অ্যাপ তৈরি করবেন যা PaLM API ব্যবহার করে গুগল পণ্যের নামের উপর ভিত্তি করে হাইকু তৈরি করে। এছাড়াও, আপনি ফ্লাটার ব্যবহার করে একটি ক্রস-প্ল্যাটফর্ম অ্যাপ তৈরি করবেন যা হাইকুগুলো প্রদর্শন করে।

পূর্বশর্ত

  • বৃহৎ ভাষা মডেল (এলএলএম) সম্পর্কে প্রাথমিক জ্ঞান, যেমন প্রম্পটিং
  • ডার্ট সহ ফ্লাটার ডেভেলপমেন্টের প্রাথমিক জ্ঞান

আপনি যা শিখবেন

  • গুগলের PaLM API কীভাবে ব্যবহার করবেন
  • ফলাফল প্রদর্শনের জন্য কীভাবে একটি ক্রস-প্ল্যাটফর্ম ফ্লাটার অ্যাপ তৈরি করবেন।

তোমার যা লাগবে

২. প্রস্তুত হন

স্টার্টার কোড ডাউনলোড করুন

  1. এই গিটহাব রিপোজিটরিটিতে যান।
  2. এই কোডল্যাবের সমস্ত কোড ডাউনলোড করতে কোড > জিপ ডাউনলোড-এ ক্লিক করুন।
  3. ডাউনলোড করা জিপ ফাইলটি আনজিপ করে ` codelabs-main রুট ফোল্ডারটি খুলুন। আপনার শুধু haiku-generator সাবডিরেক্টরিটি প্রয়োজন, যার মধ্যে নিম্নলিখিত ফোল্ডারগুলো রয়েছে:
  • step0 থেকে step3 ফোল্ডারগুলোতে সেই প্রারম্ভিক কোড রয়েছে, যার উপর ভিত্তি করে আপনি এই কোডল্যাবের প্রতিটি ধাপ তৈরি করবেন।
  • finished ফোল্ডার, যেখানে সম্পূর্ণ স্যাম্পল অ্যাপটির সম্পূর্ণ কোড রয়েছে।

প্রকল্পের নির্ভরতাগুলি ডাউনলোড করুন

  1. VS Code-এ, File > Open folder > codelabs-main > haiku_generator > step0 > lib > main.dart -এ ক্লিক করুন।
  2. যদি আপনি ভিএস কোডের এমন কোনো ডায়ালগ বক্স দেখতে পান যা আপনাকে স্টার্টার অ্যাপের জন্য প্রয়োজনীয় প্যাকেজগুলো ডাউনলোড করতে বলে, তাহলে ‘Get packages’-এ ক্লিক করুন।

ভিএস কোডের সেই ডায়ালগ বক্সটি, যা আপনাকে স্টার্টার অ্যাপের জন্য প্রয়োজনীয় প্যাকেজগুলো ডাউনলোড করতে অনুরোধ করে।

  1. যদি আপনি স্টার্টার অ্যাপের জন্য প্রয়োজনীয় প্যাকেজগুলো ডাউনলোড করার অনুরোধ জানিয়ে কোনো ভিএস কোড ডায়ালগ বক্স দেখতে না পান, তাহলে আপনার টার্মিনাল খুলুন এবং step0 ফোল্ডারে গিয়ে flutter pub get কমান্ডটি চালান।

স্টার্টার অ্যাপটি চালান

  1. ভিএস কোডে নিশ্চিত করুন যে অ্যান্ড্রয়েড এমুলেটর বা আইওএস সিমুলেটরটি সঠিকভাবে সেট আপ করা আছে এবং স্ট্যাটাস বারে দেখা যাচ্ছে।

উদাহরণস্বরূপ, অ্যান্ড্রয়েড এমুলেটরের সাথে পিক্সেল ৫ ব্যবহার করলে আপনি যা দেখতে পান তা এখানে দেওয়া হলো:

স্ট্যাটাস বারে ডিভাইস হিসেবে পিক্সেল ৫ নির্বাচিত রয়েছে।

আইওএস সিমুলেটরের সাথে আইফোন ১৩ ব্যবহার করলে আপনি যা দেখতে পাবেন তা এখানে দেওয়া হলো:

স্ট্যাটাস বারে ডিভাইস হিসেবে আইফোন ১৩ নির্বাচিত রয়েছে।

  1. ক্লিক করুন a19a0c68bc4046e6.png ডিবাগিং শুরু করুন । অ্যাপটি আপনার অ্যান্ড্রয়েড এমুলেটর বা আইওএস সিমুলেটরে চালু হবে।

স্টার্টার অ্যাপটি অন্বেষণ করুন

স্টার্টার অ্যাপে নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

  • ইউজার ইন্টারফেসটি বেশ সহজবোধ্য।
  • একটি ড্রপ-ডাউন মেনু আছে, যা ব্যবহারকারীদের একটি নির্দিষ্ট গুগল পণ্য বেছে নিতে দেয়।
  • ব্যবহারকারীরা ‘Generate haiku!’ বাটনটি নির্বাচন করার পর, ফ্লাটার অ্যাপটি বিল্ট-ইন প্রম্পটটি PaLM API এন্ডপয়েন্টে পাঠায়, যা হাইকু তৈরি করে।
  • অ্যাপটি প্রতিক্রিয়া পাওয়ার পর টেক্সট উইজেটে তৈরি করা হাইকুগুলো প্রদর্শন করে। তবে, আপনি যদি 'Generate haiku!' নির্বাচন করেন, তাহলে কিছুই ঘটে না, কারণ অ্যাপটি তখনও PaLM API-এর সাথে যোগাযোগ করতে পারে না।

iOS-এর স্টার্টার অ্যাপঅ্যান্ড্রয়েডের স্টার্টার অ্যাপ

৩. PaLM API-তে অ্যাক্সেস সেট আপ করুন।

PaLM API ব্যবহার করার জন্য আপনার একটি API কী প্রয়োজন। এই কোডল্যাবটি প্রকাশের সময়, PaLM API এখনও প্রাইভেট প্রিভিউ পর্যায়ে রয়েছে।

  • PaLM API-তে আপনার অ্যাক্সেস সেট আপ করতে, ডকুমেন্টেশন অনুসরণ করে একটি API কী তৈরি করুন এবং পরবর্তীতে এই কোডল্যাবে ব্যবহারের জন্য কী-টি নোট করে রাখুন।

৪. গুগল পণ্যের একটি মেনু যোগ করুন

আপনার লক্ষ্য হলো গুগল প্রোডাক্টগুলোর জন্য হাইকু তৈরি করা। অ্যাপ চলার সময়, ব্যবহারকারী আগে থেকে পূরণ করা প্রোডাক্টের নামের তালিকা থেকে স্বয়ংক্রিয়ভাবে একটি প্রোডাক্ট বেছে নিতে পারবেন।

অ্যাপে গুগল পণ্যের তালিকা যোগ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. VS Code-এ, step1/lib/data/repositories/product_repository_impl.dart ফাইলটিতে যান।
  2. getAllProducts() ফাংশনের বডিতে, নিম্নলিখিত ভেরিয়েবলটি যোগ করুন যা গুগল পণ্যের নামগুলির একটি অ্যারে সংরক্ষণ করবে:

product_repository_impl .dart

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

৫. 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 স্ট্রিংটি আপনার আগের API কী দিয়ে প্রতিস্থাপন করুন।

প্রতিক্রিয়াটি সফলভাবে গ্রহণ ও ডিকোড করার পর, UI-এর টেক্সট উইজেটটিতে তৈরি হওয়া হাইকুগুলো প্রদর্শিত হয়।

৬. মোবাইল প্ল্যাটফর্মে অ্যাপটি চালান

  1. VS Code-এ টার্গেট ডিভাইসটি একটি Android বা iOS ডিভাইস হিসেবে সেট করুন।
  2. ক্লিক করুন a19a0c68bc4046e6.png ডিবাগিং শুরু করুন এবং তারপর অ্যাপটি লোড হওয়ার জন্য অপেক্ষা করুন।
  3. ড্রপ-ডাউন মেনু থেকে একটি পণ্য নির্বাচন করুন, এবং তারপর ‘Generate haiku!’ নির্বাচন করুন। অ্যাপটি নির্বাচিত পণ্যটি সম্পর্কে একটি হাইকু প্রদর্শন করবে।

iOS-এ তৈরি অ্যাপটিঅ্যান্ড্রয়েডে তৈরি অ্যাপটি

৭. ডেস্কটপ প্ল্যাটফর্মে অ্যাপটি চালান

অ্যান্ড্রয়েড এবং আইওএস ছাড়াও ফ্লাটার লিনাক্স, ম্যাকওএস এবং উইন্ডোজ সহ বিভিন্ন ডেস্কটপ প্ল্যাটফর্মকেও সমর্থন করে।

লিনাক্সে অ্যাপটি চালান

  1. VS Code-এ টার্গেট ডিভাইসটি Linux (linux-x64) হিসেবে সেট করুন।
  2. ক্লিক করুন a19a0c68bc4046e6.png ডিবাগিং শুরু করুন এবং তারপর অ্যাপটি লোড হওয়ার জন্য অপেক্ষা করুন।
  3. ড্রপ-ডাউন মেনু থেকে একটি পণ্য বেছে নিন, এবং তারপর 'Generate haiku!' নির্বাচন করুন।

লিনাক্সে তৈরি অ্যাপটি

macOS-এ অ্যাপটি চালান

macOS-এর জন্য আপনাকে যথাযথ এনটাইটেলমেন্ট সেট আপ করতে হবে, কারণ অ্যাপটি ব্যাকএন্ডে HTTP রিকোয়েস্ট পাঠায়। আরও তথ্যের জন্য, এনটাইটেলমেন্ট এবং অ্যাপ স্যান্ডবক্স দেখুন।

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. ড্রপ-ডাউন মেনু থেকে একটি পণ্য বেছে নিন, এবং তারপর 'Generate haiku!' নির্বাচন করুন।

macOS-এ তৈরি অ্যাপটি

উইন্ডোজে অ্যাপটি চালান

  1. VS Code-এ টার্গেট ডিভাইসটি Windows (windows-x64) হিসেবে সেট করুন।
  2. ক্লিক করুন a19a0c68bc4046e6.png ডিবাগিং শুরু করুন এবং তারপর অ্যাপটি লোড হওয়ার জন্য অপেক্ষা করুন।
  3. ড্রপ-ডাউন মেনু থেকে একটি পণ্য বেছে নিন, এবং তারপর 'Generate haiku!' নির্বাচন করুন।

উইন্ডোজে তৈরি অ্যাপটি

৮. ওয়েব প্ল্যাটফর্মে অ্যাপটি চালান

আপনি ফ্লাটার অ্যাপে ওয়েব সাপোর্টও যোগ করতে পারেন। ডিফল্টরূপে, ফ্লাটার অ্যাপগুলোর জন্য ওয়েব প্ল্যাটফর্ম স্বয়ংক্রিয়ভাবে সক্রিয় থাকে, তাই আপনাকে শুধু এটি চালু করতে হবে।

ওয়েব প্ল্যাটফর্মে অ্যাপটি চালানোর জন্য, এই ধাপগুলো অনুসরণ করুন:

  1. ভিএস কোডে, টার্গেট ডিভাইসটি ক্রোম (ওয়েব-জাভাস্ক্রিপ্ট) হিসেবে সেট করুন।
  2. ক্লিক করুন a19a0c68bc4046e6.png ডিবাগিং শুরু করুন , এবং তারপর গুগল ক্রোমে অ্যাপটি লোড হওয়ার জন্য অপেক্ষা করুন।
  3. ড্রপ-ডাউন মেনু থেকে একটি পণ্য বেছে নিন, এবং তারপর 'Generate haiku!' নির্বাচন করুন।

ওয়েবে তৈরি অ্যাপটি

৯. অভিনন্দন

আপনি একটি ফুল-স্ট্যাক অ্যাপ তৈরি করেছেন যা গুগল পণ্য সম্পর্কে হাইকু তৈরি করে! যদিও অ্যাপটি শুধুমাত্র নির্বাচিত গুগল পণ্যের জন্য হাইকু তৈরি করে, আপনি সহজেই প্রম্পট পরিবর্তন করে আপনার পছন্দসই টেক্সট তৈরি করতে পারেন। এখন যেহেতু আপনি PaLM API ব্যবহার করতে জানেন, আপনি LLM-এর অবিশ্বাস্য শক্তি দিয়ে চমৎকার অ্যাপ তৈরি করতে পারবেন!

আরও জানুন