1. ভূমিকা
আপনি কি বইগুলি খনন করতে পছন্দ করেন কিন্তু পছন্দের নিছক পরিমাণে অভিভূত হন? কল্পনা করুন যে একটি AI-চালিত অ্যাপ রয়েছে যা শুধুমাত্র নিখুঁত পড়ার সুপারিশ করে না বরং আপনার পছন্দের জেনারের উপর ভিত্তি করে একটি সংক্ষিপ্ত সারসংক্ষেপও দেয়, যা আপনাকে বইটির সারমর্মের একটি আভাস দেয়। এই কোডল্যাবে, আমি আপনাকে BigQuery, Vertex AI এবং Gemini-এর সাহায্যে ক্লাউড রানের সাহায্যে এমন একটি অ্যাপ্লিকেশন তৈরির মাধ্যমে নিয়ে যাব।
প্রকল্প ওভারভিউ
আমাদের ব্যবহার কেস কেন্দ্রগুলি এই 4টি মূল উপাদানগুলির চারপাশে:
- বই ডেটাবেস: ইন্টারনেট আর্কাইভ বইগুলির বিশাল BigQuery পাবলিক ডেটাসেট আমাদের ব্যাপক বই ক্যাটালগ হিসাবে কাজ করবে।
- এআই সামারাইজেশন ইঞ্জিন: গুগল ক্লাউড ফাংশন, জেমিনি-প্রো ভাষা মডেলের সাথে সজ্জিত, ব্যবহারকারীর অনুরোধের জন্য তৈরি অন্তর্দৃষ্টিপূর্ণ সারাংশ তৈরি করবে।
- BigQuery ইন্টিগ্রেশন: BigQuery-এর মধ্যে একটি দূরবর্তী ফাংশন যা আমাদের ক্লাউড ফাংশনকে কল করে চাহিদা অনুযায়ী বইয়ের সারাংশ এবং থিম সরবরাহ করতে।
- ইউজার ইন্টারফেস: ক্লাউড রানে হোস্ট করা একটি ওয়েব অ্যাপ যা ব্যবহারকারীদের ফলাফল দেখার জন্য একটি ওয়েব অ্যাপ্লিকেশন অফার করবে।
আমরা সম্পূর্ণ প্রকল্প বাস্তবায়নকে 3টি কোডল্যাবে ভাগ করেছি, এবং এই কোডল্যাবটি নীচের তালিকায় কোডল্যাব 3কে কভার করে:
কোডল্যাব 1: একটি জেমিনি অ্যাপ্লিকেশনের জন্য একটি জাভা ক্লাউড ফাংশন তৈরি করতে জেমিনি ব্যবহার করুন।
কোডল্যাব 2: BigQuery-এর সাথে শুধুমাত্র SQL-জেনারেটিভ AI অ্যাপ্লিকেশন তৈরি করতে Gemini ব্যবহার করুন।
কোডল্যাব 3: একটি জাভা স্প্রিং বুট ওয়েব অ্যাপ্লিকেশন তৈরি করতে Gemini ব্যবহার করুন যা BigQuery-এর সাথে ইন্টারঅ্যাক্ট করে।
2. BigQuery-এর সাথে একটি স্প্রিং বুট ওয়েব অ্যাপ্লিকেশন তৈরি করতে Gemini ব্যবহার করুন
আপনি কি নির্মাণ করবেন
- প্রয়োজনীয় BigQuery ডেটাসেট এবং টেবিল তৈরি করুন।
- জাভা স্প্রিং বুট ওয়েব অ্যাপ্লিকেশন যা BigQuery-এর সাথে ইন্টারঅ্যাক্ট করে বইয়ের ডেটা এবং ওয়েবে প্রদর্শন করতে।
- এই অ্যাপটি ক্লাউড রানে স্থাপন করা হয়েছে।
- আপনি মিথুন রাশির সাহায্যে এই পদক্ষেপগুলি বাস্তবায়ন করবেন।
3. প্রয়োজনীয়তা
- একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
- বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প৷
- এটি সহায়ক যদি আপনি ক্লাউড ফাংশনটি পার্ট 1 কোডল্যাবের অংশ হিসাবে স্থাপন করেন একটি জেনারেটিভ এআই অ্যাপ্লিকেশন কোডল্যাবের জন্য একটি জাভা ক্লাউড ফাংশন তৈরি করতে জেমিনি ব্যবহার করুন ৷
- শর্তসাপেক্ষ: যদি এই সময়ে, আপনার কাছে বিনামূল্যের Google ক্লাউড ক্রেডিট লিঙ্কে অ্যাক্সেস থাকে (যা ওয়ার্কশপ সংগঠক দ্বারা আপনাকে প্রবিধান করা হয়েছে), ক্রেডিট সক্রিয়করণ এবং প্রকল্প তৈরির পদক্ষেপগুলি আগে থেকে সম্পূর্ণ করতে নীচের পৃষ্ঠায় নির্দেশাবলী ব্যবহার করুন৷ আপনার কাছে এই লিঙ্কটি না থাকলে, নীচের প্রকল্প এবং বিলিং পূর্বশর্ত পদক্ষেপগুলির সাথে এগিয়ে যান:
আপনার প্রকল্প তৈরি করুন
আপনি নীচের ধাপগুলি এড়িয়ে যেতে পারেন যদি আপনি ইতিমধ্যেই একটি বিলিং অ্যাকাউন্ট সক্রিয় করে থাকেন এবং উপরের শর্তসাপেক্ষ ধাপে উল্লিখিত লিঙ্কটি ব্যবহার করে একটি প্রকল্প তৈরি করেন।
- Google ক্লাউড কনসোলে , প্রকল্প নির্বাচক পৃষ্ঠায়, একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন।
- নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ একটি প্রকল্পে বিলিং সক্ষম কিনা তা পরীক্ষা করতে শিখুন।
ক্লাউড শেল সক্রিয় করুন
- আপনি Cloud Shell ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ যা bq এর সাথে প্রিলোড করা হয়:
ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন:
- একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকরণ করেছেন এবং প্রকল্পটি ইতিমধ্যে আপনার প্রকল্প আইডিতে সেট করা আছে। আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list
- gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান
gcloud config list project
- যদি আপনার প্রজেক্ট সেট করা না থাকে, তাহলে এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <YOUR_PROJECT_ID>
জিক্লাউড কমান্ড এবং ব্যবহারের জন্য ডকুমেন্টেশন পড়ুন।
4. জেমিনি এবং প্রয়োজনীয় API সক্রিয় করা
মিথুন সক্রিয় করুন
- API সক্ষম করতে Gemini Marketplace- এ নেভিগেট করুন। এছাড়াও আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
- মিথুন পৃষ্ঠায় যান এবং "চ্যাটিং শুরু করুন" এ ক্লিক করুন।
অন্যান্য প্রয়োজনীয় API সক্রিয় করুন
আমরা কিভাবে তা করতে হবে? আসুন মিথুনকে জিজ্ঞাসা করি যে, আমরা করব? তবে তার আগে মনে রাখবেন:
দ্রষ্টব্য: এলএলএমগুলি অ-নির্ধারক। সুতরাং আপনি যখন এই প্রম্পটগুলি চেষ্টা করছেন, আপনি যে প্রতিক্রিয়াটি পাবেন তা আমার স্ক্রিনশটের থেকে আলাদা দেখতে পারে।
গুগল ক্লাউড কনসোলে সার্চ বারের পাশে উপরের ডানদিকে কোণায় "ওপেন জেমিনি" আইকনে ক্লিক করে জেমিনি চ্যাট কনসোলে যান।
"এখানে একটি প্রম্পট লিখুন" বিভাগে এই প্রশ্নটি টাইপ করুন:
How do I enable the BigQuery and Cloud Run apis using gcloud command?
নিম্নলিখিত ছবিতে দেখা হিসাবে আপনি প্রতিক্রিয়া পাবেন:
এটি অনুলিপি করুন (আপনি কমান্ড স্নিপেটের শীর্ষে অনুলিপি আইকনটি ব্যবহার করতে পারেন) এবং সংশ্লিষ্ট পরিষেবাগুলি সক্ষম করতে ক্লাউড শেল টার্মিনালে এটি চালান:
- bigquery.googleapis.com
- run.googleapis.com
5. বই ডেটার জন্য BigQuery পাবলিক ডেটাসেট অন্বেষণ করুন৷
অনেক ইন্টারনেট আর্কাইভ বইয়ের তথ্য সম্বলিত BigQuery পাবলিক ডেটাসেটের সাথে নিজেকে পরিচিত করে শুরু করুন। আপনি যদি এই লিঙ্ক থেকে ইন্টারনেট আর্কাইভবুক ডেটাসেটে অবতরণ করতে সক্ষম না হন তবে ডেটাসেটটি অন্বেষণ করতে বা বিকল্পভাবে এই ডকুমেন্টেশনটি অনুসরণ করতে নির্দ্বিধায় নীচের পদক্ষেপগুলি অনুসরণ করুন:
আপনি BigQuery এক্সপ্লোরার প্যানে এই সর্বজনীন ডেটাসেটটি খুঁজে পেতে পারেন। আপনি BigQuery কনসোলে অবতরণ করলে বাম দিকে এটি খুঁজে পেতে পারেন।
সার্চ বারে "gdelt-bq" বা "internetarchivebooks" টাইপ করুন এবং সার্চ সব প্রকল্পে ক্লিক করুন। ফলাফলে প্রসারিত করুন এবং নীচের ছবিতে দেখানো ইন্টারনেট আর্কাইভ বইগুলিকে স্টার করুন:
.
ডেটাসেট প্রসারিত করুন, gdelt-bq.internetarchivebooks-এ ক্লিক করুন এবং তারপর 1920 টেবিলে ডেটার পূর্বরূপ দেখুন। এই টেবিলে 1920 সালের আর্কাইভ করা বইগুলি অন্তর্ভুক্ত রয়েছে।
আমরা পরবর্তী বিভাগে যে স্কিমা ব্যবহার করব তা দেখতে, নিম্নলিখিত ক্যোয়ারীটি চালান:
select * from `gdelt-bq.internetarchivebooks.1920` limit 5;
আমরা আমাদের কোডল্যাবের জন্য নিম্নলিখিত তিনটি ক্ষেত্র ব্যবহার করব:
- BookMeta_Title (শিরোনাম)
- থিম (থিমগুলি ';' দ্বারা পৃথক করা হয়েছে)
- BookMeta_FullText (বইটির সম্পূর্ণ পাঠ্য)
6. জেমিনি দিয়ে মৌলিক জাভা ক্লাউড রান টেমপ্লেট তৈরি করুন
আপনার ক্লাউড শেল টার্মিনালের উপরের ডানদিকের কোণায় ওপেন এডিটর আইকনে ক্লিক করে ক্লাউড শেল এডিটর খুলুন (আমি সাধারণত টার্মিনাল এবং এডিটরকে আলাদা ট্যাবে সমান্তরালভাবে খুলতে পছন্দ করি যাতে আমরা একটিতে কোড লিখতে পারি এবং অন্যটিতে তৈরি করতে পারি)।
একবার আপনি সম্পাদক খুললে, সম্পাদক কনসোলের নীচের ডানদিকের কোণায় জেমিনি লোগোটি সক্রিয় রয়েছে (এবং বাতিল করা হয়নি) তা নিশ্চিত করুন৷ এছাড়াও নিশ্চিত করুন যে নীচের বাম কোণে আপনার Google ক্লাউড প্রকল্পটি আপনার বর্তমান সক্রিয় প্রকল্পের দিকে নির্দেশ করছে যার সাথে আপনি কাজ করতে চান৷ যদি সেগুলি নিষ্ক্রিয় থাকে, সেগুলিকে ক্লিক করুন, অনুমোদন করুন, আপনি যে Google ক্লাউড প্রকল্পের দিকে নির্দেশ করতে চান সেটি নির্বাচন করুন এবং সেগুলি সক্রিয় করুন৷
একবার উভয়ই সক্রিয় হয়ে গেলে, নীচের বাম কোণে প্রকল্পের নামটিতে ক্লিক করুন এবং "ক্লাউড কোড" শিরোনামে খোলে পপ আপ তালিকায়, "নতুন অ্যাপ্লিকেশন" এ স্ক্রোল করুন।
সেই তালিকায়, ক্লাউড রান অ্যাপ্লিকেশন নির্বাচন করুন। পপ-আপ হওয়া তালিকা থেকে, জাভা নির্বাচন করুন:
ফলাফল তালিকায়, helloworld এর পরিবর্তে প্রকল্পের নাম "bookshelf-web" টাইপ করুন এবং ঠিক আছে ক্লিক করুন।
হুরে! আপনি জেমিনির সাথে আপনার সাধারণ জাভা ক্লাউড রান অ্যাপ্লিকেশনটি বুটস্ট্র্যাপ করেছেন এবং আপনি সক্রিয় এবং সক্রিয়করণ কনফিগারেশন ছাড়াও অনেক কিছু করেননি, একমত?
এই প্রকল্পের কাঠামোটি আপনাকে দেখতে হবে:
এই মুহূর্তে, আপনি অ্যাপ্লিকেশন স্থাপন করা ভাল. কিন্তু সেজন্য আমরা এটা শুরু করিনি। আমাদের এখনও ওয়েব অ্যাপ্লিকেশনের প্রধান কার্যকারিতা অন্তর্ভুক্ত করতে হবে যা BigQuery ডাটাবেস থেকে বিশ্লেষণ ডেটা আনতে এবং ওয়েবে প্রদর্শন করতে হয়।
এটি করার জন্য, আপনি আরও প্রম্পট যোগ করতে এবং আপনার কোডটি জেমিনির সাথে ক্রমবর্ধমানভাবে বিকাশ করতে বা আপনার নিজের মতো যুক্তি লিখতে মুক্ত। আমি উভয়ের মিশ্রণে যাচ্ছি।
7. ওয়েব অ্যাপে BigQuery ব্যবহার করতে নির্ভরতা যোগ করুন
এখন অ্যাপ্লিকেশন বুটস্ট্র্যাপ করা হয়েছে, আমরা অ্যাপ্লিকেশন উত্স এবং বৈশিষ্ট্য পরিবর্তন করতে প্রস্তুত. প্রথমে, নির্ভরতা যোগ করা যাক। মিথুনকে সুপারিশ করতে বলুন।
ক্লাউড কোড এডিটরে, নিশ্চিত করুন যে স্ট্যাটাস বারটি নিচের ডান কোণায় জেমিনিকে সক্রিয় দেখাচ্ছে এবং নীচে বাম কোণে সক্রিয় Google ক্লাউড প্রকল্পটি নির্বাচিত দেখাচ্ছে।
ক্লাউড কোড এডিটরে pom.xml ফাইলে নেভিগেট করুন, </dependencies> ট্যাগের ঠিক উপরে, নিম্নলিখিত প্রম্পট মন্তব্যে টাইপ করুন:
<!-- What maven dependency should I include to access BigQuery in the app-->
নীচের ছবিতে দেখানো হিসাবে আমি এই ফলাফল পেয়েছি:
সুবিধার জন্য এখানে নির্ভরতা আটকানো। যদি আপনার ক্ষেত্রে প্রস্তাবনাটি একটি সংস্করণ ট্যাগের সাথে আসে, আপনি এটি উপেক্ষা করতে পারেন।
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-bigquery</artifactId>
</dependency>
8. ওয়েবে বুকশেল্ফ ডেটা পেতে উৎস আপডেট করুন
HelloWorldController.java কোডটি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন:
package cloudcode.helloworld.web;
import java.util.UUID;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.JobId;
import com.google.cloud.bigquery.Job;
import com.google.cloud.bigquery.JobInfo;
import com.google.cloud.bigquery.QueryJobConfiguration;
import com.google.cloud.bigquery.TableResult;
import com.google.cloud.bigquery.FieldValueList;
@RestController
public final class HelloWorldController {
/**
* Create an endpoint for the landing page
* @return the BigQuery analytics results string to the web
*/
@GetMapping("/")
public String helloWorld() throws Exception {
/* Connect to bigquery and write a select SQL to fetch Title, Theme and Summary fields from the table `bookshelf.bookshelf_theme` if you have executed the codelab 1 of this series, if not just directly use records from gdelt-bq.internetarchivebooks.1920 table */
String query = "SELECT BookMeta_Title || ' (' || Themes || ') ' as summary from gdelt-bq.internetarchivebooks.1920 limit 10 ";
BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
QueryJobConfiguration queryConfig =
QueryJobConfiguration.newBuilder(query)
.setUseLegacySql(false)
.build();
// Create a job ID so that we can safely retry.
JobId jobId = JobId.of(UUID.randomUUID().toString());
Job queryJob = bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build());
// Wait for the query to complete.
queryJob = queryJob.waitFor();
// Check for errors
if (queryJob == null) {
throw new RuntimeException("Job no longer exists");
} else if (queryJob.getStatus().getError() != null) {
throw new RuntimeException(queryJob.getStatus().getError().toString());
}
// Get the results.
TableResult result = queryJob.getQueryResults();
String responseString = "";
// Print all pages of the results.
for (FieldValueList row : result.iterateAll()) {
responseString += row.get("summary").getStringValue() + ". \n";
System.out.printf("%s\n", row.get("summary").getStringValue());
}
return responseString;
}
}
আমরা সোর্স ফাইলগুলিতে নিম্নলিখিত পরিবর্তনগুলি করেছি:
- HelloWorldController.java- এ @Controller-কে @RestController-এ আপডেট করা হয়েছে।
- BigQuery-এ কল অন্তর্ভুক্ত করতে helloWorld() পদ্ধতির বিষয়বস্তু প্রতিস্থাপন করা হয়েছে, বইয়ের শিরোনাম এবং থিম তালিকাভুক্ত করার জন্য ডেটা নিয়ে আসা কোয়েরির সম্পাদন।
- লোডের সময় ইনডেক্স ভিউ টেমপ্লেট ফেরত দেওয়ার পরিবর্তে, ওয়েবে একটি স্ট্রিং হিসাবে প্রতিক্রিয়া ফেরাতে এটি আপডেট করা হয়।
গুরুত্বপূর্ণ নোট: নীচের আপডেট করতে মনে রাখবেন
- বর্তমান mvc.perform(...) আহ্বানের বিষয়ে মন্তব্য করতে HelloWorldControllerTests.Java ফাইলটি আপডেট করুন।
কোড ব্যাখ্যার জন্য মিথুন
আমরা আপনাকে কোড প্রদান করেছি এবং সোর্স ফাইলগুলিতে যে পরিবর্তনগুলি করেছি তা বর্ণনা করেছি৷ আপনি প্রয়োজন অনুযায়ী কোড ব্যাখ্যা এবং/অথবা কোড মন্তব্য পেতে Gemini ব্যবহার করতে পারতেন। এখানে কয়েকটি জিনিস রয়েছে যা আপনি চেষ্টা করে দেখতে পারেন:
- IDE-তে HelloWorldController.java ফাইল খোলার সাথে, IDE-এর চ্যাট প্যানেলে যান এবং নিম্নলিখিত প্রম্পট প্রদান করুন: এটি ব্যাখ্যা করুন । মিথুন যে বিশদ ব্যাখ্যা প্রদান করে তা দেখুন। কোডের কিছু ব্যাখ্যা পেতে এটি আপনার দ্বারা যে কোনো সময় ব্যবহার করা যেতে পারে।
- আপনি কোডে কোনো নির্দিষ্ট স্নিপেট বা লাইন হাইলাইট করতে পারেন (যেমন @GetMapping("/") )এবং তারপরে নিম্নলিখিত প্রম্পটটি ব্যবহার করুন: এটি ব্যাখ্যা করুন। এটি শুধুমাত্র আপনার নির্বাচিত কোড বা স্নিপেটের লাইনে একটি বিস্তারিত ব্যাখ্যা প্রদান করবে।
- এমনকি আপনি কিছু প্রশ্ন চেষ্টা করে দেখতে পারেন যা কোড সম্পর্কে ভিন্নভাবে অনুসন্ধান করে। উদাহরণস্বরূপ, আপনি কোডের নিম্নলিখিত লাইনটি নির্বাচন করতে পারেন
BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
এবং নিম্নলিখিত ক্যোয়ারী জিজ্ঞাসা করুন "কী হবে যদি bigquery ভেরিয়েবলটি নাল হয়?" 4. আপনি মিথুনের সাহায্যে কোডের উন্নতি বা রিফ্যাক্টরিংয়ের জন্যও জিজ্ঞাসা করতে পারেন। উদাহরণস্বরূপ, আপনি helloWorld() পদ্ধতির জন্য সম্পূর্ণ কোডটি নির্বাচন করতে পারেন এবং নিম্নলিখিত প্রম্পট দিতে পারেন: "কিভাবে আমি এই কোডটি উন্নত বা রিফ্যাক্টর করব?" . মিথুন যে পরামর্শগুলি প্রদান করে তা দেখুন।
9. নির্মাণ এবং স্থাপন
ক্লাউড শেল টার্মিনালে নেভিগেট করুন। নিশ্চিত করুন যে এটি টার্মিনালে আপনার প্রকল্প আইডি নির্দেশ করছে।
cd কমান্ড ব্যবহার করে প্রকল্প ডিরেক্টরিতে নেভিগেট করুন:
cd bookshelf-web
আপনার অ্যাপ স্থানীয়ভাবে চলছে কিনা তা নিশ্চিত করতে নীচের কমান্ডগুলি একের পর এক চালান৷
mvn package
mvn spring-boot:run
এখন, "ওয়েব প্রিভিউ" বোতামে ক্লিক করুন এবং নীচের মত "প্রিভিউ অন পোর্ট 8080" বিকল্পে ক্লিক করুন:
নিশ্চিত করুন যে আপনি আপনার ক্লাউড শেল মেশিনে স্থানীয়ভাবে চলমান অ্যাপটি দেখতে পাচ্ছেন।
এখন, ক্লাউড রানে এই ওয়েব অ্যাপ্লিকেশনটি কীভাবে স্থাপন করবেন তা জেমিনিকে জিজ্ঞাসা করা যাক। Google ক্লাউড কনসোলে "ওপেন জেমিনি" বোতামে ক্লিক করে জেমিনি চ্যাটে নেভিগেট করুন৷
এটি আমার প্রম্পট:
What is the gcloud command to deploy my app to cloud run without having to containerize, only by giving the source file?
নীচে প্রতিক্রিয়া আছে:
নীচের স্নিপেটে দেখানো হিসাবে gcloud কমান্ডে পরিষেবার নাম এবং অঞ্চল স্থানধারক প্রতিস্থাপন করা যাক:
gcloud run deploy bookshelf-web --source . --allow-unauthenticated --region $REGION
ক্লাউড শেল টার্মিনাল থেকে এই কমান্ডটি চালান। আপনি কয়েকটি ফলো-আপ প্রশ্ন দেখতে পাবেন, উপযুক্ত প্রতিক্রিয়া নির্বাচন করুন এবং আপনি প্রগতিশীল স্থাপনা দেখতে সক্ষম হবেন:
এটি কয়েক মিনিট সময় নেয় এবং অ্যাপটি Google ক্লাউড সার্ভারহীনভাবে স্থাপন করা হয়। ক্লাউড রান স্থাপন করা অ্যাপে ক্লিক করুন এবং ওয়েবে ফলাফল দেখুন:
10. অভিনন্দন
অভিনন্দন! আমরা জেমিনি ব্যবহার করে বুকশেলফ বিশ্লেষণ সম্পাদন করতে একটি জাভা ক্লাউড রান ওয়েব অ্যাপ্লিকেশন সফলভাবে তৈরি, স্থাপন এবং পরীক্ষা করেছি। ফলোআপ টাস্ক হিসাবে, মিথুনকে জিজ্ঞাসা করুন কিভাবে Google ক্লাউড কনসোল থেকে নিয়োজিত ক্লাউড রান পরিষেবাটি মুছে ফেলতে হয় এবং সংস্থানটি পরিষ্কার করতে এটি যে পদক্ষেপগুলি দিয়ে প্রতিক্রিয়া জানায় তা অনুসরণ করুন৷