বুকশেল্ফ নির্মাতা: জেমিনি অ্যাপ্লিকেশনের জন্য একটি জাভা ক্লাউড ফাংশন তৈরি করতে জেমিনি ব্যবহার করুন

1. ভূমিকা

আপনি কি বইগুলি খনন করতে পছন্দ করেন কিন্তু পছন্দের নিছক পরিমাণে অভিভূত হন? কল্পনা করুন যে একটি AI-চালিত অ্যাপ রয়েছে যা শুধুমাত্র নিখুঁত পড়ার সুপারিশ করে না বরং আপনার পছন্দের জেনারের উপর ভিত্তি করে একটি সংক্ষিপ্ত সারসংক্ষেপও দেয়, যা আপনাকে বইটির সারমর্মের একটি আভাস দেয়। এই কোডল্যাবে, আমি আপনাকে জেমিনি দ্বারা চালিত BigQuery এবং ক্লাউড ফাংশনগুলির সাথে এমন একটি অ্যাপ তৈরির মাধ্যমে নিয়ে যাব।

প্রকল্প ওভারভিউ

আমাদের ব্যবহার কেস কেন্দ্রগুলি এই 4টি মূল উপাদানগুলির চারপাশে:

  • বই ডেটাবেস: ইন্টারনেট আর্কাইভ বইগুলির বিশাল BigQuery পাবলিক ডেটাসেট আমাদের ব্যাপক বই ক্যাটালগ হিসাবে কাজ করবে।
  • এআই সামারাইজেশন ইঞ্জিন: গুগল ক্লাউড ফাংশন, জেমিনি-প্রো ভাষা মডেলের সাথে সজ্জিত, ব্যবহারকারীর অনুরোধের জন্য তৈরি অন্তর্দৃষ্টিপূর্ণ সারাংশ তৈরি করবে।
  • BigQuery ইন্টিগ্রেশন: BigQuery-এর মধ্যে একটি দূরবর্তী ফাংশন যা আমাদের ক্লাউড ফাংশনকে কল করে চাহিদা অনুযায়ী বইয়ের সারাংশ এবং থিম সরবরাহ করতে।
  • ইউজার ইন্টারফেস: ক্লাউড রানে হোস্ট করা একটি ওয়েব অ্যাপ যা ব্যবহারকারীদের ফলাফল দেখার জন্য একটি ওয়েব অ্যাপ্লিকেশন অফার করবে।

আমরা বাস্তবায়নটিকে 3টি কোডল্যাবে ভাগ করব:

কোডল্যাব 1: একটি জেমিনি অ্যাপ্লিকেশনের জন্য একটি জাভা ক্লাউড ফাংশন তৈরি করতে জেমিনি ব্যবহার করুন।

কোডল্যাব 2: BigQuery-এর সাথে শুধুমাত্র SQL-জেনারেটিভ AI অ্যাপ্লিকেশন তৈরি করতে Gemini ব্যবহার করুন।

কোডল্যাব 3: একটি জাভা স্প্রিং বুট ওয়েব অ্যাপ্লিকেশন তৈরি করতে Gemini ব্যবহার করুন যা BigQuery-এর সাথে ইন্টারঅ্যাক্ট করে।

2. জাভা ক্লাউড ফাংশনে একটি জেনারেটিভ এআই অ্যাপ সার্ভারহীনভাবে তৈরি করতে জেমিনি ব্যবহার করুন

আপনি কি নির্মাণ করবেন

আপনি একটি তৈরি করবেন

  • জাভা ক্লাউড ফাংশন অ্যাপ্লিকেশন যা জেমিনি 1.0 প্রো প্রয়োগ করে JSON অ্যারে আকারে ইনপুট হিসাবে একটি নির্দিষ্ট প্রম্পট নিতে এবং একটি প্রতিক্রিয়া প্রদান করে (Json মান "উত্তর" লেবেলযুক্ত)।
  • আপনি মিথুনের সাহায্যে নির্মাণ এবং স্থাপনের পদক্ষেপগুলি করবেন

3. প্রয়োজনীয়তা

নীচে পূর্বশর্ত রয়েছে:

আপনার প্রকল্প তৈরি করুন

  1. Google ক্লাউড কনসোলে , প্রকল্প নির্বাচক পৃষ্ঠায়, একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন।
  2. নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ একটি প্রকল্পে বিলিং সক্ষম কিনা তা পরীক্ষা করতে শিখুন।

ক্লাউড শেল সক্রিয় করুন

  1. আপনি ক্লাউড শেল ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ যা bq এর সাথে প্রি-লোড করা হয়:

ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন: 6757b2fb50ddcc2d.png

  1. একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকরণ করেছেন এবং প্রকল্পটি ইতিমধ্যে আপনার প্রকল্প আইডিতে সেট করা আছে। আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list
  1. gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান
gcloud config list project
  1. যদি আপনার প্রজেক্ট সেট করা না থাকে, তাহলে এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <YOUR_PROJECT_ID>

জিক্লাউড কমান্ড এবং ব্যবহারের জন্য ডকুমেন্টেশন পড়ুন।

4. Google ক্লাউড এবং প্রয়োজনীয় API-এর জন্য Gemini সক্ষম করা

মিথুন সক্রিয় করুন

  1. API সক্ষম করতে মার্কেটপ্লেসে Google ক্লাউডের জন্য Gemini- এ নেভিগেট করুন। এছাড়াও আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
  1. মিথুন পৃষ্ঠায় যান এবং "চ্যাটিং শুরু করুন" এ ক্লিক করুন।

গুরুত্বপূর্ণ: Gemini এর সাথে শুরু করতে এবং যথাক্রমে ক্লাউড শেল IDE-তে জেমিনি সক্ষম করতে এই কোডল্যাবে পদক্ষেপ 1 এবং 2 অনুসরণ করুন৷

অন্যান্য প্রয়োজনীয় API সক্রিয় করুন

আমরা কিভাবে তা করতে হবে? আসুন মিথুনকে জিজ্ঞাসা করি যে, আমরা করব? তবে তার আগে মনে রাখবেন:

এলএলএম অ-নির্ধারক। সুতরাং আপনি যখন এই প্রম্পটগুলি চেষ্টা করছেন, আপনি যে প্রতিক্রিয়াটি পাবেন তা আমার স্ক্রিনশটের থেকে আলাদা দেখতে পারে।

গুগল ক্লাউড কনসোলে সার্চ বারের পাশে উপরের ডানদিকে কোণায় "ওপেন জেমিনি" আইকনে ক্লিক করে জেমিনি চ্যাট কনসোলে যান।

26e1491322855614.png

"এখানে একটি প্রম্পট লিখুন" বিভাগে এই প্রশ্নটি টাইপ করুন:

How do I enable the cloud functions api using a gcloud command? 

আপনি অনুরূপ একটি প্রতিক্রিয়া পেতে হবে:

gcloud services enable cloudfunctions.googleapis.com

এটি অনুলিপি করুন (আপনি কমান্ড স্নিপেটের শীর্ষে অনুলিপি আইকনটি ব্যবহার করতে পারেন) এবং ক্লাউড ফাংশনগুলি সক্ষম করতে ক্লাউড শেল টার্মিনালে এটি চালান। ক্লাউড রানের জন্য একই কাজ করুন যেমন ক্লাউড ফাংশন তৈরি এবং স্থাপন করার জন্য আমাদের উভয়েরই প্রয়োজন:

gcloud services enable \
  cloudfunctions.googleapis.com \
  aiplatform.googleapis.com \
  run.googleapis.com \
  cloudbuild.googleapis.com

5. মিথুনের সাথে ক্লাউড ফাংশন টেমপ্লেট প্রস্তুত করা

এই মুহুর্তে, আমি অনুমান করছি যে আপনি ইতিমধ্যেই আপনার ক্লাউড শেল IDE-তে Gemini সক্ষম করেছেন।

আপনার ক্লাউড শেল টার্মিনালের উপরের ডানদিকের কোণায় ওপেন এডিটর আইকনে ক্লিক করে ক্লাউড শেল এডিটর খুলুন (আমি সাধারণত টার্মিনাল এবং এডিটরকে আলাদা ট্যাবে সমান্তরালভাবে খুলতে পছন্দ করি যাতে আমরা একটিতে কোড লিখতে পারি এবং অন্যটিতে তৈরি করতে পারি)।

edd258384bc74f1f.png

একবার আপনি সম্পাদক খুললে, সম্পাদক কনসোলের নীচের ডানদিকের কোণায় জেমিনি লোগোটি সক্রিয় রয়েছে (এবং বাতিল করা হয়নি) তা নিশ্চিত করুন৷ এছাড়াও নিশ্চিত করুন যে নীচের বাম কোণে আপনার Google ক্লাউড প্রকল্পটি আপনার বর্তমান সক্রিয় প্রকল্পের দিকে নির্দেশ করছে যার সাথে আপনি কাজ করতে চান৷ যদি সেগুলি নিষ্ক্রিয় থাকে, সেগুলিকে ক্লিক করুন, অনুমোদন করুন, আপনি যে Google ক্লাউড প্রকল্পের দিকে নির্দেশ করতে চান সেটি নির্বাচন করুন এবং সেগুলি সক্রিয় করুন৷

একবার উভয়ই সক্রিয় হয়ে গেলে, নীচের বাম কোণে প্রকল্পের নামটিতে ক্লিক করুন এবং "ক্লাউড কোড" শিরোনামে খোলে পপ আপ তালিকায়, "নতুন অ্যাপ্লিকেশন" এ স্ক্রোল করুন।

ca08602b576ebd57.png

সেই তালিকায়, ক্লাউড ফাংশন অ্যাপ্লিকেশন নির্বাচন করুন। পপ-আপ হওয়া তালিকা থেকে, জাভা নির্বাচন করুন:

ac2b44245949da68.png

ফলাফলের তালিকায়, হ্যালোওয়ার্ল্ডের পরিবর্তে প্রকল্পের নাম "duetai-gemini-calling" টাইপ করুন এবং ঠিক আছে ক্লিক করুন।

bf9cfe86e35cdced.png

হুরে! আপনি জেমিনির সাথে আপনার সাধারণ জাভা ক্লাউড ফাংশন অ্যাপ্লিকেশনটি বুটস্ট্র্যাপ করেছেন এবং আপনি সক্রিয় এবং সক্রিয়করণ কনফিগারেশন ছাড়াও অনেক কিছু করেননি, একমত?

এই প্রকল্পের কাঠামোটি আপনাকে দেখতে হবে:

d56e410fb76f183f.png

এই মুহূর্তে, আপনি ফাংশন স্থাপন করা ভাল. কিন্তু সেজন্য আমরা এটা শুরু করিনি। চলুন এগিয়ে যাই এবং জাভা SDK ব্যবহার করে এই ক্লাউড ফাংশনে Gemini Pro API বাস্তবায়ন তৈরি করি।

এখন আমাদের ব্যবহারের ক্ষেত্রে কার্যকারিতা তৈরি করা যাক, যা এই ক্লাউড ফাংশনে জেমিনি প্রো মডেলকে আহ্বান করছে। এটি করার জন্য, আপনি আরও প্রম্পট যোগ করতে এবং আপনার কোডটি জেমিনির সাথে ক্রমবর্ধমানভাবে বিকাশ করতে বা আপনার নিজের মতো যুক্তি লিখতে মুক্ত। আমি উভয়ের মিশ্রণ করতে যাচ্ছি।

6. নির্ভরতা যোগ করুন

জেমিনি চ্যাট কনসোলে (বাম ফলকে ক্লাউড কোড এডিটরের মধ্যে একটি), নিম্নলিখিত প্রম্পটে টাইপ করুন:

what is the maven dependency for com.google.cloud.vertexai library

আমি com.google.cloud.vertexai প্যাকেজের জন্য বিশেষভাবে জিজ্ঞাসা করার কারণ হল যে আমি আমার সোর্স কোডে ব্যবহার করছি যেখানে আমি জেমিনি ইনভোকেশন কোডটি প্রয়োগ করি৷

আমি এই ফলাফল পেয়েছি:

62c4295b9b4654e9.png

 <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-vertexai</artifactId>
      <version>0.1.0</version>
    </dependency>

এটি অনুলিপি করুন এবং </dependencies> ট্যাগের ঠিক আগে pom.xml ফাইলে পেস্ট করুন। সংস্করণটিকে 0.1.0 দিয়ে প্রতিস্থাপন করুন (আপনি যদি আপনার জন্য স্প্রিং-ক্লাউড-জিসিপি সংস্করণ নম্বরগুলি পরিচালনা করতে স্প্রিং ক্লাউড জিসিপি বিওএম ব্যবহার করেন তবে আপনি <সংস্করণ> ট্যাগটি সরাতে পারেন)।

নির্ভরতা বিভাগটি এইরকম হওয়া উচিত:

1800f10af9331210.png

নিশ্চিত করুন যে আপনি সংস্করণ নম্বর আপডেট করেছেন, যদি প্রয়োজন হয়, উপরের সাথে মেলে। আপনি যদি লক্ষ্য করেন, আমি এটির সাথে আরেকটি নির্ভরতাও অন্তর্ভুক্ত করেছি:

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.10</version>
    </dependency>

7. ফাংশন এন্ট্রি পয়েন্ট এবং ক্লাসের নাম পরিবর্তন করুন

  1. ".vscode" ফোল্ডারের অধীনে "launch.json" ফাইলটিতে নেভিগেট করুন। ফাংশনের নাম "function-hello-world" থেকে "function-gemini-calling" এ সম্পাদনা করুন।
  2. "cloudcode.helloworld.HelloWorld থেকে Cloudcode.bookshelf.Bookshelf এ এন্ট্রিপয়েন্ট মান আপডেট করুন৷
  3. এখন জাভা ক্লাস ফাইল "HelloWorld.java" নেভিগেট করুন। প্যাকেজ নাম পরিবর্তন করে প্যাকেজ ক্লাউডকোড.বুকশেল্ফ; পপ আপ হওয়া ত্রুটিতে, হলুদ বাল্বে ক্লিক করুন এবং Cloudcode.bookshelf; প্যাকেজ করতে "HelloWorld.java সরান" বলে বিকল্পটি ক্লিক করুন৷

38d721978bddc8a8.png

  1. বুকশেল্ফ-এ ক্লাসের নাম আপডেট করুন এবং পপ আপ হওয়া ত্রুটিতে, ছোট্ট হলুদ বাল্বে ক্লিক করুন এবং "পুনঃনামকরণ ফাইল to Bookshelf.java" নির্বাচন করুন। যে নির্বাচন করুন.

8. Gemini Pro কল করার পদ্ধতি তৈরি করুন৷

আসুন Bookshelf.java ক্লাসে এই কার্যকারিতা বাস্তবায়ন করি। নিচের কোড দিয়ে আপনার Bookshelf.java প্রতিস্থাপন করুন:

package cloudcode.bookshelf;
import java.io.BufferedWriter;
import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
import com.google.cloud.vertexai.VertexAI;
import com.google.cloud.vertexai.api.GenerateContentResponse;
import com.google.cloud.vertexai.api.GenerationConfig;
import com.google.cloud.vertexai.generativeai.preview.GenerativeModel;
import com.google.cloud.vertexai.generativeai.preview.ResponseHandler;
import java.io.IOException;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import java.util.LinkedHashMap;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonArray;

public class Bookshelf implements HttpFunction {
  private static final Gson gson = new Gson();

 @Override
  public void service(HttpRequest request, HttpResponse response) throws Exception {
    BufferedWriter writer = response.getWriter();

 // Get the request body as a JSON object.
 JsonObject requestJson = new Gson().fromJson(request.getReader(), JsonObject.class);
 JsonArray calls_array = requestJson.getAsJsonArray("calls");
 JsonArray calls = (JsonArray) calls_array.get(0);
 String context = calls.get(0).toString().replace("\"", "");

 //Invoke Gemini model
  String raw_result = callGemini(context);
  raw_result = raw_result.replace("\n","");
  String trimmed = raw_result.trim();
  List<String> result_list = Arrays.asList(trimmed);
  Map<String, List<String>> stringMap = new LinkedHashMap<>();
  stringMap.put("replies", result_list);
 
  // Serialization
  String return_value = gson.toJson(stringMap);
  writer.write(return_value);
    }
  public String callGemini(String context) throws IOException{
      String res = "";
        try (VertexAI vertexAi = new VertexAI("REPLACE_WITH_YOUR_PROJECT_ID", "us-central1"); ) {
          GenerationConfig generationConfig =
              GenerationConfig.newBuilder()
                  .setMaxOutputTokens(2048)
                  .setTemperature(0.4F)
                  .setTopK(32)
                  .setTopP(1)
                  .build();  
        GenerativeModel model = new GenerativeModel("gemini-pro", generationConfig, vertexAi);
        GenerateContentResponse response = model.generateContent(context);
        res = ResponseHandler.getText(response);
      }catch(Exception e){
        System.out.println(e);
        }
        return res;
    }
}

এই ক্লাসটি নীচের মত JSON কাঠামোতে ইনপুট আশা করে:

{ "কল": [["YOUR_PROMPT_HERE"]] }

এটি নীচের মত একটি প্রতিক্রিয়া প্রদান করে:

(Json) মানচিত্র<স্ট্রিং, তালিকা<স্ট্রিং>> {"উত্তর": ["প্রতিক্রিয়া"]}

কোডটি ব্যাখ্যা করতে বাম দিকের ক্লাউড শেল সম্পাদক থেকে জেমিনি চ্যাট বিকল্পটি ব্যবহার করে দেখুন। বিকল্পভাবে আপনি সমস্ত কোড নির্বাচন করতে পারেন এবং নির্বাচনের উপরের বাম কোণে হলুদ বাল্বে ক্লিক করুন এবং "এটি ব্যাখ্যা করুন" বিকল্পটি বেছে নিন।

66fb67507793e368.png

9. ক্লাউড ফাংশন স্থাপন করুন

এখন যেহেতু ক্লাউড ফাংশন প্রস্তুত, আসুন জেনেনিকে জিজ্ঞাসা করি কিভাবে এটি স্থাপন করতে হয়। ক্লাউড কোড এডিটরে মিথুন চ্যাটে যান এবং নিম্নলিখিতগুলি লিখুন:

   How to deploy this Cloud Function with a gcloud command?

আমি নীচের প্রতিক্রিয়া পেয়েছি:

9f9db98933841864.png

আমি এখন এটি আরও তদন্ত করতে চেয়েছিলাম। তাই আমি এগিয়ে গিয়ে মিথুনকে বলেছিলাম আমাকে সম্পূর্ণ gcloud ফাংশন ডিপ্লয় কমান্ড দিতে। প্রতিক্রিয়া নীচে দেখানো হয়েছে:

b77701c00dc3eaf1.png

এখন আমি বলতে পারি না আপনি একই প্রতিক্রিয়া পাবেন কিনা, তবে আমি এটি দেখতে বেশ আকর্ষণীয় বলে মনে করেছি যে এটি আমার বিস্ময়ের জন্য আরও কয়েকটি বিশদ সহ এটিকে শীর্ষে তুলেছে, যেমনটি নীচের ছবিতে দেখা গেছে:

শরীরের বিন্যাস অনুরোধ করুন:

82bf20304143a374.png

এবং

প্রতিক্রিয়া বিন্যাস:

ade55b3de5d823a6.png

এখন, আমরা এগিয়ে যাই এবং জেমিনি আমাদের দেওয়া gcloud কমান্ডটি চালিয়ে ফাংশনটি স্থাপন করি। এর জন্য আমাদের ক্লাউড শেল টার্মিনাল খুলতে হবে। আপনি এটিকে https://console.cloud.google.com- এর জন্য একটি নতুন ট্যাবে খুলতে পারেন এবং নিশ্চিত করুন যে সঠিক প্রকল্পটি নির্বাচিত হয়েছে৷ কনসোলের উপরের ডানদিকে অ্যাক্টিভেট ক্লাউড শেল আইকনে ক্লিক করে ক্লাউড শেল টার্মিনাল খুলুন এবং নীচের কমান্ডটি ব্যবহার করে নিশ্চিত করুন যে আপনি সঠিক প্রকল্প ফোল্ডারে আছেন:

cd duetai-gemini-calling

নীচের কমান্ড দ্বারা অনুসরণ করুন:

gcloud functions deploy bookshelf --runtime java17 --trigger-http --entry-point cloudcode.bookshelf.Bookshelf --allow-unauthenticated

এটি আপনাকে জিজ্ঞাসা করবে "নতুন ফাংশন [বুকশেলফ] এর অননুমোদিত আহ্বানের অনুমতি দিন?" "y" বলুন এবং এন্টার টিপুন। এর পরে কয়েকটি প্রশ্ন প্রযোজ্য হলে এবং এটি আপনার সার্ভারহীন ক্লাউড ফাংশন স্থাপন করা URL এর সাথে স্থাপন করবে: https://us-central1-********.cloudfunctions.net/bookshelf।

এখন এর স্থাপন করা ক্লাউড ফাংশন আহ্বান করা যাক এবং এটি পরীক্ষা করা যাক!

দ্রষ্টব্য: আপনি যদি ভুলবশত "অপ্রমাণিত আহ্বানের অনুমতি দিন" প্রশ্নটি এড়িয়ে যান বা "N" নির্বাচন করেন, তাহলে আপনি ক্লাউড ফাংশনের ফলাফল অ্যাক্সেস করতে পারবেন না এবং অতিরিক্ত IAM সেটিংস না দিয়ে একটি "অনুমতি ত্রুটি" দেখতে পাবেন৷ তাই সেদিকে মনোযোগ দিন।

10. স্থাপন করা ক্লাউড ফাংশন কল করুন

মিথুনকে জিজ্ঞেস করি যে? আমি প্রম্পট প্রবেশ

How to call the deployed cloud function?

আমি নীচের ফলাফল পেয়েছি: (আপনি একই সঠিক প্রতিক্রিয়া দেখতে পারেন বা নাও দেখতে পারেন, প্রম্পটের সাথে খেলতে নির্দ্বিধায় এবং প্রতিক্রিয়াগুলির পার্থক্য দেখতে পারেন)।

1d2242715571fe6f.png

মোতায়েন করা ফাংশন, জিক্লাউড কমান্ড ব্যবহার করে কল করার বিকল্প উপায়গুলি সম্পর্কে নির্দিষ্ট প্রশ্নগুলির সাথে চ্যাটটি অনুসন্ধান করুন। আমি নীচের প্রম্পট জমা দিয়েছি:

how to call the deployed cloud function using gcloud

আমি নীচের প্রতিক্রিয়া পেয়েছি: e7b29b2cfb57782c.png

আপনি টার্মিনাল থেকে এই প্রতিক্রিয়া ("gcloud ফাংশন কল" কমান্ড) ব্যবহার করতে পারেন যাতে এটি আমাদের পরিস্থিতির জন্য কাজ করে (বিকল্পভাবে, প্রম্পটে নিজেই প্যারামিটারগুলি পাস করার চেষ্টা করুন এবং দেখুন আপনি বিস্তারিত gcloud ফাংশন কল করতে সক্ষম হন কিনা) প্রতিক্রিয়া):

gcloud functions call bookshelf --region=us-central1 --gen2 --data '{"calls":[["Hello! This is my test prompt."]]}'

এখানে আমার ফলাফল:

6f396d915251db78.png

11. পরিষ্কার করুন

আপনি ক্লাউড ফাংশনগুলির বিশদ পৃষ্ঠায় DELETE বোতামে ক্লিক করে আপনার আগে তৈরি করা ক্লাউড ফাংশনগুলি মুছতে পারেন৷

12. অভিনন্দন

আপনি জেমিনি ব্যবহার করে জেমিনি 1.0 প্রো কল করার জন্য একটি জাভা ক্লাউড ফাংশন সফলভাবে তৈরি, স্থাপন এবং পরীক্ষা করেছেন! এই অ্যাপ্লিকেশনটি বইয়ের সারাংশ এবং থিমের সাথে বই সুপারিশ সম্পর্কিত ইনপুট প্রম্পট নেয়।