১. সংক্ষিপ্ত বিবরণ
বিভিন্ন শিল্পক্ষেত্রে, প্রতিযোগিতামূলক পরিস্থিতি বোঝা, সম্ভাব্য লাইসেন্সিং বা অধিগ্রহণের সুযোগ চিহ্নিত করা এবং বিদ্যমান পেটেন্ট লঙ্ঘন এড়ানোর জন্য পেটেন্ট গবেষণা একটি অত্যন্ত গুরুত্বপূর্ণ হাতিয়ার।
পেটেন্ট গবেষণা বিশাল এবং জটিল। প্রাসঙ্গিক উদ্ভাবন খুঁজে বের করার জন্য অগণিত প্রযুক্তিগত সারসংক্ষেপ ঘেঁটে দেখা একটি দুঃসাধ্য কাজ। প্রচলিত কীওয়ার্ড-ভিত্তিক অনুসন্ধান প্রায়শই ভুল ফলাফল দেয় এবং সময়সাপেক্ষ হয়। সারসংক্ষেপগুলো দীর্ঘ এবং প্রযুক্তিগত হওয়ায় মূল ধারণাটি দ্রুত বোঝা কঠিন হয়ে পড়ে। এর ফলে গবেষকরা গুরুত্বপূর্ণ পেটেন্ট খুঁজে পেতে ব্যর্থ হতে পারেন অথবা অপ্রাসঙ্গিক ফলাফলের পেছনে সময় নষ্ট করতে পারেন।
উদ্দেশ্য
এই কোডল্যাবে, আমরা স্প্যানার, ইন-প্লেস জেমিনি ১.০ প্রো, এমবেডিংস এবং ভেক্টর সার্চ ব্যবহার করে পেটেন্ট খোঁজার প্রক্রিয়াটিকে আরও দ্রুত, সহজবোধ্য এবং অত্যন্ত নির্ভুল করে তোলার জন্য কাজ করব।
আপনি যা তৈরি করবেন
এই ল্যাবের অংশ হিসেবে, আপনি যা করবেন:
- একটি স্প্যানার ইনস্ট্যান্স তৈরি করুন
- গুগল পেটেন্ট পাবলিক ডেটাসেট লোড করুন
- জেমিনি ১.০ প্রো মডেল ব্যবহার করে টেক্সট এমবেডিংয়ের জন্য একটি রিমোট মডেল তৈরি করুন।
- লোড করা ডেটাসেট থেকে জেনারেটিভ ইনসাইট তৈরি করুন
- ইনসাইট থেকে এমবেডিং তৈরি করুন
- ডেটাসেটের বিরুদ্ধে সাদৃশ্য অনুসন্ধান কোয়েরি চালান।
নিম্নোক্ত চিত্রটিতে তথ্যের প্রবাহ এবং বাস্তবায়নের ধাপসমূহ দেখানো হয়েছে।

প্রয়োজনীয়তা
- ক্রোম বা ফায়ারফক্সের মতো একটি ব্রাউজার
- বিলিং সক্ষম একটি গুগল ক্লাউড প্রজেক্ট।
২. শুরু করার আগে
একটি প্রকল্প তৈরি করুন
- গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন।
- আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।
- আপনি ক্লাউড শেল ব্যবহার করবেন, যা গুগল ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ এবং এটি bq-এর সাথে আগে থেকেই লোড করা থাকে। গুগল ক্লাউড কনসোলের শীর্ষে থাকা ‘Activate Cloud Shell’-এ ক্লিক করুন।

- ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে যাচাই করে নিন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে:
gcloud auth list
- gcloud কমান্ডটি আপনার প্রজেক্ট সম্পর্কে অবগত আছে কিনা, তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান।
gcloud config list project
- আপনার প্রজেক্টটি সেট করা না থাকলে, এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <YOUR_PROJECT_ID>
- কনসোলে সার্চ করে Vertex AI এবং Spanner API-গুলো সক্রিয় আছে কিনা তা নিশ্চিত করুন। বিকল্পভাবে, আপনি ক্লাউড শেল টার্মিনালে নিম্নলিখিত কমান্ডটিও ব্যবহার করতে পারেন:
gcloud services enable spanner.googleapis.com --project <<YOUR_PROJECT_ID>>
gcloud services enable aiplatform.googleapis.com --project <<YOUR_PROJECT_ID>>
আরেকটি বিকল্প হলো এই লিঙ্কটি ব্যবহার করা।
gcloud কমান্ড এবং এর ব্যবহার সম্পর্কে জানতে ডকুমেন্টেশন দেখুন।
৩. আপনার স্প্যানার ডাটাবেস প্রস্তুত করুন।
চলুন একটি স্প্যানার ইনস্ট্যান্স, ডেটাবেস এবং টেবিল তৈরি করি যেখানে পেটেন্ট ডেটাসেটটি লোড করা হবে।
একটি স্প্যানার ইনস্ট্যান্স তৈরি করুন
-
spanner-vertexনামে একটি স্প্যানার ইনস্ট্যান্স তৈরি করুন।
gcloud spanner instances create spanner-vertex \
--config=regional-us-central1 \
--description=spanner-vertex \
--nodes=1
একটি ডাটাবেস তৈরি করুন
- গুগল ক্লাউড কনসোলে স্প্যানার পেজটি খুলুন।
- তালিকা থেকে
spanner-vertexইনস্ট্যান্সটি নির্বাচন করুন। - ডেটাবেস-এর অধীনে, ডেটাবেস তৈরি করুন-এ ক্লিক করুন।
- ডাটাবেসের নাম 'পেটেন্টস' হিসেবে সেট করুন।
- ডাটাবেস তৈরি করতে Create-এ ক্লিক করুন।
একটি টেবিল তৈরি করুন
- গুগল ক্লাউড কনসোলে স্প্যানার পেজটি খুলুন।
- তালিকা থেকে
spanner-vertexইনস্ট্যান্সটি নির্বাচন করুন। -
patentsডাটাবেসটি নির্বাচন করুন। - টেবিল ট্যাবের অধীনে, টেবিল তৈরি করুন-এ ক্লিক করুন। স্প্যানার স্টুডিও পৃষ্ঠাটি খুলবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
- নিম্নলিখিত কোয়েরিটি চালান:
CREATE TABLE patents_data (
id string(25), type string(25), number string(20), country string(2), date string(20), abstract string(300000), title string(100000),kind string(5), num_claims numeric, filename string(100), withdrawn numeric,
) PRIMARY KEY (id);
৪. ডেটাবেসে পেটেন্ট ডেটা লোড করুন
BigQuery-তে থাকা Google Patents Public Datasets আমাদের ডেটাসেট হিসেবে ব্যবহৃত হবে। আমরা আমাদের কোয়েরিগুলো চালানোর জন্য Spanner Studio ব্যবহার করব। spanner-gemini-search রিপোজিটরিতে insert_into_patents_data.sql স্ক্রিপ্টটি রয়েছে, যা আমরা পেটেন্ট ডেটা লোড করার জন্য চালাব।
- গুগল ক্লাউড কনসোলে স্প্যানার পেজটি খুলুন।
- তালিকা থেকে
spanner-vertexইনস্ট্যান্সটি নির্বাচন করুন। -
patentsডাটাবেসটি নির্বাচন করুন। - ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
- এডিটরে থাকা
insert_into_patents_data.sqlস্ক্রিপ্ট থেকেinsertকোয়েরি স্টেটমেন্টটি কপি করুন। এই ব্যবহারটির একটি দ্রুত ডেমোর জন্য আপনি ৫০-১০০টি ইনসার্ট স্টেটমেন্ট কপি করতে পারেন। - রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
৫. জেমিনি ১.০ প্রো-এর জন্য রিমোট মডেল তৈরি করুন
ডেটাবেসে পেটেন্টের ডেটা লোড করার পরে, আমরা একটি রিমোট মডেল তৈরি করব যা জেমিনি ১.০ প্রো ভার্টেক্স এআই মডেল ব্যবহার করে শিরোনাম এবং কীওয়ার্ডের একটি সংক্ষিপ্ত সেট তৈরি করবে।
স্প্যানার স্টুডিও এডিটরে নিম্নলিখিত DDL কমান্ডটি চালান:
- ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
- নিম্নলিখিত কোয়েরিটি চালান:
CREATE MODEL gemini_pro_model INPUT(
prompt STRING(MAX),
) OUTPUT(
content STRING(MAX),
) REMOTE OPTIONS (
endpoint = '//aiplatform.googleapis.com/projects/<<YOUR_PROJECT_ID>>/locations/us-central1/publishers/google/models/gemini-pro',
default_batch_size = 1
);
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
৬. টেক্সট এমবেডিংয়ের জন্য রিমোট মডেল তৈরি করুন
পূর্ববর্তী ধাপের ফলাফলে একটি শিরোনাম এবং কীওয়ার্ড সমন্বিত একটি সংহত সারাংশ অন্তর্ভুক্ত রয়েছে। আমরা এই প্রতিক্রিয়াটিকে এমবেডিং-এ রূপান্তর করব যা একটি কোয়েরি চালানোর সময় উপযুক্ত ম্যাচ তৈরি করতে আমাদের সাহায্য করবে। আমরা স্প্যানার থেকে দূরবর্তীভাবে ভার্টেক্স এআই-এর Text Embedding Gecko 003 model ব্যবহার করব।
- ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
- নিম্নলিখিত কোয়েরিটি চালান:
CREATE MODEL text_embeddings INPUT(content STRING(MAX))
OUTPUT(
embeddings
STRUCT<
statistics STRUCT<truncated BOOL, token_count FLOAT64>,
values ARRAY<FLOAT64>>
)
REMOTE OPTIONS (
endpoint = '//aiplatform.googleapis.com/projects/<<YOUR_PROJECT_ID>>/locations/us-central1/publishers/google/models/textembedding-gecko@003');
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
৭. পেটেন্ট সারাংশ থেকে সৃজনশীল অন্তর্দৃষ্টি তৈরি করুন
আমরা পূর্বে তৈরি করা Gemini 1.5 Pro মডেলটি ব্যবহার করে যে জেনারেটিভ ইনসাইটগুলো তৈরি করব, সেগুলো সংরক্ষণ করার জন্য একটি patents_data_gemini টেবিল তৈরি করব।
টেবিলটি তৈরি করুন
- ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
- নিম্নলিখিত কোয়েরিটি চালান:
CREATE TABLE patents_data_gemini (id string(100), gemini_response STRING(MAX)) PRIMARY KEY (id);
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
অন্তর্দৃষ্টি তৈরি করুন
জেনারেটিভ ইনসাইট দিয়ে টেবিলটি পূরণ করার জন্য, ব্যাচ রাইট বা মিউটেশন পদ্ধতি ব্যবহার করে এমন একটি অ্যাপ্লিকেশন ব্যবহার করার পরামর্শ দেওয়া হয়। এই কোডল্যাবের জন্য, আমরা টেবিলটি পূরণ করতে নিম্নলিখিত DDL কোয়েরিটি সর্বোচ্চ ৪ বার চালাব।
INSERT INTO patents_data_gemini (id, gemini_response)
SELECT id, content as gemini_response
FROM ML.PREDICT(MODEL gemini_pro_model,
(select id, concat ('Identify the areas of work or keywords in this abstract', abstract) as prompt from patents_data b where id not in (select id from patents_data_gemini) limit 50
));
দ্রষ্টব্য: যদি এই ধাপে আপনি 'Quota Exceeded' ত্রুটি পান (যা অল্প মার্জিনের ফ্রি-ক্রেডিটের ক্ষেত্রে সম্ভব), তাহলে ইনসার্ট (insert) এড়িয়ে যান এবং নিচের সমাধান অংশে দেওয়া সিলেক্ট কোয়েরিটি (select query) চালান।
সমাধান বিভাগ:
SELECT id, content as gemini_response
FROM ML.PREDICT(MODEL gemini_pro_model,
(select id, concat ('Identify the areas of work or keywords in this abstract', abstract) as prompt from patents_data b limit 50
))
অন্তর্দৃষ্টি পর্যবেক্ষণ করুন
টেবিলটিতে কোয়েরির 'Identify the areas of work or keywords in this abstract', প্রম্পটটির জন্য তৈরি হওয়া ইনসাইটগুলো অন্তর্ভুক্ত রয়েছে।
দ্রষ্টব্য: আপনি যদি INSERT DDL-এর পরিবর্তে উপরের ওয়ার্কঅ্যারাউন্ড সেকশনের কোয়েরিটি চালিয়ে থাকেন, তাহলে এই অংশটি বাদ দিন এবং এর পরিবর্তে এই পৃষ্ঠার শেষ SELECT কোয়েরিটি চালান।
ইনসাইটগুলোর ফলাফল যাচাই করতে নিচের কোয়েরিটি চালানো যাক:
select title, abstract, gemini_response from patents_data a inner join patents_data_gemini b
on a.id = b.id;
নিম্নলিখিত ফলাফলগুলি দেখা যায়:

দ্রষ্টব্য: আপনি যদি ওয়ার্কঅ্যারাউন্ড সেকশনের কোয়েরিটি চালিয়ে থাকেন, তাহলে উপরের সিলেক্ট কোয়েরিতে টেবিলের নামটি ওয়ার্কঅ্যারাউন্ড সেকশনের কোয়েরি দিয়ে প্রতিস্থাপন করুন। সুতরাং, এর পরিবর্তে আপনাকে নিচেরটি চালাতে হবে:
select title, abstract, gemini_response from patents_data a inner join (SELECT id, content as gemini_response
FROM ML.PREDICT(MODEL gemini_pro_model,
(select id, concat ('Identify the areas of work or keywords in this abstract', abstract) as prompt from patents_data b limit 50
))) b
on a.id = b.id;
ফলাফলটি উপরের ফলাফলের স্ক্রিনশটে দেখানো ফলাফলের মতোই হওয়া উচিত।
৮. উৎপন্ন অন্তর্দৃষ্টিগুলির জন্য এমবেডিং তৈরি করুন
আমাদের টেবিলে তথ্যগুলো যুক্ত করার পর, আমরা এখন এই তথ্যগুলো ব্যবহার করে এমবেডিং তৈরি করতে পারি। এই এমবেডিংগুলো আমাদেরকে হুবহু কীওয়ার্ড মিলের উপর নির্ভর না করে, বরং ধারণাগত সাদৃশ্যের উপর ভিত্তি করে ফলাফল তৈরি করতে সাহায্য করে।
দ্রষ্টব্য: আপনি যদি পূর্ববর্তী ধাপে ওয়ার্কঅ্যারাউন্ড সেকশন কোয়েরিটি চালিয়ে থাকেন, তবে আপনি এটি এড়িয়ে যেতে পারেন এবং এই ধাপেও সরাসরি ওয়ার্কঅ্যারাউন্ড সেকশন কোয়েরিতে চলে যেতে পারেন।
এমবেডিং তৈরি করতে নিম্নলিখিত কোয়েরিটি চালান:
- ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
-
patents_data_embeddingsটেবিলটি তৈরি করতে নিম্নলিখিত কোয়েরিটি চালান।
CREATE TABLE patents_data_embeddings (id string(100), patents_embeddings ARRAY<FLOAT64>) PRIMARY KEY (id);
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
- এমবেডিং তৈরি করতে নিম্নলিখিত কোয়েরিটি চালান।
INSERT INTO patents_data_embeddings (id, patents_embeddings)
SELECT id, embeddings.values as patents_embeddings
FROM ML.PREDICT(MODEL text_embeddings,
(SELECT id, gemini_response as content FROM patents_data_gemini));
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
ফলাফল পর্যবেক্ষণ করুন
সারণিটিতে শিরোনাম এবং সারসংক্ষেপিত পাঠ্যের জন্য তৈরি করা এমবেডিংগুলো অন্তর্ভুক্ত রয়েছে।
ফলাফল যাচাই করার জন্য নিচের কোয়েরিটি চালানো যাক:
select title, abstract, b.patents_embeddings from patents_data a inner join patents_data_embeddings b
on a.id = b.id;
নিম্নলিখিত ফলাফলগুলি দেখা যায়:

সমাধান বিভাগ :
অন্যান্য ধাপে ওয়ার্কঅ্যারাউন্ড অংশটি করে থাকলে, এই কোয়েরিটি ব্যবহার করুন:
select title, abstract, b.patents_embeddings from patents_data a inner join
(SELECT id, embeddings.values as patents_embeddings
FROM ML.PREDICT(MODEL text_embeddings,
(SELECT id, gemini_response as content FROM (SELECT id, content as gemini_response
FROM ML.PREDICT(MODEL gemini_pro_model,
(select id, concat ('Identify the areas of work or keywords in this abstract', abstract) as prompt from patents_data b limit 50
)))))) b
on a.id = b.id;
এর ফলে উপরের স্ক্রিনশটে দেখানো ফলাফলের মতোই ফলাফল পাওয়া যাবে।
৯. ভেক্টর অনুসন্ধানের জন্য প্রস্তুতি নিন।
এখন যেহেতু আমরা টেক্সট এমবেডিং তৈরি করে ফেলেছি, আমরা আমাদের ওয়েব অ্যাপ্লিকেশনটিকে সিমিলারিটি ভেক্টর সার্চ করার জন্য প্রস্তুত করতে পারি। এই কোডল্যাবে, আমরা এমন একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছি যাতে কে-নিয়ারেস্ট নেইবারস সিমিলারিটি সার্চ ক্ষমতার উপর ভিত্তি করে সার্চ রেজাল্ট দেওয়ার লজিক অন্তর্ভুক্ত রয়েছে। সার্চ রেজাল্টগুলো কেমন দেখায় তা ভিজ্যুয়ালাইজ করার জন্য আপনি এই প্রস্তুত ডেটাসেটটি একটি সার্চ অ্যাপের সাথে ব্যবহার করতে পারেন।
আমাদের কোডল্যাবের জন্য, আমরা একটি নমুনা কোয়েরি চালাব যা একটি প্রম্পট অনুসন্ধান করে, প্রেক্ষাপটের উপর ভিত্তি করে ফলাফল তৈরি করে এবং ফলাফলকে ১০টি এন্ট্রিতে সীমাবদ্ধ করে।
নিম্নলিখিত কোয়েরিটি চালান:
- ন্যাভিগেশন মেনুতে, স্প্যানার স্টুডিও-তে ক্লিক করুন। এক্সপ্লোরার প্যানে আপনার ডাটাবেসে থাকা অবজেক্টগুলোর একটি তালিকা প্রদর্শিত হবে।
- New SQL editor ট্যাবে ক্লিক করে একটি নতুন ট্যাব খুলুন।
-
patents_data_embeddingsটেবিলটি তৈরি করতে নিম্নলিখিত কোয়েরিটি চালান।
SELECT a.id, a.title, a.abstract, 'A new Natural Language Processing related Machine Learning Model' search_text, COSINE_DISTANCE(c.patents_embeddings,
(SELECT embeddings.values
FROM ML.PREDICT(
MODEL text_embeddings,
(SELECT 'A new Natural Language Processing related Machine Learning Model' as content)))) as distance
FROM patents_data a inner join patents_data_gemini b on a.id = b.id
inner join patents_data_embeddings c on a.id = c.id
ORDER BY distance
LIMIT 10;
- রান-এ ক্লিক করুন। আপনার কোয়েরির ফলাফল রেজাল্টস টেবিলে প্রদর্শিত হবে।
দ্রষ্টব্য: যদি আপনি ওয়ার্কঅ্যারাউন্ড বিভাগে উল্লিখিত কোয়েরিগুলো ব্যবহার করে থাকেন, তবে একেবারে প্রথম দিকের কোনো একটি ইনসার্ট স্টেটমেন্টে কোটা ত্রুটির কারণে, আপনি অন্য সব ধাপ বাদ দিয়ে সরাসরি নিচের কোয়েরিটি চালাতে পারেন। এর মাধ্যমে আপনি স্প্যানার ডেটাবেসে ভেক্টর এমবেডিং-এর উপর নিকটতম প্রতিবেশী অনুসন্ধানের (nearest neighbor search) ফলাফল পর্যবেক্ষণ করতে পারবেন:
SELECT a.id, a.title, a.abstract, 'A new Natural Language Processing related Machine Learning Model' search_text, COSINE_DISTANCE(c.patents_embeddings,
(SELECT embeddings.values
FROM ML.PREDICT(
MODEL text_embeddings,
(SELECT 'A new Natural Language Processing related Machine Learning Model' as content)))) as distance
FROM patents_data a inner join (SELECT id, embeddings.values as patents_embeddings
FROM ML.PREDICT(MODEL text_embeddings,
(SELECT id, gemini_response as content FROM (SELECT id, content as gemini_response
FROM ML.PREDICT(MODEL gemini_pro_model,
(select id, concat ('Identify the areas of work or keywords in this abstract', abstract) as prompt from patents_data b
)))))) c on a.id = c.id
ORDER BY distance
LIMIT 2;
ফলাফল পর্যবেক্ষণ করুন
পূর্ববর্তী কোয়েরিটি আমাদের প্রম্পটের জন্য নিকটতম ১০টি মিল খুঁজে বের করতে COSINE_DISTANCE মেথড ব্যবহার করে।
নিম্নলিখিত ফলাফলগুলি দেখা যায়:

উৎপন্ন ফলাফলগুলো কোয়েরির অংশ হিসেবে থাকা প্রম্পটের সাথে প্রাসঙ্গিকভাবে বেশ কাছাকাছি থাকে।
১০. পরিষ্কার করুন
এই পোস্টে ব্যবহৃত রিসোর্সগুলোর জন্য আপনার গুগল ক্লাউড অ্যাকাউন্টে চার্জ হওয়া এড়াতে, এই ধাপগুলো অনুসরণ করুন:
- গুগল ক্লাউড কনসোলে, রিসোর্স পরিচালনা (Manage resources) পৃষ্ঠায় যান।
- প্রজেক্ট তালিকা থেকে, আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং তারপর ডিলিট-এ ক্লিক করুন। যদি আপনি প্রজেক্টটি মুছতে না চান, তবে শুধু স্প্যানারে তৈরি করা ইনস্ট্যান্সটি মুছে ফেলুন।
- ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলার জন্য 'শাট ডাউন'-এ ক্লিক করুন।
১১. অভিনন্দন
অভিনন্দন! আপনি স্প্যানারের বিল্ট-ইন ভেক্টর সার্চ ব্যবহার করে সফলভাবে একটি সাদৃশ্য অনুসন্ধান সম্পন্ন করেছেন। এছাড়াও, আপনি দেখেছেন যে সরাসরি SQL ব্যবহার করে এমবেডিং এবং LLM মডেলের সাহায্যে জেনারেটিভ AI কার্যকারিতা প্রদান করা কতটা সহজ।
এরপর কী?
স্প্যানারের এক্সাক্ট নিয়ারেস্ট নেইবার (কেএনএন ভেক্টর সার্চ) ফিচার সম্পর্কে আরও জানতে এখানে দেখুন: https://cloud.google.com/spanner/docs/find-k-nearest-neighbors
স্প্যানারের VertexAI ইন্টিগ্রেশন ব্যবহার করে SQL দিয়ে কীভাবে অনলাইন প্রেডিকশন করা যায়, সে সম্পর্কে আরও জানতে আপনি এখানে পড়তে পারেন: https://cloud.google.com/spanner/docs/ml