১. সংক্ষিপ্ত বিবরণ
পেটেন্ট গবেষণা বিশাল এবং জটিল। প্রাসঙ্গিক উদ্ভাবন খুঁজে বের করার জন্য অগণিত প্রযুক্তিগত সারসংক্ষেপ ঘেঁটে দেখা একটি দুঃসাধ্য কাজ। প্রচলিত কীওয়ার্ড-ভিত্তিক অনুসন্ধান প্রায়শই ভুল ফলাফল দেয় এবং সময়সাপেক্ষ হয়। সারসংক্ষেপগুলো দীর্ঘ এবং প্রযুক্তিগত হওয়ায় মূল ধারণাটি দ্রুত বোঝা কঠিন হয়ে পড়ে। এর ফলে গবেষকরা গুরুত্বপূর্ণ পেটেন্ট খুঁজে পেতে ব্যর্থ হতে পারেন অথবা অপ্রাসঙ্গিক ফলাফলের পেছনে সময় নষ্ট করতে পারেন।
এই বিপ্লবের পেছনের মূল রহস্যটি হলো ভেক্টর সার্চ। সাধারণ কীওয়ার্ড ম্যাচিংয়ের ওপর নির্ভর করার পরিবর্তে, ভেক্টর সার্চ টেক্সটকে সাংখ্যিক উপস্থাপনায় (এম্বেডিং) রূপান্তরিত করে। এর ফলে আমরা শুধু ব্যবহৃত নির্দিষ্ট শব্দগুলোর ওপর ভিত্তি করে নয়, বরং কোয়েরির অর্থের ওপর ভিত্তি করেও অনুসন্ধান করতে পারি। লিটারেচার সার্চের জগতে এটি একটি যুগান্তকারী পরিবর্তন। ভাবুন তো, ডকুমেন্টে হুবহু এই শব্দগুচ্ছটি ব্যবহৃত না হলেও আপনি ‘wearable heart rate monitor’-এর একটি পেটেন্ট খুঁজে পাচ্ছেন।
চ্যালেঞ্জ: আধুনিক সাহিত্য অনুসন্ধান থেকে তাৎক্ষণিক উত্তর এবং ব্যবহারকারীর নিজস্ব পছন্দের সাথে সামঞ্জস্যপূর্ণ বুদ্ধিদীপ্ত সুপারিশ আশা করা হয়। প্রচলিত অনুসন্ধান পদ্ধতিগুলো প্রায়শই এই স্তরের ব্যক্তিগতকরণ প্রদানে ব্যর্থ হয়।
সমাধান: আমাদের জ্ঞান-চালিত চ্যাট অ্যাপ্লিকেশন সরাসরি এই চ্যালেঞ্জ মোকাবেলা করে। এটি আপনার পেটেন্ট ডেটাসেট থেকে প্রাপ্ত একটি সমৃদ্ধ জ্ঞানভান্ডার ব্যবহার করে গ্রাহকের উদ্দেশ্য বুঝতে, বুদ্ধিমত্তার সাথে প্রতিক্রিয়া জানাতে এবং অত্যন্ত প্রাসঙ্গিক ফলাফল প্রদান করতে সক্ষম।
আপনি যা তৈরি করবেন
এই ল্যাবের (পর্ব ২) অংশ হিসেবে, আপনি যা করবেন:
- একটি ভার্টেক্স এআই এজেন্ট বিল্ডার এজেন্ট তৈরি করুন
- এজেন্টের সাথে AlloyDB টুলটি একীভূত করুন
প্রয়োজনীয়তা
- ক্রোম বা ফায়ারফক্সের মতো একটি ব্রাউজার
- বিলিং সক্ষম একটি গুগল ক্লাউড প্রজেক্ট।
২. স্থাপত্য
ডেটা প্রবাহ: চলুন, আমাদের সিস্টেমের মধ্যে দিয়ে ডেটা কীভাবে চলাচল করে তা আরও ভালোভাবে দেখে নেওয়া যাক:
গ্রহণ :
পেটেন্টের ডেটা AlloyDB-তে লোড করা হয়।
অ্যানালিটিক্স ইঞ্জিন:
আমরা নিম্নলিখিত কাজগুলো সম্পাদন করার জন্য অ্যানালিটিক্স ইঞ্জিন হিসেবে AlloyDB ব্যবহার করব:
- প্রসঙ্গ নিষ্কাশন: ইঞ্জিনটি পেটেন্ট ডেটাসেটটি বোঝার জন্য AlloyDB-তে সংরক্ষিত ডেটা বিশ্লেষণ করে।
- এমবেডিং তৈরি: ব্যবহারকারীর কোয়েরি এবং AlloyDB-তে সংরক্ষিত তথ্য উভয়ের জন্যই এমবেডিং (টেক্সটের গাণিতিক উপস্থাপনা) তৈরি করা হয়।
- ভেক্টর সার্চ: ইঞ্জিনটি কোয়েরি এমবেডিং-কে পেটেন্ট অ্যাবস্ট্রাক্টের এমবেডিংগুলোর সাথে তুলনা করে একটি সাদৃশ্য অনুসন্ধান চালায়। এর মাধ্যমে ব্যবহারকারীর অনুসন্ধান করা বিষয়বস্তুর সবচেয়ে প্রাসঙ্গিক 'নিকটতম প্রতিবেশী' শনাক্ত করা হয়।
প্রতিক্রিয়া তৈরি:
যাচাইকৃত প্রতিক্রিয়াগুলিকে একটি JSON অ্যারেতে সাজানো হয় এবং সম্পূর্ণ ইঞ্জিনটিকে একটি সার্ভারবিহীন ক্লাউড রান ফাংশনে প্যাকেজ করা হয়, যা এজেন্ট বিল্ডার থেকে আহ্বান করা হয়।
উপরের ধাপগুলো ল্যাবের প্রথম অংশে ইতিমধ্যেই আলোচনা করা হয়েছে।
আমরা একটি জ্ঞান-ভিত্তিক অ্যানালিটিক্স ইঞ্জিন তৈরির প্রযুক্তিগত বিবরণ নিয়ে আলোচনা করেছি, যা আমাদের স্মার্ট পেটেন্ট সার্চ অ্যাসিস্ট্যান্টকে শক্তি জোগায়। এখন, চলুন দেখি কীভাবে আমরা এজেন্ট বিল্ডারের জাদু ব্যবহার করে এই ইঞ্জিনটিকে একটি কথোপকথনমূলক ইন্টারফেসে জীবন্ত করে তুলি। পার্ট ২ শুরু করার আগে নিশ্চিত করুন যে আপনার এন্ডপয়েন্ট ইউআরএল প্রস্তুত আছে। এই ল্যাবে আমরা পরবর্তী ধাপটিই আলোচনা করব:
কথোপকথনমূলক মিথস্ক্রিয়া:
এজেন্ট বিল্ডার ব্যবহারকারীর কাছে প্রতিক্রিয়াগুলো স্বাভাবিক ভাষার বিন্যাসে উপস্থাপন করে, যা পারস্পরিক কথোপকথনকে সহজ করে তোলে।
৩. শুরু করার আগে
একটি প্রকল্প তৈরি করুন
- গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন।
- আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।
- আপনি ক্লাউড শেল ব্যবহার করবেন, যা গুগল ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ এবং এটি bq-এর সাথে আগে থেকেই লোড করা থাকে। গুগল ক্লাউড কনসোলের শীর্ষে থাকা ‘Activate Cloud Shell’-এ ক্লিক করুন।

- ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে যাচাই করে নিন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে:
gcloud auth list
- gcloud কমান্ডটি আপনার প্রজেক্ট সম্পর্কে অবগত আছে কিনা, তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান।
gcloud config list project
- আপনার প্রজেক্টটি সেট করা না থাকলে, এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <YOUR_PROJECT_ID>
- প্রয়োজনীয় API-গুলো সক্রিয় করুন। gcloud কমান্ডের বিকল্প হলো কনসোলের মাধ্যমে প্রতিটি পণ্য অনুসন্ধান করা অথবা এই লিঙ্কটি ব্যবহার করা।
যদি কোনো API বাদ পড়ে যায়, তাহলে আপনি বাস্তবায়ন চলাকালীন সময়েই তা সক্রিয় করে নিতে পারেন।
gcloud কমান্ড এবং এর ব্যবহার সম্পর্কে জানতে ডকুমেন্টেশন দেখুন।
গুরুত্বপূর্ণ দ্রষ্টব্য: এটি সম্পন্ন করার জন্য, আপনাকে অবশ্যই ল্যাবের পার্ট ১ সম্পন্ন করতে হবে।
৪. এজেন্ট তৈরি
এজেন্ট বিল্ডার চালু করা হচ্ছে
এজেন্ট বিল্ডার একটি শক্তিশালী, লো-কোড টুল যা আমাদের দ্রুত এবং দক্ষতার সাথে কথোপকথনমূলক এজেন্ট তৈরি করতে সক্ষম করে। এটি ডায়ালগ ফ্লো ডিজাইন করা, নলেজ বেস ইন্টিগ্রেট করা এবং এক্সটার্নাল এপিআই-এর সাথে সংযোগ স্থাপনের প্রক্রিয়াকে সহজ করে তোলে। আমাদের ক্ষেত্রে, আমরা এজেন্ট বিল্ডার ব্যবহার করে পার্ট ১- এ তৈরি করা ক্লাউড ফাংশন এন্ডপয়েন্টের সাথে নির্বিঘ্নে সংযোগ স্থাপন করব, যা আমাদের পেটেন্ট সার্চ অ্যাসিস্ট্যান্টকে পেটেন্ট নলেজ বেস অ্যাক্সেস করতে এবং ব্যবহারকারীর প্রশ্নের বুদ্ধিদীপ্ত উত্তর দিতে সক্ষম করবে।
নিশ্চিত করুন যে পার্ট ১-এ তৈরি করা জাভা ক্লাউড রান ফাংশনটি সাধারণ টেক্সটের পরিবর্তে একটি JSON অ্যারে রিটার্ন করছে।
এজেন্ট তৈরি করা
পোশাক পণ্য সম্পর্কিত ব্যবহারকারীদের প্রশ্নের উত্তর দেওয়ার জন্য এই নতুন এজেন্টটি তৈরি করার কাজ শুরু করা যাক।
- প্রথমে এজেন্ট বিল্ডার প্ল্যাটফর্মে লগ ইন করুন। যদি আপনাকে এপিআই (API) সক্রিয় করতে বলা হয়, তবে ‘চালিয়ে যান এবং এপিআই সক্রিয় করুন’ (CONTINUE AND ACTIVATE THE API) বোতামে ক্লিক করুন।
- ‘CREATE APP’-এ ক্লিক করুন এবং আপনার এজেন্টের একটি বর্ণনামূলক নাম দিন (যেমন, ‘Patent Search Assistant’)।
- অ্যাপ টাইপ 'এজেন্ট'-এ ক্লিক করুন।

- আপনার এজেন্টকে " পেটেন্ট সার্চ অ্যাসিস্ট্যান্ট "-এর মতো একটি বর্ণনামূলক নাম দিন এবং অঞ্চলটি us-central1 হিসেবে সেট করুন।
- এজেন্টের বিবরণ লিখুন:
- এজেন্টের নাম পরিবর্তন করে ' পেটেন্ট সার্চ এজেন্ট ' করুন।
- নিচের 'লক্ষ্য'টি যোগ করুন:
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

- এই পর্যায়ে এটি সংরক্ষণ করুন এবং আপাতত নির্দেশাবলী খালি রাখুন।
- এরপর নেভিগেশন মেনু থেকে Tools-এ ক্লিক করুন এবং CREATE-এ ক্লিক করুন।

টুলের নাম লিখুন: পেটেন্ট অনুসন্ধান টুল
ধরণ: ওপেনএপিআই
টুলের বিবরণ লিখুন:
This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.
YAML ফরম্যাটে স্কিমা — OpenAPI প্রবেশ করান:
এই অংশেই আমরা এজেন্টকে চালনা করার জন্য ব্যাকএন্ড এন্ডপয়েন্ট ব্যবহার করছি। নিচের OpenAPI স্পেকটি কপি করুন এবং অ্যাঙ্গেল ব্র্যাকেটের মধ্যে থাকা URL প্লেসহোল্ডারটি আপনার ক্লাউড ফাংশন এন্ডপয়েন্ট দিয়ে প্রতিস্থাপন করুন :
openapi: 3.0.0
info:
title: Patent Search API
version: v1
servers:
- url: YOUR_CLOUDFUNCTION_ENDPOINT_URL
paths:
/patent-search:
post:
summary: Search for patents using a text query.
requestBody:
content:
application/json:
schema:
type: object
properties:
search:
type: string
description: The text query to search for patents.
example: A new Natural Language Processing related Machine Learning Model
responses:
'200':
description: Successful search response with a JSON array of matching patents.
content:
application/json:
schema:
type: array
items:
type: object
properties:
result:
type: string
description: Patent title.
'400':
description: Invalid request body.
'500':
description: Internal server error.
অন্যান্য কনফিগারেশনগুলো ডিফল্ট মানেই রেখে "Save"-এ ক্লিক করুন।
- এই পর্যায়ে এজেন্টের কাছে ফিরে যান, কারণ আমরা এজেন্টের "নির্দেশাবলী"-তে "টুল" কনফিগারেশনটি যোগ করতে চাই। নির্দেশাবলীর প্লেসহোল্ডারে নিচের অংশটি যোগ করুন (মনে রাখবেন, কার্যপ্রবাহ নির্ধারণে ইন্ডেন্টগুলো গুরুত্বপূর্ণ):
- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
- If necessary, seek clarifying details.
- Use ${TOOL:Patent Search Tool} to help the user with their task.
- Return the response from the ${TOOL:Patent Search Tool} to the user in a well formed string.
- Thank the user for their business and say goodbye.
'Available Tools' সেকশনে 'Patent Search Tool' সিলেক্ট করা আছে কিনা তা নিশ্চিত করুন এবং তারপর এজেন্টটি আবার সেভ করুন।
৫. এজেন্টকে পরীক্ষা করুন
ডান দিকের প্যানেলে আপনি প্রিভিউ এজেন্ট সেকশনটি দেখতে পাবেন, যা আপনাকে আপনার এজেন্ট পরীক্ষা করার সুযোগ দেবে।
নিচের স্ক্রিনশটে যেমন দেখতে পাচ্ছেন, আমি একজন ব্যবহারকারী হিসেবে সম্ভাষণ জানিয়েছি এবং "যেকোনো ফিটনেস ট্র্যাকার ধারণার জন্য ম্যাচিং পেটেন্ট" চেয়ে একটি অনুরোধের মাধ্যমে আমার চ্যাট শুরু করেছি।

এটি হলো JSON প্রতিক্রিয়া:

এটি হলো ক্লাউড ফাংশন থেকে প্রাপ্ত কাঁচা JSON ফলাফল, যা অ্যালয়ডিবি সিমিলারিটি সার্চটি প্রসেস করে। ব্যস! এজেন্টটি এখন পুরোপুরি প্রস্তুত।
৬. স্থাপন এবং একীকরণ
আপনার এজেন্টটি নিয়ে সন্তুষ্ট হয়ে গেলে, আপনি এজেন্ট বিল্ডারের ইন্টিগ্রেশন ব্যবহার করে সহজেই এটিকে বিভিন্ন চ্যানেলে স্থাপন করতে পারেন। আপনি এটিকে আপনার ওয়েবসাইটে এমবেড করতে পারেন, জনপ্রিয় মেসেজিং প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে পারেন, অথবা এমনকি একটি ডেডিকেটেড মোবাইল অ্যাপও তৈরি করতে পারেন। আমরা আমাদের ওয়েব ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে সরাসরি এজেন্ট বিল্ডার এপিআই-ও ব্যবহার করতে পারি, যা আমরা এই ব্লগে আলোচনা করেছি।
৭. পরিষ্কার করুন
এই পোস্টে ব্যবহৃত রিসোর্সগুলোর জন্য আপনার গুগল ক্লাউড অ্যাকাউন্টে চার্জ হওয়া এড়াতে, এই ধাপগুলো অনুসরণ করুন:
৮. অভিনন্দন
অভিনন্দন! আমাদের নিজস্ব অ্যানালিটিক্স ইঞ্জিনের শক্তিকে এজেন্ট বিল্ডারের স্বজ্ঞাত ইন্টারফেসের সাথে একীভূত করে, আমরা একটি বুদ্ধিমান লিটারেচার সার্চ অ্যাসিস্ট্যান্ট তৈরি করেছি যা লিটারেচার সার্চকে সহজলভ্য, কার্যকর এবং সত্যিকারের অর্থ-নির্ভর করে তোলার ক্ষেত্রে এক ধাপ এগিয়ে। AlloyDB , Vertex AI , এবং Vector Search- এর সক্ষমতাগুলোকে একত্রিত করে, আমরা কনটেক্সচুয়াল ও ভেক্টর সার্চকে সহজলভ্য, কার্যকর, সত্যিকারের অর্থ-নির্ভর এবং এজেন্টিক করে তোলার ক্ষেত্রে এক বিশাল পদক্ষেপ এগিয়েছি!