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

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


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

![840b494aa5eaa1ef.png - [অনলাইন].](https://codelabs.developers.google.com/static/vertexai-gws-agents/img/840b494aa5eaa1ef.png?authuser=19&hl=bn)
তুমি কি শিখবে
- ভার্টেক্স এআই সার্চ এবং গুগল ওয়ার্কস্পেসের মধ্যে ইন্টিগ্রেশন পয়েন্টগুলি যা ডেটা এবং অ্যাকশন সক্ষম করে।
- ভার্টেক্স এআই-তে হোস্ট করা কাস্টম এজেন্ট তৈরির বিকল্পগুলি।
- ব্যবহারকারীরা ভার্টেক্স এআই সার্চ ওয়েব উইজেট এবং গুগল ওয়ার্কস্পেস অ্যাপ্লিকেশনের মতো এজেন্টদের অ্যাক্সেস করার উপায়।
2. সেট আপ করুন
সমাধান তৈরি করার আগে, আমাদের প্রকল্পের ভার্টেক্স এআই অ্যাপ্লিকেশন সেটিংস শুরু করতে হবে, প্রয়োজনীয় API গুলি সক্ষম করতে হবে এবং ভার্টেক্স এআই ওয়ার্কস্পেস ডেটা স্টোর তৈরি করতে হবে।
ধারণাগুলি পর্যালোচনা করুন
ভার্টেক্স এআই অ্যাপ্লিকেশন
একটি ভার্টেক্স এআই অ্যাপ্লিকেশন হল গুগল ক্লাউডে একটি পরিচালিত, এন্ড-টু-এন্ড সমাধান যা মেশিন লার্নিং মডেলগুলিকে (যেমন জেনারেটিভ এআই এজেন্ট বা সার্চ ইঞ্জিন) এন্টারপ্রাইজ ডেটা এবং বিশেষায়িত সরঞ্জামগুলির সাথে একীভূত করে যাতে শব্দার্থিক অনুসন্ধান, কন্টেন্ট তৈরি বা স্বয়ংক্রিয় গ্রাহক মিথস্ক্রিয়ার মতো জটিল কাজগুলি সম্পাদন করা যায়।
ভার্টেক্স এআই ডেটা স্টোর
ভার্টেক্স এআই ডেটা স্টোর হল এমন একটি সত্তা যেখানে গুগল ওয়ার্কস্পেসের মতো প্রথম-পক্ষের ডেটা উৎস বা জিরা বা শপিফাইয়ের মতো তৃতীয় পক্ষের অ্যাপ্লিকেশন থেকে সংগৃহীত ডেটা থাকে। যেসব ডেটা স্টোরে তৃতীয় পক্ষের অ্যাপ্লিকেশন থেকে ডেটা থাকে তাদের ডেটা সংযোগকারীও বলা হয়।
ভার্টেক্স এআই অ্যাপ্লিকেশন সেটিংস শুরু করুন
এজেন্ট তৈরি সক্ষম করতে Vertex AI অ্যাপ্লিকেশন সেটিংস শুরু করুন।
একটি নতুন ট্যাবে গুগল ক্লাউড কনসোল খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার প্রকল্পটি নির্বাচন করুন।
- গুগল ক্লাউড অনুসন্ধান ক্ষেত্রে, এআই অ্যাপ্লিকেশনগুলিতে যান
- শর্তাবলী পর্যালোচনা এবং সম্মত হওয়ার পর Continue-এ ক্লিক করুন এবং API সক্রিয় করুন ।
- সেটিংসে নেভিগেট করুন।
- প্রমাণীকরণ ট্যাবে, global সম্পাদনা করুন।

- Google Identity নির্বাচন করুন, তারপর Save এ ক্লিক করুন।

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

- মেনু ☰ > APIs & Services > Enabled APIs & Services- এ ক্লিক করুন এবং তারপর নিশ্চিত করুন যে Google Calendar API , Gmail API , এবং People API তালিকায় রয়েছে।
ডেটা স্টোর তৈরি করুন
গুগল ড্রাইভ ডেটা স্টোর তৈরি করুন:
- গুগল ক্লাউড কনসোলে, AI অ্যাপ্লিকেশনগুলিতে যান, তারপর ডেটা স্টোরগুলিতে নেভিগেট করুন।
- + ডেটা স্টোর তৈরি করুন এ ক্লিক করুন।
- Source -এ, Google Drive -এর অধীনে, Select -এ ক্লিক করুন।

- Data তে, All নির্বাচন করুন, এবং Continue এ ক্লিক করুন।

- কনফিগারেশনে , ডেটা সংযোগকারীর নাম
driveসেট করুন এবং প্রযোজ্য চার্জ পর্যালোচনা এবং সম্মত হওয়ার পরে চালিয়ে যান ক্লিক করুন।

- প্রাইসিং -এ, আপনার পছন্দের মূল্য নির্ধারণের মডেলটি নির্বাচন করুন এবং তৈরি করুন -এ ক্লিক করুন। এই কোডল্যাবের প্রেক্ষাপটে সাধারণ মূল্য নির্ধারণের পরামর্শ দেওয়া হচ্ছে।
- আপনাকে স্বয়ংক্রিয়ভাবে ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোর দেখতে পাবেন।
গুগল ক্যালেন্ডার ডেটা স্টোর তৈরি করুন:
- + ডেটা স্টোর তৈরি করুন এ ক্লিক করুন।
- উৎস বিভাগে, Google Calendar অনুসন্ধান করুন এবং নির্বাচন করুন ক্লিক করুন।
- অ্যাকশন বিভাগে, Skip এ ক্লিক করুন।
- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নাম
calendarসেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোর দেখতে পাবেন।
গুগল জিমেইল ডেটা স্টোর তৈরি করুন:
- + নতুন ডেটা স্টোরে ক্লিক করুন।
- সোর্স বিভাগে, গুগল জিমেইল অনুসন্ধান করুন এবং নির্বাচন করুন ক্লিক করুন।
- অ্যাকশন বিভাগে, Skip এ ক্লিক করুন।
- কনফিগারেশন বিভাগে, ডেটা সংযোগকারীর নামটি
gmailএ সেট করুন। - তৈরি করুন ক্লিক করুন।
- আপনাকে স্বয়ংক্রিয়ভাবে ডেটা স্টোরে পুনঃনির্দেশিত করা হবে যেখানে আপনি নতুন যোগ করা ডেটা স্টোর দেখতে পাবেন।
৩. ভার্টেক্স এআই সার্চ অ্যাপ
এই এজেন্ট ব্যবহারকারীদের তাদের স্বাভাবিক ভাষায় ওয়ার্কস্পেসের জন্য ডেটা অনুসন্ধান এবং পদক্ষেপ নেওয়ার অনুমতি দেয়। এটি নিম্নলিখিত উপাদানগুলির উপর নির্ভর করে:
- মডেল: মিথুন।
- ডেটা এবং অ্যাকশন: Vertex AI গুগল ওয়ার্কস্পেসের (ক্যালেন্ডার, জিমেইল, ড্রাইভ) জন্য ডেটা সঞ্চয় করে।
- এজেন্ট হোস্ট: ভার্টেক্স এআই অনুসন্ধান।
- UI: ভার্টেক্স এআই সার্চ ওয়েব উইজেট।
ধারণাগুলি পর্যালোচনা করুন
Vertex AI Search অ্যাপ
একটি ভার্টেক্স এআই সার্চ অ্যাপ আপনার শেষ ব্যবহারকারীদের অনুসন্ধান ফলাফল, ক্রিয়া এবং এজেন্ট সরবরাহ করে। API-এর প্রেক্ষাপটে "অ্যাপ" শব্দটি ইঞ্জিন শব্দটির সাথে বিনিময়যোগ্যভাবে ব্যবহার করা যেতে পারে। অনুসন্ধান ফলাফল, উত্তর বা ক্রিয়া পরিবেশনের জন্য ডেটা ব্যবহার করার জন্য একটি অ্যাপকে অবশ্যই একটি ডেটা স্টোরের সাথে সংযুক্ত থাকতে হবে।
ভার্টেক্স এআই সার্চ ওয়েব উইজেট
ভার্টেক্স এআই সার্চ ওয়েব উইজ টি হল একটি পূর্ব-নির্মিত, কাস্টমাইজযোগ্য UI উপাদান যা ডেভেলপারদের ন্যূনতম কোডিং সহ সরাসরি একটি ওয়েবসাইটে একটি এআই-চালিত সার্চ বার এবং ফলাফল ইন্টারফেস এম্বেড করতে দেয়।
ভার্টেক্স এআই সার্চ প্রিভিউ
ভার্টেক্স এআই সার্চ প্রিভিউ হল গুগল ক্লাউড কনসোলের মধ্যে একটি অন্তর্নির্মিত পরীক্ষার পরিবেশ যা ডেভেলপারদের অনুসন্ধান কনফিগারেশন এবং জেনারেটিভ উত্তরগুলি যাচাই করার অনুমতি দেয় এবং তারপরে একই সেটিংসকে একটি প্রোডাকশন-প্রস্তুত ভার্টেক্স এআই সার্চ ওয়েব উইজেটে নির্বিঘ্নে স্থাপন করে।
সমাধান স্থাপত্য পর্যালোচনা করুন

অ্যাপ তৈরি করুন
আপনার ডেটা স্টোরগুলিকে অ্যাঙ্কর করার জন্য একটি নতুন অনুসন্ধান অ্যাপ তৈরি করুন।
ক্লাউড কনসোল থেকে AI অ্যাপ্লিকেশন > অ্যাপ খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
- + অ্যাপ তৈরি করুন এ ক্লিক করুন।
- টাইপ- এ, কাস্টম অনুসন্ধান (সাধারণ) এর অধীনে, তৈরি করুন-এ ক্লিক করুন।

- কনফিগারেশনে , দাম পর্যালোচনা এবং সম্মত হওয়ার পরে এন্টারপ্রাইজ সংস্করণের বৈশিষ্ট্য এবং জেনারেটিভ রেসপন্স পরীক্ষা করুন।
- অ্যাপের নাম
codelabএ সেট করুন। - নামের উপর ভিত্তি করে একটি আইডি তৈরি করা হয় এবং ক্ষেত্রের নীচে প্রদর্শিত হয়, এটি অনুলিপি করুন।
- কোম্পানির নাম
Codelabএ সেট করুন। - মাল্টি-রিজিওনকে
global (Global)তে সেট করুন। - চালিয়ে যান ক্লিক করুন।

- Data- তে, ড্রাইভ , জিমেইল এবং ক্যালেন্ডার ডেটা স্টোর নির্বাচন করুন, তারপর Continue-এ ক্লিক করুন।

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

ওয়েব উইজেট কনফিগার করুন
অনুসন্ধান উইজেটের ভিজ্যুয়াল চেহারা এবং আচরণ কনফিগার করুন।
- কনফিগারেশনে নেভিগেট করুন।
- UI ট্যাবে, Search টাইপটিকে Search with follow-ups এ সেট করুন, তারপর Save and publish এ ক্লিক করুন।

অ্যাপটি ব্যবহার করে দেখুন
গুগল ক্লাউড কনসোলে সরাসরি অনুসন্ধান অ্যাপটি পরীক্ষা করুন।
- Preview- এ নেভিগেট করুন, ওয়েব উইজেট প্রদর্শিত হবে।
- চ্যাটে,
Do I have any meetings today?টাইপ করুন এবং এন্টারenter। - চ্যাটে,
Did I receive an email on March 1st 2026?টাইপ করুন এবংenterটিপুন। - চ্যাটে,
Give me the title of the latest Drive file I createdটাইপ করুন এবংenterটিপুন।

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

সোর্স কোড পর্যালোচনা করুন
এজেন্ট.পিআই
নিম্নলিখিত কোডটি Vertex AI এর সাথে প্রমাণীকরণ করে, Vertex AI অনুসন্ধান MCP এবং Chat API সরঞ্জামগুলি শুরু করে এবং এজেন্টের আচরণ সংজ্ঞায়িত করে।
- প্রমাণীকরণ : এটি MCP এবং API কলগুলিকে প্রমাণীকরণের জন্য পরিবেশ ভেরিয়েবল থেকে
ACCESS_TOKENপুনরুদ্ধার করে। - টুলস সেটআপ : এটি
vertexai_mcpচালু করে, একটি টুলসেট যা Vertex AI সার্চ মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভার এবংsend_direct_messageটুলের সাথে সংযুক্ত হয়। এটি এজেন্টকে আপনার সংযুক্ত ডেটা স্টোরের মাধ্যমে অনুসন্ধান করার এবং Google Chat বার্তা পাঠানোর ক্ষমতা দেয়। - এজেন্টের সংজ্ঞা : এটি
gemini-2.5-flashমডেল ব্যবহার করেroot_agentসংজ্ঞায়িত করে। নির্দেশাবলী এজেন্টকে তথ্য পুনরুদ্ধারের জন্য অনুসন্ধান সরঞ্জাম এবং কর্মের জন্যsend_direct_messageসরঞ্জাম ব্যবহার করে অগ্রাধিকার দিতে বলে, কার্যকরভাবে আপনার এন্টারপ্রাইজ ডেটাতে এজেন্টকে গ্রাউন্ড করে।
...
MODEL = "gemini-2.5-flash"
# Access token for authentication
ACCESS_TOKEN = os.environ.get("ACCESS_TOKEN")
if not ACCESS_TOKEN:
raise ValueError("ACCESS_TOKEN environment variable must be set")
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 send_direct_message(email: str, message: str) -> dict:
"""Sends a Google Chat Direct Message (DM) to a specific user by email address."""
chat_client = chat_v1.ChatServiceClient(
credentials=Credentials(token=ACCESS_TOKEN)
)
# 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,
headers={"Authorization": f"Bearer {ACCESS_TOKEN}"}
),
tool_filter=['search']
)
# 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)]
)
সোর্স কোড ডাউনলোড করুন
শুরু করতে আপনার স্থানীয় পরিবেশে নমুনা কোডটি ডাউনলোড করুন।
- এই GitHub সংগ্রহস্থলটি ডাউনলোড করুন।
- একটি টার্মিনালে,
solutions/enterprise-ai-agent-localডিরেক্টরিটি খুলুন।
API গুলি সক্ষম করুন
সমাধানটির জন্য অতিরিক্ত API সক্রিয়করণ প্রয়োজন:
- গুগল ক্লাউড কনসোলে , ভার্টেক্স এআই, ক্লাউড রিসোর্স ম্যানেজার এবং গুগল চ্যাট এপিআই সক্ষম করুন:

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

- কনফিগারেশনটি সংরক্ষিত হয় এবং আপনাকে স্বয়ংক্রিয়ভাবে Google Auth প্ল্যাটফর্ম > ওভারভিউ এ পুনঃনির্দেশিত করা হয়।
আরও জানতে, সম্পূর্ণ OAuth কনফিগার সম্মতি নির্দেশিকাটি দেখুন।
OAuth ক্লায়েন্ট ক্রেডেনশিয়াল তৈরি করুন
স্থানীয় পরিবেশে ব্যবহারকারীকে প্রমাণীকরণের জন্য একটি নতুন ডেস্কটপ অ্যাপ OAuth ক্লায়েন্ট তৈরি করুন:
- গুগল ক্লাউড কনসোলে , মেনু ☰ > গুগল অথ প্ল্যাটফর্ম > ক্লায়েন্ট এ ক্লিক করুন।
- + ক্লায়েন্ট তৈরি করুন ক্লিক করুন।
- অ্যাপ্লিকেশন ধরণের জন্য, ডেস্কটপ অ্যাপ নির্বাচন করুন।
- নামটি
codelabএ সেট করুন। - তৈরি করুন ক্লিক করুন। নতুন তৈরি শংসাপত্রটি প্রদর্শিত হবে।
- ডাউনলোড JSON এ ক্লিক করুন এবং
solutions/enterprise-ai-agent-localডিরেক্টরিতে client_secret.json ফাইলটি সংরক্ষণ করুন।

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

ADK ওয়েবে এজেন্ট চালান
ADK ওয়েব ইন্টারফেস ব্যবহার করে স্থানীয়ভাবে এজেন্টটি চালু করুন।
- একটি টার্মিনালে,
solutions/enterprise-ai-agent-localডিরেক্টরিটি খুলুন এবং তারপর কার্যকর করুন:
# 1. Authenticate with all the required scopes gcloud auth application-default login \ --client-id-file=client_secret.json \ --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/chat.spaces,https://www.googleapis.com/auth/chat.messages # 2. Configure environment export ACCESS_TOKEN=$(gcloud auth application-default print-access-token) export GOOGLE_GENAI_USE_VERTEXAI=1 export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project) export GOOGLE_CLOUD_LOCATION=us-central1 # 3. Create and activate a new virtual environment python3 -m venv .venv source .venv/bin/activate # 4. Install poetry and project dependencies pip install poetry poetry install # 5. Start ADK Web adk web

এজেন্ট ব্যবহার করে দেখুন
আপনার কাস্টম এজেন্টের সাথে চ্যাট করে প্রবাহ যাচাই করুন।
- আপনার ইন্টারনেট ব্রাউজারে, ADK ওয়েবসাইটটি খুলুন।
- চ্যাটে,
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টিপুন। - এজেন্ট একটি নিশ্চিতকরণ বার্তার মাধ্যমে উত্তর দেয়।


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

সোর্স কোড পর্যালোচনা করুন
এজেন্ট
এজেন্ট.পিআই
নিম্নলিখিত কোডটি Vertex AI এর সাথে প্রমাণীকরণ করে, Vertex AI অনুসন্ধান MCP এবং Chat API সরঞ্জামগুলি শুরু করে এবং এজেন্টের আচরণ সংজ্ঞায়িত করে।
- প্রমাণীকরণ : এটি ক্লায়েন্ট কর্তৃক প্রেরিত প্রমাণীকরণ টোকেন (
CLIENT_AUTH_NAME) পুনরুদ্ধার করতে একটি সহায়ক ফাংশন_get_access_token_from_contextব্যবহার করে। Vertex AI Search MCP এবং Google Chat টুলের মতো ডাউনস্ট্রিম পরিষেবাগুলিকে নিরাপদে কল করার জন্য এই টোকেনটি অত্যন্ত গুরুত্বপূর্ণ। - টুলস সেটআপ : এটি
vertexai_mcpচালু করে, একটি টুলসেট যা Vertex AI সার্চ মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভার এবংsend_direct_messageটুলের সাথে সংযুক্ত হয়। এটি এজেন্টকে আপনার সংযুক্ত ডেটা স্টোরের মাধ্যমে অনুসন্ধান করার এবং Google Chat বার্তা পাঠানোর ক্ষমতা দেয়। - এজেন্টের সংজ্ঞা : এটি
gemini-2.5-flashমডেল ব্যবহার করেroot_agentসংজ্ঞায়িত করে। নির্দেশাবলী এজেন্টকে তথ্য পুনরুদ্ধারের জন্য অনুসন্ধান সরঞ্জাম এবং কর্মের জন্যsend_direct_messageসরঞ্জাম ব্যবহার করে অগ্রাধিকার দিতে বলে, কার্যকরভাবে আপনার এন্টারপ্রাইজ ডেটাতে এজেন্টকে গ্রাউন্ড করে।
...
MODEL = "gemini-2.5-flash"
# Client injects a bearer token into the ToolContext state.
# The key pattern is "CLIENT_AUTH_NAME_<random_digits>".
# We dynamically parse this token to authenticate our MCP and API calls.
CLIENT_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(CLIENT_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)]
)
ক্লায়েন্ট
অ্যাপস্ক্রিপ্ট.জেসন
নিম্নলিখিত কনফিগারেশনটি অ্যাড-অনের ট্রিগার এবং অনুমতিগুলিকে সংজ্ঞায়িত করে।
- অ্যাড-অন সংজ্ঞায়িত করে : এটি ওয়ার্কস্পেসকে বলে যে এই প্রকল্পটি চ্যাট এবং জিমেইল উভয়ের জন্যই একটি অ্যাড-অন।
- কনটেক্সচুয়াল ট্রিগার : জিমেইলের জন্য, এটি একটি
contextualTriggerসেট আপ করে যা যখনই কোনও ব্যবহারকারী কোনও ইমেল বার্তা খোলে তখনইonAddonEventসক্রিয় হয়। এটি অ্যাড-অনটিকে ইমেল সামগ্রী "দেখতে" অনুমতি দেয়। - অনুমতি : এটি অ্যাড-অন চালানোর জন্য প্রয়োজনীয়
oauthScopesতালিকাভুক্ত করে, যেমন বর্তমান ইমেল পড়ার, স্ক্রিপ্ট চালানোর এবং বহিরাগত পরিষেবাগুলির সাথে সংযোগ করার অনুমতি (যেমন Vertex AI API)।
...
"addOns": {
"common": {
"name": "Vertex 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/cloud-platform",
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.readonly"
]
...
চ্যাট.জিএস
নিম্নলিখিত কোডটি ইনকামিং গুগল চ্যাট বার্তাগুলি পরিচালনা করে।
- বার্তা গ্রহণ করে :
onMessageফাংশন হল বার্তা ইন্টারঅ্যাকশনের প্রবেশ বিন্দু। - প্রসঙ্গ পরিচালনা করে : এটি ব্যবহারকারীর বৈশিষ্ট্যে
space.name(চ্যাট স্পেসের আইডি) সংরক্ষণ করে। এটি নিশ্চিত করে যে এজেন্ট যখন উত্তর দেওয়ার জন্য প্রস্তুত থাকে, তখন সে ঠিক জানে যে কোন কথোপকথনে বার্তাটি পোস্ট করতে হবে। - এজেন্টকে প্রতিনিধি : এটি
requestAgentকল করে, ব্যবহারকারীর বার্তাটি API যোগাযোগ পরিচালনাকারী মূল যুক্তিতে প্রেরণ করে।
...
// 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
নিম্নলিখিত কোডটি Gmail সাইডবার তৈরি করে এবং ইমেল প্রসঙ্গ ক্যাপচার করে।
- UI তৈরি করে :
createSidebarCardওয়ার্কস্পেস কার্ড পরিষেবা ব্যবহার করে ভিজ্যুয়াল ইন্টারফেস তৈরি করে। এটি একটি টেক্সট ইনপুট এরিয়া এবং "বার্তা পাঠান" বোতাম সহ একটি সহজ লেআউট তৈরি করে। - ইমেল কনটেক্সট ক্যাপচার করে :
handleSendMessageএ, কোডটি পরীক্ষা করে যে ব্যবহারকারী বর্তমানে কোনও ইমেল (event.gmail.messageId) দেখছেন কিনা। যদি তা হয়, তাহলে এটি নিরাপদে ইমেলের বিষয় এবং বডি নিয়ে আসে এবং ব্যবহারকারীর প্রম্পটে যুক্ত করে। - ফলাফল প্রদর্শন করে : এজেন্ট সাড়া দেওয়ার পরে, কোডটি উত্তরটি দেখানোর জন্য সাইডবার কার্ড আপডেট করে।
...
// 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 response = queryAgent({ text: finalQueryText });
// 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(response.text);
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();
}
}
...
এজেন্টহ্যান্ডলার.জিএস
নিম্নলিখিত কোডটি Vertex AI-তে API কল পরিচালনা করে।
- API Call :
queryAgentহল আপনার অ্যাড-অন এবং Vertex AI Agent Engine এর মধ্যে সেতুবন্ধন। এটি একটি অনুরোধ তৈরি করে যাতে ব্যবহারকারীর কোয়েরি এবং রাজ্যে auth টোকেন অন্তর্ভুক্ত থাকে। - প্রতিক্রিয়া স্ট্রিম করে : যেহেতু এজেন্ট প্রতিক্রিয়াগুলি কিছুটা সময় নিতে পারে, তাই এটি সার্ভার-সেন্ট ইভেন্টস (SSE) সহ
streamQueryAPI ব্যবহার করে। কোডটি প্রতিক্রিয়াগুলিকে খণ্ডে খণ্ডে সংগ্রহ করে এবং সম্পূর্ণ উত্তর পুনর্গঠন করে।
...
// Service that handles Vertex AI Agent operations.
// Submits a query to the AI agent and returns the response string synchronously
function queryAgent(input) {
let systemPrompt = "SYSTEM PROMPT START Do not respond with tables but use bullet points instead." +
" Do not ask the user follow-up questions or converse with them as history is not kept in this interface." +
" SYSTEM PROMPT END\n\n";
const requestPayload = {
"class_method": "async_stream_query",
"input": {
"user_id": "vertex_ai_add_on",
"message": { "role": "user", "parts": [{ "text": systemPrompt + input.text }] },
"state_delta": {
"enterprise-ai_999": `${ScriptApp.getOAuthToken()}`
}
}
};
const responseContentText = UrlFetchApp.fetch(
`https://${getLocation()}-aiplatform.googleapis.com/v1/${getReasoningEngine()}:streamQuery?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 author = "default";
let answerText = "";
for (const eventJson of events) {
if (isInDebugMode()) {
console.log("Event: " + eventJson);
}
const event = JSON.parse(eventJson);
// Retrieve the agent responsible for generating the content
author = event.author;
// Ignore events that are not useful for the end-user
if (!event.content) {
console.log(`${author}: internal event`);
continue;
}
// Handle text answers
const parts = event.content.parts || [];
const textPart = parts.find(p => p.text);
if (textPart) {
answerText += textPart.text;
}
}
return { author: author, text: answerText };
}
...
ভার্টেক্স এআই এজেন্ট ইঞ্জিনে এজেন্ট স্থাপন করুন
- একটি টার্মিনালে, পূর্ববর্তী ধাপে ডাউনলোড করা উৎসগুলি থেকে
solutions/enterprise-ai-agentডিরেক্টরিটি খুলুন এবং তারপর কার্যকর করুন:
# 1. Create and activate a new virtual environment deactivate 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 কমান্ডটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন তারপর সবুজ রঙে কমান্ড আউটপুট থেকে নতুন মোতায়েন করা এজেন্টের রিসোর্সের নামটি কপি করুন।

পরিষেবা অ্যাকাউন্ট শুরু করুন
অ্যাড-অনের সার্ভার-সাইড ক্রিয়াকলাপ অনুমোদনের জন্য একটি ডেডিকেটেড পরিষেবা অ্যাকাউন্ট তৈরি করুন।
গুগল ক্লাউড কনসোলে , এই পদক্ষেপগুলি অনুসরণ করুন:
- মেনু ☰ > IAM & Admin > পরিষেবা অ্যাকাউন্ট > + পরিষেবা অ্যাকাউন্ট তৈরি করুন এ ক্লিক করুন।
- পরিষেবা অ্যাকাউন্টের নাম
vertexai-add-onএ সেট করুন।

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

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

- ডায়ালগটি বন্ধ হয়ে যায় এবং আপনার নতুন তৈরি পাবলিক/প্রাইভেট কী জোড়া স্বয়ংক্রিয়ভাবে আপনার স্থানীয় পরিবেশে JSON ফাইল হিসাবে ডাউনলোড হয়।
অ্যাপস স্ক্রিপ্ট প্রজেক্ট তৈরি এবং কনফিগার করুন
অ্যাড-অন কোড হোস্ট করার জন্য এবং এর সংযোগ বৈশিষ্ট্যগুলি কনফিগার করার জন্য একটি নতুন অ্যাপস স্ক্রিপ্ট প্রকল্প তৈরি করুন।
- এন্টারপ্রাইজ এআই অ্যাড অন অ্যাপস স্ক্রিপ্ট প্রকল্পটি খুলতে নিম্নলিখিত বোতামটি ক্লিক করুন:
- ওভারভিউ > একটি কপি তৈরি করুন ক্লিক করুন।
- আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে, স্ক্রিপ্ট প্রপার্টি যোগ করতে প্রোজেক্ট সেটিংস > স্ক্রিপ্ট প্রপার্টি সম্পাদনা করুন > স্ক্রিপ্ট প্রপার্টি যোগ করুন এ ক্লিক করুন।
- REASONING_ENGINE_RESOURCE_NAME কে পূর্ববর্তী ধাপে কপি করা Vertex AI এজেন্ট রিসোর্স নামে সেট করুন। এর ফর্ম্যাটটি নিম্নরূপ:
projects/<PROJECT_NUMBER>/locations/us-central1/reasoningEngines/<AGENT_ID>
- পূর্ববর্তী ধাপে ডাউনলোড করা পরিষেবা অ্যাকাউন্ট ফাইল থেকে APP_SERVICE_ACCOUNT_KEY কে JSON কীতে সেট করুন।
- স্ক্রিপ্ট বৈশিষ্ট্য সংরক্ষণ করুন ক্লিক করুন
Gmail এবং Chat-এ ব্যবহার করুন
Gmail এবং Google Chat-এর মধ্যে সরাসরি পরীক্ষা করার জন্য অ্যাড-অনটি স্থাপন করুন।
আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে, এই পদক্ষেপগুলি অনুসরণ করুন:
- Deploy > Test deployments এ ক্লিক করুন, তারপর Install করুন । এটি এখন Gmail এ উপলব্ধ।
- হেড ডিপ্লয়মেন্ট আইডি এর অধীনে কপি ক্লিক করুন।

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

অ্যাড অন ব্যবহার করে দেখুন
আপনার লাইভ অ্যাড-অন ডেটা আনতে পারে কিনা এবং প্রসঙ্গে প্রশ্নের উত্তর দিতে পারে কিনা তা যাচাই করার জন্য এর সাথে ইন্টারঅ্যাক্ট করুন।
একটি নতুন ট্যাবে Google Chat খুলুন, তারপর এই ধাপগুলি অনুসরণ করুন:
- চ্যাট অ্যাপ Vertex AI দিয়ে একটি সরাসরি বার্তা স্থান খুলুন।

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

একটি নতুন ট্যাবে Gmail খুলুন, তারপর এই পদক্ষেপগুলি অনুসরণ করুন:
- নিজেকে একটি ইমেল পাঠান যেখানে Subject "
We need to talkএবং Body "Are you available today between 8 and 9 AM? - নতুন প্রাপ্ত ইমেল বার্তাটি খুলুন।
- সাইডবারে Vertex AI অ্যাডটি খুলুন।
- বার্তাটি
Do I have any meeting conflicts?এ সেট করুন। - বার্তা পাঠান ক্লিক করুন।
- বোতামের পরে উত্তরটি প্রদর্শিত হবে।
![840b494aa5eaa1ef.png - [অনলাইন].](https://codelabs.developers.google.com/static/vertexai-gws-agents/img/840b494aa5eaa1ef.png?authuser=19&hl=bn)
৬. পরিষ্কার করা
গুগল ক্লাউড প্রোজেক্ট মুছুন
এই কোডল্যাবে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে Google ক্লাউড প্রোজেক্টটি মুছে ফেলার পরামর্শ দিচ্ছি।
গুগল ক্লাউড কনসোলে , এই পদক্ষেপগুলি অনুসরণ করুন:
- মেনু ☰ > IAM & Admin > সেটিংস এ ক্লিক করুন।
- বন্ধ করুন ক্লিক করুন।
- প্রকল্প আইডি লিখুন।
- যাই হোক বন্ধ করুন ক্লিক করুন।

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

