১. শুরু করার আগে
জেমিনি এন্টারপ্রাইজ কী?
জেমিনি এন্টারপ্রাইজ একটি উন্নত এজেন্টিক প্ল্যাটফর্ম যা প্রতিটি কর্মপ্রবাহের জন্য প্রতিটি কর্মীর কাছে গুগল এআই-এর সেরা সুবিধা নিয়ে আসে। এটি দলগুলিকে একটি নিরাপদ পরিবেশে এআই এজেন্ট আবিষ্কার, তৈরি, ভাগ করে নেওয়া এবং পরিচালনা করার ক্ষমতা দেয়।
- উন্নত মডেলগুলিতে অ্যাক্সেস: ব্যবহারকারীরা জটিল ব্যবসায়িক চ্যালেঞ্জ মোকাবেলায় জেমিনি সহ গুগলের সবচেয়ে শক্তিশালী মাল্টিমোডাল এআইতে তাৎক্ষণিক অ্যাক্সেস পান।
- বিশেষায়িত এজেন্টদের ব্যবহার করুন: স্যুটে গবেষণা, কোডিং এবং নোট নেওয়ার জন্য ব্যবহারযোগ্য গুগল এজেন্ট রয়েছে যা তাৎক্ষণিক মূল্য প্রদান করে।
- প্রতিটি কর্মচারীকে ক্ষমতায়িত করুন: নো-কোড এবং প্রো-কোড বিকল্পগুলি সমস্ত বিভাগের কর্মীদের ওয়ার্কফ্লো অটোমেশনের জন্য তাদের নিজস্ব কাস্টম এজেন্ট তৈরি এবং পরিচালনা করতে দেয়।
- ডেটাতে গ্রাউন্ড এজেন্ট: এজেন্টদের প্রতিক্রিয়াগুলি প্রাসঙ্গিকভাবে সঠিক কিনা তা নিশ্চিত করার জন্য তাদের অভ্যন্তরীণ কোম্পানির ডেটা এবং তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলির সাথে নিরাপদে সংযুক্ত করা যেতে পারে।
- কেন্দ্রীভূত শাসনব্যবস্থা: প্রশাসকরা সমস্ত এজেন্ট কার্যকলাপ কল্পনা এবং নিরীক্ষণ করতে পারেন যাতে নিশ্চিত করা যায় যে সংস্থাটি কঠোর নিরাপত্তা এবং সম্মতি মান পূরণ করে।
- ইকোসিস্টেমের সাথে সম্প্রসারণ করুন: প্ল্যাটফর্মটি বিভিন্ন সিস্টেমে অটোমেশন সম্প্রসারণের জন্য অংশীদার অ্যাপ্লিকেশন এবং পরিষেবা প্রদানকারীদের বিস্তৃত নেটওয়ার্কের সাথে একীভূত হয়।
গুগল ওয়ার্কস্পেস কী?
গুগল ওয়ার্কস্পেস হল ক্লাউড-ভিত্তিক উৎপাদনশীলতা এবং সহযোগিতামূলক সমাধানের একটি সংগ্রহ যা ব্যক্তি, স্কুল এবং ব্যবসার জন্য ডিজাইন করা হয়েছে:
- যোগাযোগ: পেশাদার ইমেল পরিষেবা (Gmail), ভিডিও কনফারেন্সিং (Meet), এবং টিম মেসেজিং (চ্যাট)।
- কন্টেন্ট তৈরি: ডকুমেন্ট লেখার (ডক্স), স্প্রেডশিট তৈরি (শিট) এবং প্রেজেন্টেশন ডিজাইন করার (স্লাইড) সরঞ্জাম।
- সংগঠন: ভাগ করা ক্যালেন্ডার (ক্যালেন্ডার) এবং ডিজিটাল নোট-টেকিং (কিপ)।
- স্টোরেজ: নিরাপদে ফাইল সংরক্ষণ এবং ভাগ করে নেওয়ার জন্য কেন্দ্রীভূত ক্লাউড স্পেস (ড্রাইভ)।
- ব্যবস্থাপনা: ব্যবহারকারী এবং নিরাপত্তা সেটিংস পরিচালনা করার জন্য প্রশাসনিক নিয়ন্ত্রণ (ওয়ার্কস্পেস অ্যাডমিন কনসোল)।
কোন ধরণের কাস্টম ইন্টিগ্রেশন?
গুগল ওয়ার্কস্পেস এবং জেমিনি এন্টারপ্রাইজ একটি শক্তিশালী ফিডব্যাক লুপ তৈরি করে যেখানে ওয়ার্কস্পেস রিয়েল-টাইম ডেটা এবং সহযোগিতার প্রসঙ্গ সরবরাহ করে, অন্যদিকে জেমিনি এন্টারপ্রাইজ বুদ্ধিমান কর্মপ্রবাহ স্বয়ংক্রিয় করার জন্য প্রয়োজনীয় মডেল, এজেন্টিক যুক্তি এবং অর্কেস্ট্রেশন সরবরাহ করে।
- স্মার্ট কানেক্টিভিটি: গুগল-পরিচালিত ডেটা স্টোর, এপিআই এবং এমসিপি সার্ভার (গুগল-পরিচালিত এবং কাস্টম) এজেন্টদের নিরাপদে এবং নির্বিঘ্নে ওয়ার্কস্পেস ডেটা অ্যাক্সেস করতে এবং ব্যবহারকারীদের পক্ষে পদক্ষেপ নিতে দেয়।
- কাস্টম এজেন্ট: নো-কোড ডিজাইনার বা প্রো-কোড ফ্রেমওয়ার্ক ব্যবহার করে, দলগুলি অ্যাডমিন-শাসিত ওয়ার্কস্পেস ডেটা এবং অ্যাকশনের উপর ভিত্তি করে বিশেষায়িত এজেন্ট তৈরি করতে পারে।
- নেটিভ ইন্টিগ্রেশন: ওয়ার্কস্পেস অ্যাড-অনগুলি AI সিস্টেম এবং চ্যাট এবং জিমেইলের মতো অ্যাপ্লিকেশনগুলির মধ্যে ব্যবধান পূরণ করে, তা ডেডিকেটেড UI উপাদান বা ব্যাকগ্রাউন্ড প্রক্রিয়ার মাধ্যমেই হোক। এটি এজেন্টদের তাৎক্ষণিক, প্রসঙ্গ-সচেতন সহায়তার জন্য ব্যবহারকারীদের ঠিক যেখানে তারা আছেন সেখানেই দেখা করার সুযোগ দেয়।
গুগল ওয়ার্কস্পেসের শক্তিশালী উৎপাদনশীলতা ইকোসিস্টেমকে জেমিনি এন্টারপ্রাইজের উন্নত এজেন্টিক শক্তির সাথে একত্রিত করে, সংস্থাগুলি কাস্টম, ডেটা-গ্রাউন্ডেড এআই এজেন্টগুলির মাধ্যমে তাদের কার্যক্রম রূপান্তর করতে পারে যা তাদের দলগুলি প্রতিদিন ব্যবহার করে এমন সরঞ্জামগুলির মধ্যে সরাসরি জটিল কর্মপ্রবাহকে স্বয়ংক্রিয় করে।
পূর্বশর্ত
আপনি যদি আপনার নিজের পরিবেশের সমস্ত ধাপ অনুসরণ করতে চান, তাহলে আপনার প্রয়োজন হবে:
- গুগল ক্লাউড এবং পাইথন সম্পর্কে প্রাথমিক জ্ঞান।
- একটি গুগল ক্লাউড প্রকল্প যার মালিক আপনি বিলিং সহ। বিদ্যমান কোনও প্রকল্পে বিলিং সক্ষম আছে কিনা তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি গুগল ক্লাউড প্রকল্প তৈরি করুন দেখুন। প্রকল্পের মালিকানা পরিবর্তন করতে, প্রকল্পের সদস্যদের পরিচালনা করুন বা প্রকল্পের মালিকানা পরিবর্তন করুন দেখুন।
- জেমিনি এন্টারপ্রাইজ স্ট্যান্ডার্ড / প্লাস সংস্করণগুলি সক্ষম করা হয়েছে। জেমিনি এন্টারপ্রাইজ সংস্করণগুলির তুলনা করতে, জেমিনি এন্টারপ্রাইজের সংস্করণগুলির তুলনা দেখুন। যদি আপনার জেমিনি এন্টারপ্রাইজের লাইসেন্স না থাকে, তাহলে পরবর্তী ধাপে আপনার কাছে একটি ট্রায়াল লাইসেন্স তৈরি করার বিকল্প থাকবে।
- একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট যার Google Chat এবং স্মার্ট বৈশিষ্ট্যগুলিতে অ্যাক্সেস চালু আছে ।
- আপনার গুগল ক্লাউড প্রোজেক্টের জন্য গুগল ক্লাউড সিএলআই ইনস্টল এবং ইনিশিয়ালাইজ করা হয়েছে ।
- পাইথন ৩.১১+ ইনস্টল করা আছে, অফিসিয়াল পাইথন ওয়েবসাইটে নির্দেশাবলী দেখুন।
তুমি কী তৈরি করবে
এই কোডল্যাবে, আমরা জেমিনি এন্টারপ্রাইজ এআই এজেন্টদের সাথে তিনটি সমাধান তৈরি করেছি যা Google Workspace-এর সাথে দৃঢ়ভাবে একীভূত। তারা এমন স্থাপত্য নিদর্শন প্রদর্শন করবে যা ডেটা, অ্যাকশন এবং UI-এর সাথে ইন্টারঅ্যাক্ট করতে ব্যবহার করা যেতে পারে।
নো-কোড কাস্টম এজেন্ট
এই এজেন্ট ব্যবহারকারীদের তাদের স্বাভাবিক ভাষায় ওয়ার্কস্পেসের জন্য ডেটা অনুসন্ধান এবং পদক্ষেপ নেওয়ার অনুমতি দেয়। এটি নিম্নলিখিত উপাদানগুলির উপর নির্ভর করে:
- মডেল: মিথুন।
- ডেটা এবং অ্যাকশন: জেমিনি এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস (ক্যালেন্ডার, জিমেইল, ড্রাইভ, নোটবুকএলএম), গুগল সার্চের জন্য ডেটা সঞ্চয় করে।
- এজেন্ট তৈরির সরঞ্জাম: জেমিনি এন্টারপ্রাইজ এজেন্ট ডিজাইনার।
- এজেন্ট হোস্ট: জেমিনি এন্টারপ্রাইজ।
- UI: জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ।


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


Google Workspace অ্যাড-অন হিসেবে ডিফল্ট এজেন্ট
এই এজেন্ট ব্যবহারকারীদের Workspace অ্যাপ UI-এর প্রেক্ষাপটে তাদের স্বাভাবিক ভাষায় Workspace-এর ডেটা অনুসন্ধান করার অনুমতি দেয়। এটি নিম্নলিখিত উপাদানগুলির উপর নির্ভর করে:
- মডেল: মিথুন।
- ডেটা: জেমিনি এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস (ক্যালেন্ডার, জিমেইল, ড্রাইভ, নোটবুকএলএম), গুগল সার্চের জন্য ডেটা সঞ্চয় করে।
- এজেন্ট হোস্ট: জেমিনি এন্টারপ্রাইজ।
- UI: চ্যাট এবং জিমেইলের জন্য গুগল ওয়ার্কস্পেস অ্যাড-অন (ক্যালেন্ডার, ড্রাইভ, ডক্স, শিট এবং স্লাইডে সহজেই সম্প্রসারিত করা যায়)।
- গুগল ওয়ার্কস্পেস অ্যাড-অন: অ্যাপস স্ক্রিপ্ট, জেমিনি এন্টারপ্রাইজ এবং ভার্টেক্স এআই এপিআই, প্রাসঙ্গিক (ব্যবহারকারীর মেটাডেটা, নির্বাচিত জিমেইল বার্তা)।


তুমি কি শিখবে
- জেমিনি এন্টারপ্রাইজ এবং গুগল ওয়ার্কস্পেসের মধ্যে ইন্টিগ্রেশন পয়েন্টগুলি যা ডেটা এবং অ্যাকশন সক্ষম করে।
- জেমিনি এন্টারপ্রাইজে হোস্ট করা কাস্টম এজেন্ট তৈরির জন্য নো-কোড এবং প্রো-কোড বিকল্পগুলি।
- জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ এবং গুগল ওয়ার্কস্পেস অ্যাপ্লিকেশন থেকে ব্যবহারকারীরা এজেন্টদের অ্যাক্সেস করার উপায়।
2. সেট আপ করুন
ধারণাগুলি পর্যালোচনা করুন
জেমিনি এন্টারপ্রাইজ অ্যাপ
একটি জেমিনি এন্টারপ্রাইজ অ্যাপ আপনার শেষ ব্যবহারকারীদের অনুসন্ধান ফলাফল, ক্রিয়া এবং এজেন্ট সরবরাহ করে। API-এর প্রসঙ্গে "অ্যাপ" শব্দটি ইঞ্জিন শব্দটির সাথে বিনিময়যোগ্যভাবে ব্যবহার করা যেতে পারে। অনুসন্ধান ফলাফল, উত্তর বা ক্রিয়া পরিবেশনের জন্য ডেটা ব্যবহার করার জন্য একটি অ্যাপকে অবশ্যই একটি ডেটা স্টোরের সাথে সংযুক্ত থাকতে হবে।
জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ
একটি জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ একটি জেমিনি এন্টারপ্রাইজ অ্যাপের সাথে যুক্ত। এটি একটি কেন্দ্রীভূত এআই হোম বেস হিসাবে কাজ করে যেখানে কর্মীরা একটি একক চ্যাট ইন্টারফেস ব্যবহার করে নীরব কোম্পানির ডেটা অনুসন্ধান করে, জটিল কর্মপ্রবাহের জন্য বিশেষায়িত এআই এজেন্ট পরিচালনা করে এবং এন্টারপ্রাইজ-স্তরের গোপনীয়তা সহ পেশাদার-গ্রেড সামগ্রী তৈরি করে।
রিসোর্স শুরু করুন এবং অ্যাক্সেস করুন
এই বিভাগে, আপনি আপনার পছন্দের ওয়েব ব্রাউজার থেকে নিম্নলিখিত সংস্থানগুলি অ্যাক্সেস এবং কনফিগার করতে পারবেন।
জেমিনি এন্টারপ্রাইজ অ্যাপ
একটি নতুন ট্যাবে গুগল ক্লাউড কনসোল খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার প্রকল্পটি নির্বাচন করুন।
- গুগল ক্লাউড সার্চ ফিল্ডে, সার্চ করুন এবং জেমিনি এন্টারপ্রাইজ নির্বাচন করুন, তারপর + অ্যাপ তৈরি করুন এ ক্লিক করুন। যদি আপনার জেমিনি এন্টারপ্রাইজের লাইসেন্স না থাকে, তাহলে আপনাকে 30 দিনের বিনামূল্যে ট্রায়াল লাইসেন্স সক্রিয় করতে বলা হবে।
- অ্যাপের নাম
codelabএ সেট করুন। - নামের উপর ভিত্তি করে একটি আইডি তৈরি করা হয় এবং ক্ষেত্রের নীচে প্রদর্শিত হয়, এটি অনুলিপি করুন।
- মাল্টি-রিজিওনকে
global (Global)তে সেট করুন। - তৈরি করুন ক্লিক করুন।

- অ্যাপটি তৈরি করা হয়েছে এবং আপনাকে স্বয়ংক্রিয়ভাবে জেমিনি এন্টারপ্রাইজ > ওভারভিউ এ পুনঃনির্দেশিত করা হবে।
- পূর্ণ অ্যাক্সেস পান এর অধীনে, পরিচয় সেট আপ করুন এ ক্লিক করুন।
- নতুন স্ক্রিনে, Use Google Identity নির্বাচন করুন এবং Confirm Workforce Identity এ ক্লিক করুন।

- কনফিগারেশনটি সংরক্ষিত হয় এবং আপনাকে স্বয়ংক্রিয়ভাবে Gemini Enterprise > Overview এ পুনঃনির্দেশিত করা হয়।
- কনফিগারেশনে নেভিগেট করুন।
- Feature Management ট্যাবে, Enable agent designer চালু করুন, Save এ ক্লিক করুন।

জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ
একটি নতুন ট্যাবে ক্লাউড কনসোল থেকে জেমিনি এন্টারপ্রাইজ খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
-
codelabনামের অ্যাপটিতে ক্লিক করুন। - পরবর্তী ধাপে আমরা যখন জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপে নেভিগেট করব তখন যে URL টি দেখাবে সেটি কপি করুন।

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

API গুলি সক্ষম করুন
জেমিনি এন্টারপ্রাইজ ওয়ার্কস্পেস ডেটা স্টোরগুলির জন্য API গুলি সক্ষম করা প্রয়োজন:
- গুগল ক্লাউড কনসোলে , ক্যালেন্ডার, জিমেইল এবং পিপল এপিআই সক্ষম করুন:

- মেনু ☰ > APIs & Services > Enabled APIs & Services- এ ক্লিক করুন এবং তারপর নিশ্চিত করুন যে Google Calendar API , Gmail API , এবং People API তালিকায় রয়েছে।
OAuth সম্মতি স্ক্রিন কনফিগার করুন
জেমিনি এন্টারপ্রাইজ ওয়ার্কস্পেস ক্যালেন্ডার এবং জিমেইল অ্যাকশনের জন্য একটি সম্মতি স্ক্রিন কনফিগারেশন প্রয়োজন:
- গুগল ক্লাউড কনসোলে , মেনু ☰ > গুগল অথ প্ল্যাটফর্ম > ব্র্যান্ডিং এ ক্লিক করুন।
- শুরু করুন ক্লিক করুন।
- অ্যাপ তথ্যের অধীনে, অ্যাপের নাম
Codelabএ সেট করুন। - ব্যবহারকারীর সহায়তা ইমেল বিভাগে, এমন একটি সহায়তা ইমেল ঠিকানা বেছে নিন যেখানে ব্যবহারকারীদের সম্মতি সম্পর্কে প্রশ্ন থাকলে তারা আপনার সাথে যোগাযোগ করতে পারবেন।
- পরবর্তী ক্লিক করুন।
- অডিয়েন্স এর অধীনে, অভ্যন্তরীণ নির্বাচন করুন।
- পরবর্তী ক্লিক করুন।
- যোগাযোগের তথ্য এর অধীনে, একটি ইমেল ঠিকানা লিখুন যেখানে আপনার প্রকল্পের যেকোনো পরিবর্তন সম্পর্কে আপনাকে অবহিত করা যেতে পারে।
- পরবর্তী ক্লিক করুন।
- Finish এর অধীনে, Google API পরিষেবা ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং যদি আপনি সম্মত হন, তাহলে আমি Google API পরিষেবাগুলিতে সম্মত: ব্যবহারকারীর ডেটা নীতি নির্বাচন করুন।
- Continue-এ ক্লিক করুন তারপর Create-এ ক্লিক করুন।

- কনফিগারেশনটি সংরক্ষিত হয় এবং আপনাকে স্বয়ংক্রিয়ভাবে Google Auth প্ল্যাটফর্ম > ওভারভিউ এ পুনঃনির্দেশিত করা হয়।
- ডেটা অ্যাক্সেসে নেভিগেট করুন।
- স্কোপ যোগ করুন বা সরান ক্লিক করুন।
- নিম্নলিখিত স্কোপগুলি অনুলিপি করুন এবং ম্যানুয়ালি অ্যাড স্কোপ ক্ষেত্রে পেস্ট করুন।
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.calendars
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.readonly
- Add to table এ ক্লিক করুন, তারপর Update করুন , তারপর Save করুন ।

আরও জানতে, সম্পূর্ণ OAuth কনফিগার সম্মতি নির্দেশিকাটি দেখুন।
OAuth ক্লায়েন্ট ক্রেডেনশিয়াল তৈরি করুন
ব্যবহারকারীদের প্রমাণীকরণের জন্য জেমিনি এন্টারপ্রাইজের জন্য একটি নতুন OAuth ক্লায়েন্ট তৈরি করুন:
- গুগল ক্লাউড কনসোলে , মেনু ☰ > গুগল অথ প্ল্যাটফর্ম > ক্লায়েন্ট এ ক্লিক করুন।
- + ক্লায়েন্ট তৈরি করুন ক্লিক করুন।
- অ্যাপ্লিকেশন ধরণের জন্য, ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন।
- নামটি
codelabএ সেট করুন। - অনুমোদিত জাভাস্ক্রিপ্টের উৎস এড়িয়ে যান।
- অনুমোদিত পুনঃনির্দেশ URI বিভাগে, URI যোগ করুন ক্লিক করুন এবং
https://vertexaisearch.cloud.google.com/oauth-redirectলিখুন। - তৈরি করুন ক্লিক করুন।
- আপনার নতুন তৈরি করা OAuth ক্লায়েন্ট আইডি এবং গোপন তথ্য সহ একটি ডায়ালগ বক্স আসবে। এই তথ্যটি একটি নিরাপদ স্থানে সংরক্ষণ করুন।

ডেটা স্টোর তৈরি করুন
একটি নতুন ট্যাবে ক্লাউড কনসোল থেকে জেমিনি এন্টারপ্রাইজ খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
-
codelabনামের অ্যাপটিতে ক্লিক করুন। - নেভিগেশন মেনুতে, সংযুক্ত ডেটা স্টোরে ক্লিক করুন।
- + নতুন ডেটা স্টোরে ক্লিক করুন।
- উৎস বিভাগে, Google Calendar অনুসন্ধান করুন এবং নির্বাচন করুন ক্লিক করুন।
- অ্যাকশন বিভাগে, পূর্ববর্তী ধাপগুলি থেকে সংরক্ষিত ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট লিখুন, এবং তারপর যাচাই করুন প্রমাণীকরণে ক্লিক করুন এবং OAuth ক্লায়েন্টকে প্রমাণীকরণ এবং অনুমোদন করার জন্য পদক্ষেপগুলি অনুসরণ করুন।
- "ক্যালেন্ডার ইভেন্ট তৈরি করুন" এবং "ক্যালেন্ডার ইভেন্ট আপডেট করুন" ক্রিয়াগুলি সক্ষম করুন।
- চালিয়ে যান ক্লিক করুন।

- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নাম
calendarসেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে সংযুক্ত ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোরটি দেখতে পাবেন।
গুগল জিমেইল ডেটা স্টোর তৈরি করুন:
- + নতুন ডেটা স্টোরে ক্লিক করুন।
- সোর্স বিভাগে, গুগল জিমেইল অনুসন্ধান করুন এবং নির্বাচন করুন ক্লিক করুন।
- অ্যাকশন বিভাগে, পূর্ববর্তী ধাপগুলি থেকে সংরক্ষিত ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট লিখুন, এবং তারপর যাচাই প্রমাণীকরণ ক্লিক করুন।
- ইমেল পাঠান ক্রিয়াটি সক্রিয় করুন।
- চালিয়ে যান ক্লিক করুন।
- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নামটি
gmailএ সেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে সংযুক্ত ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোরটি দেখতে পাবেন।
গুগল ড্রাইভ ডেটা স্টোর তৈরি করুন:
- + নতুন ডেটা স্টোরে ক্লিক করুন।
- উৎস বিভাগে, Google Drive অনুসন্ধান করুন এবং নির্বাচন করুন এ ক্লিক করুন।
- ডেটা বিভাগে, All নির্বাচন করুন, তারপর Continue এ ক্লিক করুন।
- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নাম
driveসেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে সংযুক্ত ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোরটি দেখতে পাবেন।
NotebookLM ডেটা স্টোর তৈরি করুন:
- + নতুন ডেটা স্টোরে ক্লিক করুন।
- Source- এ, NotebookLM অনুসন্ধান করুন এবং Select-এ ক্লিক করুন।
- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নাম
notebooklmএ সেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে সংযুক্ত ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোরটি দেখতে পাবেন।
কয়েক মিনিট পরে, সমস্ত সংযুক্ত ডেটা স্টোর স্ট্যাটাসের (NotebookLM ব্যতীত) অবস্থা "Active" হবে। যদি আপনি কোনও ত্রুটি দেখতে পান, তাহলে ত্রুটির বিবরণ দেখতে আপনি ডেটা উৎসে ক্লিক করতে পারেন।

টেস্ট ডেটা স্টোর
আমরা আগে কপি করা জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ URL টি খুলুন:
- মেনু ☰ > নতুন চ্যাট ক্লিক করুন।
- নতুন চ্যাট মেসেজ ফিল্ডের পাদলেখের মধ্যে, কানেক্টর আইকনে ক্লিক করুন এবং সমস্ত কানেক্টর সক্রিয় করুন।
- আপনি এখন সংযোগকারী সম্পর্কিত প্রম্পটগুলি নিয়ে পরীক্ষা-নিরীক্ষা করতে পারেন। উদাহরণস্বরূপ, চ্যাটে,
Do I have any meetings today?টাইপ করুন এবং এন্টারenter। - এরপর,
How many emails did I receive today?টাইপ করেenterটিপুন। - অবশেষে,
Give me the title of the last Drive file I createdটাইপ করুন এবংenterটিপুন।

কাস্টম এজেন্ট তৈরি করুন
জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপে, এজেন্ট ডিজাইনার ব্যবহার করে একটি নতুন এজেন্ট তৈরি করুন:
- মেনু ☰ > + নতুন এজেন্ট ক্লিক করুন।
- চ্যাটে,
An agent that always sends pirate-themed emails but use normal English otherwiseটাইপ করুন এবংenterটিপুন।

- এজেন্ট ডিজাইনার প্রম্পটের উপর ভিত্তি করে এজেন্টটি খসড়া করে এবং এটি সম্পাদকে খোলে।
- তৈরি করুন ক্লিক করুন
কাস্টম এজেন্ট ব্যবহার করে দেখুন
- জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপে, নতুন তৈরি এজেন্টের সাথে চ্যাট করুন:
- মেনু ☰ > এজেন্ট ক্লিক করুন।
- আপনার এজেন্ট এর অধীনে এজেন্ট নির্বাচন করুন।
- নতুন চ্যাট মেসেজ ফিল্ডের পাদলেখের মধ্যে, Connectors আইকনে ক্লিক করুন, তারপর Enable actions for Mail এ ক্লিক করুন এবং এজেন্টকে অনুমোদন করার জন্য নির্দেশাবলী অনুসরণ করুন।
- চ্যাটে,
Send an email to someone@example.com saying I'll see them at Cloud Next, generate some subject and body yourselfএবংenterটিপুন। আপনি আপনার ইমেল ঠিকানা দিয়ে নমুনা ইমেলটি প্রতিস্থাপন করতে পারেন। - ইমেল পাঠাতে ✔️ ক্লিক করুন।


৪. প্রো-কোড কাস্টম এজেন্ট
এই এজেন্ট ব্যবহারকারীদের কাস্টম টুল এবং নিয়ম ব্যবহার করে তাদের স্বাভাবিক ভাষায় Workspace-এর জন্য ডেটা অনুসন্ধান এবং পদক্ষেপ নেওয়ার অনুমতি দেয়। এটি নিম্নলিখিত উপাদানগুলির উপর নির্ভর করে:
- মডেল: মিথুন।
- ডেটা এবং অ্যাকশন: জেমিনি এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস (ক্যালেন্ডার, জিমেইল, ড্রাইভ, নোটবুকএলএম), গুগল সার্চ , গুগল-পরিচালিত ভার্টেক্স এআই সার্চ মডেল কনটেক্সট প্রোটোকল (এমসিপি) সার্ভার, গুগল চ্যাট বার্তা পাঠানোর জন্য কাস্টম টুল ফাংশন (গুগল চ্যাট এপিআই এর মাধ্যমে) এর জন্য ডেটা সঞ্চয় করে।
- এজেন্ট তৈরির সরঞ্জাম: এজেন্ট ডেভেলপমেন্ট কিট (ADK)।
- এজেন্ট হোস্ট: ভার্টেক্স এআই এজেন্ট ইঞ্জিন।
- UI: জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপ।
এটি জেমিনি এন্টারপ্রাইজে bring-your-own বৈশিষ্ট্যটি ব্যবহার করে সংহত করা হবে তাই আমাদের স্থাপনা, নিবন্ধন এবং কনফিগারেশন ধাপগুলি অতিক্রম করতে হবে।
ধারণাগুলি পর্যালোচনা করুন
ভার্টেক্স এআই
ভার্টেক্স এআই আপনার জেনারেটিভ এআই তৈরি এবং ব্যবহার করার জন্য প্রয়োজনীয় সবকিছুই অফার করে, যার মধ্যে রয়েছে এআই সমাধান, অনুসন্ধান এবং কথোপকথন, ১৩০ টিরও বেশি ফাউন্ডেশন মডেল এবং একটি ইউনিফাইড এআই প্ল্যাটফর্ম।

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

সোর্স কোড পর্যালোচনা করুন
এজেন্ট.পিআই
...
MODEL = "gemini-2.5-flash"
# Gemini Enterprise authentication injects a bearer token into the ToolContext state.
# The key pattern is "GE_AUTH_NAME_<random_digits>".
# We dynamically parse this token to authenticate our MCP and API calls.
GE_AUTH_NAME = "enterprise-ai"
VERTEXAI_SEARCH_TIMEOUT = 15.0
def get_project_id():
"""Fetches the consumer project ID from the environment natively."""
_, project = google.auth.default()
if project:
return project
raise Exception(f"Failed to resolve GCP Project ID from environment.")
def find_serving_config_path():
"""Dynamically finds the default serving config in the engine."""
project_id = get_project_id()
engines = discoveryengine_v1.EngineServiceClient().list_engines(
parent=f"projects/{project_id}/locations/global/collections/default_collection"
)
for engine in engines:
# engine.name natively contains the numeric Project Number
return f"{engine.name}/servingConfigs/default_serving_config"
raise Exception(f"No Discovery Engines found in project {project_id}")
def _get_access_token_from_context(tool_context: ToolContext) -> str:
"""Helper method to dynamically parse the intercepted bearer token from the context state."""
escaped_name = re.escape(GE_AUTH_NAME)
pattern = re.compile(fr"^{escaped_name}_\d+$")
# Handle ADK varying state object types (Raw Dict vs ADK State)
state_dict = tool_context.state.to_dict() if hasattr(tool_context.state, 'to_dict') else tool_context.state
matching_keys = [k for k in state_dict.keys() if pattern.match(k)]
if matching_keys:
return state_dict.get(matching_keys[0])
raise Exception(f"No bearer token found in ToolContext state matching pattern {pattern.pattern}")
def auth_header_provider(tool_context: ToolContext) -> dict[str, str]:
token = _get_access_token_from_context(tool_context)
return {"Authorization": f"Bearer {token}"}
def send_direct_message(email: str, message: str, tool_context: ToolContext) -> dict:
"""Sends a Google Chat Direct Message (DM) to a specific user by email address."""
chat_client = chat_v1.ChatServiceClient(
credentials=Credentials(token=_get_access_token_from_context(tool_context))
)
# 1. Setup the DM space or find existing one
person = chat_v1.User(
name=f"users/{email}",
type_=chat_v1.User.Type.HUMAN
)
membership = chat_v1.Membership(member=person)
space_req = chat_v1.Space(space_type=chat_v1.Space.SpaceType.DIRECT_MESSAGE)
setup_request = chat_v1.SetUpSpaceRequest(
space=space_req,
memberships=[membership]
)
space_response = chat_client.set_up_space(request=setup_request)
space_name = space_response.name
# 2. Send the message
msg = chat_v1.Message(text=message)
message_request = chat_v1.CreateMessageRequest(
parent=space_name,
message=msg
)
message_response = chat_client.create_message(request=message_request)
return {"status": "success", "message_id": message_response.name, "space": space_name}
vertexai_mcp = McpToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://discoveryengine.googleapis.com/mcp",
timeout=VERTEXAI_SEARCH_TIMEOUT,
sse_read_timeout=VERTEXAI_SEARCH_TIMEOUT
),
tool_filter=['search'],
# The auth_header_provider dynamically injects the bearer token from the ToolContext
# into the MCP call for authentication.
header_provider=auth_header_provider
)
# Answer nicely the following user queries:
# - Please find my meetings for today, I need their titles and links
# - What is the latest Drive file I created?
# - What is the latest Gmail message I received?
# - Please send the following message to someone@example.com: Hello, this is a test message.
root_agent = LlmAgent(
model=MODEL,
name='enterprise_ai',
instruction=f"""
You are a helpful assistant that always uses the Vertex AI MCP search tool to answer the user's message, unless the user asks you to send a message to someone.
If the user asks you to send a message to someone, use the send_direct_message tool to send the message.
You MUST unconditionally use the Vertex AI MCP search tool to find answer, even if you believe you already know the answer or believe the Vertex AI MCP search tool does not contain the data.
The Vertex AI MCP search tool accesses the user's data through datastores including Google Drive, Google Calendar, and Gmail.
Only use the Vertex AI MCP search tool with servingConfig and query parameters, do not use any other parameters.
Always use the servingConfig {find_serving_config_path()} while using the Vertex AI MCP search tool.
""",
tools=[vertexai_mcp, FunctionTool(send_direct_message)]
)
API গুলি সক্ষম করুন
সমাধানটির জন্য অতিরিক্ত API সক্রিয়করণ প্রয়োজন:
- গুগল ক্লাউড কনসোলে , ভার্টেক্স এআই, ক্লাউড রিসোর্স ম্যানেজার এবং গুগল চ্যাট এপিআই সক্ষম করুন:

- মেনু ☰ > APIs & Services > Enabled APIs & Services- এ ক্লিক করুন এবং তারপর নিশ্চিত করুন যে Vertex AI API , Cloud Resource Manager API , এবং Google Chat API তালিকায় রয়েছে।
OAuth সম্মতি স্ক্রিন আপডেট করুন
সমাধানটির জন্য অতিরিক্ত ডেটা অ্যাক্সেস প্রয়োজন:
- গুগল ক্লাউড কনসোলে , মেনু ☰ > গুগল অথ প্ল্যাটফর্ম > ডেটা অ্যাক্সেস এ ক্লিক করুন।
- স্কোপ যোগ করুন বা সরান ক্লিক করুন।
- নিম্নলিখিত স্কোপগুলি অনুলিপি করুন এবং ম্যানুয়ালি অ্যাড স্কোপ ক্ষেত্রে পেস্ট করুন।
- Add to table এ ক্লিক করুন, তারপর Update করুন , তারপর Save করুন ।
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.spaces.create
- Add to table এ ক্লিক করুন, তারপর Update করুন , তারপর Save করুন ।

OAuth ক্লায়েন্ট ক্রেডেনশিয়াল আপডেট করুন
সমাধানটির জন্য একটি অতিরিক্ত অনুমোদিত পুনর্নির্দেশ URI প্রয়োজন:
- গুগল ক্লাউড কনসোলে , মেনু ☰ > গুগল অথ প্ল্যাটফর্ম > ক্লায়েন্ট এ ক্লিক করুন।
- ক্লায়েন্টের নামের উপর ক্লিক করুন
codelab. - অনুমোদিত পুনঃনির্দেশ URI বিভাগে, URI যোগ করুন ক্লিক করুন এবং
https://vertexaisearch.cloud.google.com/static/oauth/oauth.htmlলিখুন। - সংরক্ষণ করুন ক্লিক করুন।

Vertex AI সার্চ MCP সক্ষম করুন
- একটি টার্মিনালে, এক্সিকিউট করুন:
gcloud beta services mcp enable discoveryengine.googleapis.com \
--project=$(gcloud config get-value project)
চ্যাট অ্যাপ কনফিগার করুন
- গুগল ক্লাউড কনসোলে , গুগল ক্লাউড অনুসন্ধান ক্ষেত্রে
Google Chat APIঅনুসন্ধান করুন, গুগল চ্যাট API ক্লিক করুন, পরিচালনা করুন ক্লিক করুন এবং কনফিগারেশন ক্লিক করুন।
- অ্যাপের নাম এবং বর্ণনা
Gemini Enterpriseএ সেট করুন। - Avatar URL টি
https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.pngএ সেট করুন। - Enable Interactive features অনির্বাচন করুন, তারপর প্রদর্শিত মোডাল ডায়ালগে Disable এ ক্লিক করুন।
- Logging থেকে Log errors নির্বাচন করুন।
- সংরক্ষণ করুন ক্লিক করুন।

ভার্টেক্স এআই এজেন্ট ইঞ্জিনে এজেন্ট স্থাপন করুন
- এই GitHub সংগ্রহস্থলটি ডাউনলোড করুন।
- একটি টার্মিনালে,
solutions/enterprise-ai-agentডিরেক্টরিটি খুলুন এবং তারপর কার্যকর করুন:
# 1. Create and activate a new virtual environment python3 -m venv .venv source .venv/bin/activate # 2. Install poetry and project dependencies pip install poetry poetry install # 3. Deploy the agent adk deploy agent_engine \ --project=$(gcloud config get-value project) \ --region=us-central1 \ --display_name="Enterprise AI" \ enterprise_ai

- যখন আপনি লগগুলিতে "Deploying to agent engine..." লাইনটি দেখতে পাবেন, তখন একটি নতুন টার্মিনাল খুলুন এবং Vertex AI Reasoning Engine Service Agent- এ প্রয়োজনীয় অনুমতি যোগ করতে নিম্নলিখিত কমান্ডটি কার্যকর করুন:
# 1. Get the current Project ID
PROJECT_ID=$(gcloud config get-value project)
# 2. Extract the Project Number for that ID
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
# 3. Construct the Service Account name
SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com"
# 4. Apply the IAM policy binding
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role="roles/discoveryengine.viewer"
- adk deploy কমান্ডটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন তারপর সবুজ রঙে কমান্ড আউটপুট থেকে নতুন মোতায়েন করা এজেন্টের রিসোর্সের নামটি কপি করুন।

জেমিনি এন্টারপ্রাইজে এজেন্ট নিবন্ধন করুন
একটি নতুন ট্যাবে ক্লাউড কনসোল থেকে জেমিনি এন্টারপ্রাইজ খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
-
codelabনামের অ্যাপটিতে ক্লিক করুন। - নেভিগেশন মেনুতে, এজেন্ট ক্লিক করুন।
- + এজেন্ট যোগ করুন ক্লিক করুন।
- এজেন্ট ইঞ্জিনের মাধ্যমে কাস্টম এজেন্টের জন্য অ্যাড ক্লিক করুন। অনুমোদন বিভাগটি প্রদর্শিত হবে।
- অনুমোদন যোগ করুন ক্লিক করুন।
- অনুমোদনের নামটি
enterprise-aiতে সেট করুন। নামের উপর ভিত্তি করে একটি আইডি তৈরি করা হয় এবং ক্ষেত্রের নীচে প্রদর্শিত হয়, এটি অনুলিপি করুন। - পূর্ববর্তী ধাপগুলিতে OAuth ক্লায়েন্ট তৈরি এবং আপডেট করা মান অনুসারে ক্লায়েন্ট আইডি সেট করুন।
- পূর্ববর্তী ধাপগুলিতে OAuth ক্লায়েন্ট তৈরি এবং আপডেট করা হয়েছে এমন একই মানটিতে ক্লায়েন্ট সিক্রেট সেট করুন।
- টোকেন URI
https://oauth2.googleapis.com/tokenএ সেট করুন। - পূর্ববর্তী ধাপে তৈরি এবং আপডেট করা OAuth ক্লায়েন্ট আইডি দিয়ে <CLIENT_ID> প্রতিস্থাপন করার পরে, Authorization URI নিম্নলিখিত মানটিতে সেট করুন।
https://accounts.google.com/o/oauth2/v2/auth?client_id=<CLIENT_ID>&redirect_uri=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fstatic%2Foauth%2Foauth.html&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.calendars%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.events%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.send%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fchat.messages.create%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fchat.spaces.create&include_granted_scopes=true&response_type=code&access_type=offline&prompt=consent
- Done তারপর Next এ ক্লিক করুন। কনফিগারেশন বিভাগটি প্রদর্শিত হবে।
- এজেন্টের নাম এবং এজেন্টের বিবরণ
Enterprise AIতে সেট করুন। - এজেন্ট ইঞ্জিন রিজনিং ইঞ্জিনকে পূর্ববর্তী ধাপে কপি করা রিজনিং ইঞ্জিন রিসোর্স নামে সেট করুন। এর ফর্ম্যাটটি নিম্নরূপ:
projects/<PROJECT_ID>/locations/<LOCATION>/reasoningEngines/<REASONING_ENGINE_ID>
- তৈরি করুন ক্লিক করুন। নতুন যোগ করা এজেন্টটি এখন এজেন্টের অধীনে তালিকাভুক্ত।
এজেন্ট ব্যবহার করে দেখুন
- জেমিনি এন্টারপ্রাইজ ওয়েব অ্যাপে, নতুন নিবন্ধিত এজেন্টের সাথে চ্যাট করুন:
- মেনু ☰ > এজেন্ট ক্লিক করুন।
- আপনার প্রতিষ্ঠান থেকে এজেন্ট নির্বাচন করুন।
- চ্যাটে,
Please find my meetings for today, I need their titles and linksটাইপ করুন এবংenterটিপুন। - অনুমোদন করুন এ ক্লিক করুন, তারপর অনুমোদনের প্রবাহ অনুসরণ করুন।

- এজেন্ট ক্যালেন্ডার ইভেন্টের একটি তালিকা সহ উত্তর দেয় (ব্যবহারকারীর অ্যাকাউন্টের উপর নির্ভর করে)।
- চ্যাটে,
Please send a Chat message to someone@example.com with the following text: Hello!এবংenterটিপুন। - এজেন্ট একটি নিশ্চিতকরণ বার্তার মাধ্যমে উত্তর দেয়।


৫. Google Workspace অ্যাড-অন হিসেবে ডিফল্ট এজেন্ট
এই এজেন্ট ব্যবহারকারীদের Workspace অ্যাপ UI-এর প্রেক্ষাপটে তাদের স্বাভাবিক ভাষায় Workspace-এর ডেটা অনুসন্ধান করার অনুমতি দেয়। এটি নিম্নলিখিত উপাদানগুলির উপর নির্ভর করে:
- মডেল: মিথুন।
- ডেটা: জেমিনি এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস (ক্যালেন্ডার, জিমেইল, ড্রাইভ, নোটবুকএলএম), গুগল সার্চের জন্য ডেটা সঞ্চয় করে।
- এজেন্ট হোস্ট: জেমিনি এন্টারপ্রাইজ।
- UI: চ্যাট এবং জিমেইলের জন্য গুগল ওয়ার্কস্পেস অ্যাড-অন (ক্যালেন্ডার, ড্রাইভ, ডক্স, শিট এবং স্লাইডে সহজেই সম্প্রসারিত করা যায়)।
- গুগল ওয়ার্কস্পেস অ্যাড-অন: অ্যাপস স্ক্রিপ্ট, জেমিনি এন্টারপ্রাইজ এবং ভার্টেক্স এআই এপিআই, প্রাসঙ্গিক (ব্যবহারকারীর মেটাডেটা, নির্বাচিত জিমেইল বার্তা)।
StreamAssist API ব্যবহার করে Google Workspace অ্যাড-অনটি Gemini Enterprise-এর সাথে সংযুক্ত হবে।
ধারণাগুলি পর্যালোচনা করুন
গুগল ওয়ার্কস্পেস অ্যাড-অন
Google Workspace অ্যাড-অন হল একটি কাস্টমাইজড অ্যাপ্লিকেশন যা এক বা একাধিক Google Workspace অ্যাপ্লিকেশন (Gmail, Chat, Calendar, Docs, Drive, Meet, Sheets এবং Slides) প্রসারিত করে।
অ্যাপস স্ক্রিপ্ট
অ্যাপস স্ক্রিপ্ট হল গুগল ড্রাইভ দ্বারা চালিত একটি ক্লাউড-ভিত্তিক জাভাস্ক্রিপ্ট প্ল্যাটফর্ম যা আপনাকে গুগল পণ্য জুড়ে কাজগুলির সাথে একীভূত এবং স্বয়ংক্রিয় করতে দেয়।
গুগল ওয়ার্কস্পেস কার্ড ফ্রেমওয়ার্ক
গুগল ওয়ার্কস্পেসের কার্ড ফ্রেমওয়ার্ক ডেভেলপারদের সমৃদ্ধ, ইন্টারেক্টিভ ইউজার ইন্টারফেস তৈরি করতে সক্ষম করে। এটি টেক্সট, ছবি, বোতাম এবং অন্যান্য উইজেট সহ সুসংগঠিত এবং দৃষ্টিনন্দন কার্ড তৈরির সুযোগ করে দেয়। এই কার্ডগুলি কাঠামোগত তথ্য প্রদান করে এবং ওয়ার্কস্পেস অ্যাপ্লিকেশনের মধ্যে সরাসরি দ্রুত পদক্ষেপ গ্রহণের সুযোগ করে দিয়ে ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
সমাধান স্থাপত্য পর্যালোচনা করুন

সোর্স কোড পর্যালোচনা করুন
অ্যাপস্ক্রিপ্ট.জেসন
...
"addOns": {
"common": {
"name": "Enterprise AI",
"logoUrl": "https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.png"
},
"chat": {},
"gmail": {
"contextualTriggers": [
{
"unconditional": {},
"onTriggerFunction": "onAddonEvent"
}
]
}
},
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/discoveryengine.assist.readwrite",
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.readonly"
]
...
চ্যাট.জিএস
...
// Service that handles Google Chat operations.
// Handle incoming Google Chat message events, actions will be taken via Google Chat API calls
function onMessage(event) {
if (isInDebugMode()) {
console.log(`MESSAGE event received (Chat): ${JSON.stringify(event)}`);
}
// Extract data from the event.
const chatEvent = event.chat;
setChatConfig(chatEvent.messagePayload.space.name);
// Request AI agent to answer the message
requestAgent(chatEvent.messagePayload.message);
// Respond with an empty response to the Google Chat platform to acknowledge execution
return null;
}
// --- Utility functions ---
// The Chat direct message (DM) space associated with the user
const SPACE_NAME_PROPERTY = "DM_SPACE_NAME"
// Sets the Chat DM space name for subsequent operations.
function setChatConfig(spaceName) {
const userProperties = PropertiesService.getUserProperties();
userProperties.setProperty(SPACE_NAME_PROPERTY, spaceName);
console.log(`Space is set to ${spaceName}`);
}
// Retrieved the Chat DM space name to sent messages to.
function getConfiguredChat() {
const userProperties = PropertiesService.getUserProperties();
return userProperties.getProperty(SPACE_NAME_PROPERTY);
}
// Finds the Chat DM space name between the Chat app and the given user.
function findChatAppDm(userName) {
return Chat.Spaces.findDirectMessage(
{ 'name': userName },
{'Authorization': `Bearer ${getAddonCredentials().getAccessToken()}`}
).name;
}
// Creates a Chat message in the configured space.
function createMessage(message) {
const spaceName = getConfiguredChat();
console.log(`Creating message in space ${spaceName}...`);
return Chat.Spaces.Messages.create(
message,
spaceName,
{},
{'Authorization': `Bearer ${getAddonCredentials().getAccessToken()}`}
).name;
}
সাইডবার.gs
...
// Service that handles Gmail operations.
// Triggered when the user opens the Gmail Add-on or selects an email.
function onAddonEvent(event) {
// If this was triggered by a button click, handle it
if (event.parameters && event.parameters.action === 'send') {
return handleSendMessage(event);
}
// Otherwise, just render the default initial sidebar
return createSidebarCard();
}
// Creates the standard Gmail sidebar card consisting of a text input and send button.
// Optionally includes an answer section if a response was generated.
function createSidebarCard(optionalAnswerSection) {
const card = CardService.newCardBuilder();
const actionSection = CardService.newCardSection();
// Create text input for the user's message
const messageInput = CardService.newTextInput()
.setFieldName("message")
.setTitle("Message")
.setMultiline(true);
// Create action for sending the message
const sendAction = CardService.newAction()
.setFunctionName('onAddonEvent')
.setParameters({ 'action': 'send' });
const sendButton = CardService.newTextButton()
.setText("Send message")
.setTextButtonStyle(CardService.TextButtonStyle.FILLED)
.setOnClickAction(sendAction);
actionSection.addWidget(messageInput);
actionSection.addWidget(CardService.newButtonSet().addButton(sendButton));
card.addSection(actionSection);
// Attach the response at the bottom if we have one
if (optionalAnswerSection) {
card.addSection(optionalAnswerSection);
}
return card.build();
}
// Handles clicks from the Send message button.
function handleSendMessage(event) {
const commonEventObject = event.commonEventObject || {};
const formInputs = commonEventObject.formInputs || {};
const messageInput = formInputs.message;
let userMessage = "";
if (messageInput && messageInput.stringInputs && messageInput.stringInputs.value.length > 0) {
userMessage = messageInput.stringInputs.value[0];
}
if (!userMessage || userMessage.trim().length === 0) {
return CardService.newActionResponseBuilder()
.setNotification(CardService.newNotification().setText("Please enter a message."))
.build();
}
let finalQueryText = `USER MESSAGE TO ANSWER: ${userMessage}`;
// If we have an email selected in Gmail, append its content as context
if (event.gmail && event.gmail.messageId) {
try {
GmailApp.setCurrentMessageAccessToken(event.gmail.accessToken);
const message = GmailApp.getMessageById(event.gmail.messageId);
const subject = message.getSubject();
const bodyText = message.getPlainBody() || message.getBody();
finalQueryText += `\n\nEMAIL THE USER HAS OPENED ON SCREEN:\nSubject: ${subject}\nBody:\n---\n${bodyText}\n---`;
} catch (e) {
console.error("Could not fetch Gmail context: " + e);
// Invalidate the token explicitly so the next prompt requests the missing scopes
ScriptApp.invalidateAuth();
CardService.newAuthorizationException()
.setResourceDisplayName("Enterprise AI")
.setAuthorizationUrl(ScriptApp.getAuthorizationUrl())
.throwException();
}
}
try {
const responseText = queryAgent({ text: finalQueryText, forceNewSession: true });
// We leverage the 'showdown' library to parse the LLM's Markdown output into HTML
// We also substitute markdown listings with arrows and adjust newlines for clearer rendering in the sidebar
let displayedText = substituteListingsFromMarkdown(responseText);
displayedText = new showdown.Converter().makeHtml(displayedText).replace(/\n/g, '\n\n');
const textParagraph = CardService.newTextParagraph();
textParagraph.setText(displayedText);
const answerSection = CardService.newCardSection()
.addWidget(textParagraph);
const updatedCard = createSidebarCard(answerSection);
return CardService.newActionResponseBuilder()
.setNavigation(CardService.newNavigation().updateCard(updatedCard))
.build();
} catch (err) {
return CardService.newActionResponseBuilder()
.setNotification(CardService.newNotification().setText("Error fetching response: " + err.message))
.build();
}
}
...
এজেন্টহ্যান্ডলার.জিএস
...
// Service that handles Gemini Enterprise AI Agent operations.
// Submits a query to the AI agent and returns the response string synchronously
function queryAgent(input) {
const isNewSession = input.forceNewSession || !PropertiesService.getUserProperties().getProperty(AGENT_SESSION_NAME);
const sessionName = input.forceNewSession ? createAgentSession() : getOrCreateAgentSession();
let systemPrompt = "SYSTEM PROMPT START Do not respond with tables but use bullet points instead.";
if (input.forceNewSession) {
systemPrompt += " Do not ask the user follow-up questions or converse with them as history is not kept in this interface.";
}
systemPrompt += " SYSTEM PROMPT END\n\n";
const queryText = isNewSession ? systemPrompt + input.text : input.text;
const requestPayload = {
"session": sessionName,
"userMetadata": { "timeZone": Session.getScriptTimeZone() },
"query": { "text": queryText },
"toolsSpec": { "vertexAiSearchSpec": { "dataStoreSpecs": getAgentDataStores().map(ds => { dataStore: ds }) } },
"agentsSpec": { "agentSpecs": [{ "agentId": getAgentId() }] }
};
const responseContentText = UrlFetchApp.fetch(
`https://${getLocation()}-discoveryengine.googleapis.com/v1alpha/${getReasoningEngine()}/assistants/default_assistant:streamAssist?alt=sse`,
{
method: 'post',
headers: { 'Authorization': `Bearer ${ScriptApp.getOAuthToken()}` },
contentType: 'application/json',
payload: JSON.stringify(requestPayload),
muteHttpExceptions: true
}
).getContentText();
if (isInDebugMode()) {
console.log(`Response: ${responseContentText}`);
}
const events = responseContentText.split('\n').map(s => s.replace(/^data:\s*/, '')).filter(s => s.trim().length > 0);
console.log(`Received ${events.length} agent events.`);
let answerText = "";
for (const eventJson of events) {
if (isInDebugMode()) {
console.log("Event: " + eventJson);
}
const event = JSON.parse(eventJson);
// Ignore internal events
if (!event.answer) {
console.log(`Ignored: internal event`);
continue;
}
// Handle text replies
const replies = event.answer.replies || [];
for (const reply of replies) {
const content = reply.groundedContent.content;
if (content) {
if (isInDebugMode()) {
console.log(`Processing content: ${JSON.stringify(content)}`);
}
if (content.thought) {
console.log(`Ignored: thought event`);
continue;
}
answerText += content.text;
}
}
if (event.answer.state === "SUCCEEDED") {
console.log(`Answer text: ${answerText}`);
return answerText;
} else if (event.answer.state !== "IN_PROGRESS") {
throw new Error("Something went wrong, check the Apps Script logs for more info.");
}
}
return answerText;
}
// Gets the list of data stores configured for the agent to include in the request.
function getAgentDataStores() {
const responseContentText = UrlFetchApp.fetch(
`https://${getLocation()}-discoveryengine.googleapis.com/v1/${getReasoningEngine().split('/').slice(0, 6).join('/')}/dataStores`,
{
method: 'get',
// Use the add on service account credentials for data store listing access
headers: { 'Authorization': `Bearer ${getAddonCredentials().getAccessToken()}` },
contentType: 'application/json',
muteHttpExceptions: true
}
).getContentText();
if (isInDebugMode()) {
console.log(`Response: ${responseContentText}`);
}
const dataStores = JSON.parse(responseContentText).dataStores.map(ds => ds.name);
if (isInDebugMode()) {
console.log(`Data stores: ${dataStores}`);
}
return dataStores;
}
...
পরিষেবা অ্যাকাউন্ট শুরু করুন
গুগল ক্লাউড কনসোলে , এই পদক্ষেপগুলি অনুসরণ করুন:
- মেনু ☰ > IAM & Admin > পরিষেবা অ্যাকাউন্ট > + পরিষেবা অ্যাকাউন্ট তৈরি করুন এ ক্লিক করুন।
- পরিষেবা অ্যাকাউন্টের নাম
ge-add-onএ সেট করুন।

- তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
- অনুমতিগুলিতে Discovery Engine Viewer ভূমিকা যোগ করুন।

- "চালিয়ে যান" ক্লিক করুন তারপর সম্পন্ন করুন । আপনাকে পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় পুনঃনির্দেশিত করা হবে এবং আপনি আপনার তৈরি করা পরিষেবা অ্যাকাউন্টটি দেখতে পাবেন।

- নতুন তৈরি পরিষেবা অ্যাকাউন্টটি নির্বাচন করুন, তারপর কী ট্যাবটি নির্বাচন করুন।
- "কী যোগ করুন" ক্লিক করুন তারপর নতুন কী তৈরি করুন ।
- JSON নির্বাচন করুন তারপর Create এ ক্লিক করুন।

- ডায়ালগটি বন্ধ হয়ে যায় এবং আপনার নতুন তৈরি পাবলিক/প্রাইভেট কী জোড়া স্বয়ংক্রিয়ভাবে আপনার স্থানীয় পরিবেশে JSON ফাইল হিসাবে ডাউনলোড হয়।
অ্যাপস স্ক্রিপ্ট প্রজেক্ট তৈরি এবং কনফিগার করুন
- এন্টারপ্রাইজ এআই অ্যাড অন অ্যাপস স্ক্রিপ্ট প্রকল্পটি খুলতে নিম্নলিখিত বোতামটি ক্লিক করুন:
- ওভারভিউ > একটি কপি তৈরি করুন ক্লিক করুন।
- আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে, স্ক্রিপ্ট প্রপার্টি যোগ করতে প্রোজেক্ট সেটিংস > স্ক্রিপ্ট প্রপার্টি সম্পাদনা করুন > স্ক্রিপ্ট প্রপার্টি যোগ করুন এ ক্লিক করুন।
- REASONING_ENGINE_RESOURCE_NAME কে Gemini Enterprise অ্যাপ্লিকেশন রিসোর্স নামে সেট করুন। এর ফর্ম্যাটটি নিম্নরূপ:
# 1. Replace PROJECT_ID with the Google Cloud project ID. # 2. Replace GE_APP_ID with the codelab app ID found in Google Cloud console > Gemini Enterprise > Apps. projects/<PROJECT_ID>/locations/global/collections/default_collection/engines/<GE_APP_ID>
- পূর্ববর্তী ধাপে ডাউনলোড করা পরিষেবা অ্যাকাউন্ট ফাইল থেকে APP_SERVICE_ACCOUNT_KEY কে JSON কীতে সেট করুন।
- স্ক্রিপ্ট বৈশিষ্ট্য সংরক্ষণ করুন ক্লিক করুন
Gmail এবং Chat-এ ব্যবহার করুন
আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে, এই পদক্ষেপগুলি অনুসরণ করুন:
- Deploy > Test deployments এ ক্লিক করুন, তারপর Install করুন । এটি এখন Gmail এ উপলব্ধ।
- হেড ডিপ্লয়মেন্ট আইডি এর অধীনে কপি ক্লিক করুন।

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

অ্যাড অন ব্যবহার করে দেখুন
একটি নতুন ট্যাবে Google Chat খুলুন, তারপর এই ধাপগুলি অনুসরণ করুন:
- চ্যাট অ্যাপ জেমিনি এন্টারপ্রাইজ দিয়ে একটি সরাসরি বার্তা স্থান খুলুন।

- কনফিগার ক্লিক করুন এবং প্রমাণীকরণ প্রবাহের মধ্য দিয়ে যান।
-
What are my meetings for today?টাইপ করুন এবংenterটিপুন। জেমিনি এন্টারপ্রাইজ চ্যাট অ্যাপটি ফলাফল সহ উত্তর দেবে।

একটি নতুন ট্যাবে Gmail খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
- নিজেকে একটি ইমেল পাঠান যেখানে Subject "
We need to talkএবং Body "Are you available today between 8 and 9 AM? - নতুন প্রাপ্ত ইমেল বার্তাটি খুলুন।
- সাইডবারে এন্টারপ্রাইজ এআই অ্যাড খুলুন।
- বার্তাটি "
Am I?এ সেট করুন। - বার্তা পাঠান ক্লিক করুন।
- বোতামের পরে উত্তরটি প্রদর্শিত হবে।

৬. পরিষ্কার করা
গুগল ক্লাউড প্রোজেক্ট মুছুন
এই কোডল্যাবে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে Google ক্লাউড প্রোজেক্টটি মুছে ফেলার পরামর্শ দিচ্ছি।
গুগল ক্লাউড কনসোলে , এই পদক্ষেপগুলি অনুসরণ করুন:
- মেনু ☰ > IAM & Admin > সেটিংস এ ক্লিক করুন।
- বন্ধ করুন ক্লিক করুন।
- প্রকল্প আইডি লিখুন।
- যাই হোক বন্ধ করুন ক্লিক করুন।

৭. অভিনন্দন
অভিনন্দন! আপনি এমন সমাধান তৈরি করেছেন যা কর্মীদের জন্য জেমিনি এন্টারপ্রাইজ এবং গুগল ওয়ার্কস্পেসকে আরও কাছাকাছি আনার শক্তিকে কাজে লাগায়!
এরপর কী?
আমরা এই কোডল্যাবের কেবলমাত্র সবচেয়ে সাধারণ ব্যবহারের উদাহরণগুলিই প্রদর্শন করছি, তবে আপনার সমাধানগুলিতে প্রচুর সম্প্রসারণের ক্ষেত্র বিবেচনা করতে পারেন, যেমন নিম্নলিখিতগুলি:
- জেমিনি সিএলআই এবং অ্যান্টিগ্র্যাভিটির মতো এআই-ক্ষমতাসম্পন্ন ডেভেলপার টুল ব্যবহার করুন।
- অন্যান্য এজেন্ট ফ্রেমওয়ার্ক এবং টুল যেমন কাস্টম MCP, কাস্টম ফাংশন কল এবং জেনারেটিভ UI এর সাথে একীভূত করুন।
- Vertex AI-এর মতো ডেডিকেটেড প্ল্যাটফর্মে হোস্ট করা কাস্টমস সহ অন্যান্য AI মডেলের সাথে একীভূত করুন।
- ডায়ালগফ্লো-এর মতো ডেডিকেটেড প্ল্যাটফর্মে অথবা ক্লাউড মার্কেটপ্লেসের মাধ্যমে তৃতীয় পক্ষের দ্বারা হোস্ট করা অন্যান্য এজেন্টদের সাথে একীভূত করুন।
- দল, সংস্থা বা জনসাধারণের ব্যবহারকারীদের ক্ষমতায়নের জন্য ক্লাউড মার্কেটপ্লেসে প্রকাশনা এজেন্টদের নিয়োগ করুন।
আরও জানুন
ডেভেলপারদের জন্য প্রচুর রিসোর্স রয়েছে যেমন ইউটিউব ভিডিও, ডকুমেন্টেশন ওয়েবসাইট, কোড নমুনা এবং টিউটোরিয়াল:
- গুগল ক্লাউড ডেভেলপার সেন্টার
- সমর্থিত পণ্য | গুগল ক্লাউড এমসিপি সার্ভার
- A2UI সম্পর্কে
- ভার্টেক্স এআই-তে মডেল গার্ডেন | গুগল ক্লাউড
- এজেন্টদের ওভারভিউ | জেমিনি এন্টারপ্রাইজ | গুগল ক্লাউড ডকুমেন্টেশন
- গুগল ক্লাউড মার্কেটপ্লেস এবং জেমিনি এন্টারপ্রাইজের মাধ্যমে এআই এজেন্টদের স্কেল করা
- গুগল ক্লাউড মার্কেটপ্লেসের মাধ্যমে এআই এজেন্টদের অফার করুন
- গুগল ওয়ার্কস্পেস ডেভেলপারদের ইউটিউব চ্যানেল - ডেভেলপারদের স্বাগতম!
- গুগল ওয়ার্কস্পেস ডেভেলপারদের ওয়েবসাইট
- সমস্ত Google Workspace অ্যাড-অন নমুনার জন্য GitHub সংগ্রহস্থল

