এমবেডিং হলো টেক্সট ইনপুটের একটি সাংখ্যিক উপস্থাপনা, যা ক্লাস্টারিং, সাদৃশ্য পরিমাপ এবং তথ্য পুনরুদ্ধারের মতো বেশ কিছু অনন্য ব্যবহারের সুযোগ তৈরি করে। এ বিষয়ে প্রাথমিক ধারণা পেতে এমবেডিং গাইডটি দেখুন।
জেনারেটিভ এআই মডেলের মতো নয়, যা নতুন কন্টেন্ট তৈরি করে, জেমিনি এমবেডিং মডেলের উদ্দেশ্য শুধুমাত্র আপনার ইনপুট ডেটার ফরম্যাটকে একটি সংখ্যাসূচক উপস্থাপনায় রূপান্তর করা। যদিও গুগল আপনার ইনপুট ডেটার ফরম্যাটকে অনুরোধকৃত সংখ্যাসূচক ফরম্যাটে রূপান্তর করার জন্য একটি এমবেডিং মডেল সরবরাহ করার দায়িত্বে থাকে, ব্যবহারকারীরা তাদের ইনপুট করা ডেটা এবং এর ফলে তৈরি হওয়া এমবেডিংগুলোর সম্পূর্ণ দায়িত্ব বহন করেন। জেমিনি এমবেডিং মডেল ব্যবহার করার মাধ্যমে আপনি নিশ্চিত করছেন যে, আপনার আপলোড করা যেকোনো কন্টেন্টের জন্য আপনার প্রয়োজনীয় অধিকার রয়েছে। এমন কোনো কন্টেন্ট তৈরি করবেন না যা অন্যের মেধাস্বত্ব বা গোপনীয়তার অধিকার লঙ্ঘন করে। এই পরিষেবাটির আপনার ব্যবহার আমাদের নিষিদ্ধ ব্যবহার নীতি এবং গুগলের পরিষেবার শর্তাবলীর অধীন।
পদ্ধতি: models.embedContent
নির্দিষ্ট জেমিনি এমবেডিং মডেল ব্যবহার করে ইনপুট Content থেকে একটি টেক্সট এমবেডিং ভেক্টর তৈরি করে।
এন্ডপয়েন্ট
পোস্টhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedContentপথের পরামিতি
modelstringআবশ্যক। মডেলের রিসোর্স নাম। এটি মডেলের ব্যবহারের জন্য একটি আইডি হিসেবে কাজ করে।
এই নামটি models.list মেথড দ্বারা প্রাপ্ত মডেল নামের সাথে মিলতে হবে।
ফর্ম্যাট: models/{model} এটি models/{model} আকারে থাকে।
অনুরোধকারী শরীর
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:
contentobject ( Content ) আবশ্যক। এমবেড করার জন্য বিষয়বস্তু। শুধুমাত্র parts.text ফিল্ডগুলোই গণনা করা হবে।
taskTypeenum ( TaskType ) ঐচ্ছিক। ঐচ্ছিক কাজের ধরণ যার জন্য এমবেডিংগুলি ব্যবহার করা হবে। পূর্ববর্তী মডেলগুলিতে ( models/embedding-001 ) সমর্থিত নয়।
titlestring ঐচ্ছিক। পাঠ্যটির জন্য একটি ঐচ্ছিক শিরোনাম। শুধুমাত্র তখনই প্রযোজ্য যখন TaskType হবে RETRIEVAL_DOCUMENT ।
দ্রষ্টব্য: RETRIEVAL_DOCUMENT এর জন্য একটি title নির্দিষ্ট করলে পুনরুদ্ধারের জন্য আরও উন্নত মানের এমবেডিং পাওয়া যায়।
outputDimensionalityinteger ঐচ্ছিক। আউটপুট এমবেডিং-এর জন্য ঐচ্ছিক হ্রাসকৃত মাত্রা। এটি সেট করা হলে, আউটপুট এমবেডিং-এর অতিরিক্ত মানগুলো শেষ থেকে ছেঁটে ফেলা হয়। শুধুমাত্র ২০২৪ সাল থেকে নতুন মডেলগুলোতে সমর্থিত। পূর্ববর্তী মডেল ( models/embedding-001 ) ব্যবহার করলে আপনি এই মানটি সেট করতে পারবেন না।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যান
শেল
প্রতিক্রিয়া সংস্থা
সফল হলে, রেসপন্স বডিতে EmbedContentResponse এর একটি ইনস্ট্যান্স থাকে।
পদ্ধতি: models.batchEmbedContents
ইনপুট Content থেকে একাধিক এমবেডিং ভেক্টর তৈরি করে, যা EmbedContentRequest অবজেক্ট হিসেবে উপস্থাপিত একগুচ্ছ স্ট্রিং নিয়ে গঠিত।
এন্ডপয়েন্ট
পোস্টhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContentsপথের পরামিতি
modelstringআবশ্যক। মডেলের রিসোর্স নাম। এটি মডেলের ব্যবহারের জন্য একটি আইডি হিসেবে কাজ করে।
এই নামটি models.list মেথড দ্বারা প্রাপ্ত মডেল নামের সাথে মিলতে হবে।
ফর্ম্যাট: models/{model} এটি models/{model} আকারে থাকে।
অনুরোধকারী শরীর
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:
requests[]object ( EmbedContentRequest ) আবশ্যক। ব্যাচের জন্য অনুরোধগুলো এমবেড করুন। এই অনুরোধগুলোর প্রতিটির মডেল অবশ্যই BatchEmbedContentsRequest.model এ নির্দিষ্ট করা মডেলের সাথে মিলতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যান
শেল
প্রতিক্রিয়া সংস্থা
BatchEmbedContentsRequest এর প্রতিক্রিয়া।
সফল হলে, প্রতিক্রিয়া অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:
embeddings[]object ( ContentEmbedding )শুধুমাত্র আউটপুট। প্রতিটি অনুরোধের এমবেডিংগুলো, ব্যাচ অনুরোধে প্রদত্ত একই ক্রমে সাজানো।
| JSON উপস্থাপনা |
|---|
{
"embeddings": [
{
object ( |
পদ্ধতি: models.asyncBatchEmbedContent
ব্যাচ প্রসেসিংয়ের জন্য models.embedContent রিকোয়েস্টের একটি ব্যাচ কিউতে যুক্ত করে। আমাদের GenerativeService এ একটি models.batchEmbedContents হ্যান্ডলার আছে, কিন্তু সেটি সিনক্রোনাইজড ছিল। তাই বিভ্রান্তি এড়াতে আমরা এটির নাম Async রেখেছি।
এন্ডপয়েন্ট
পোস্টhttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContentপথের পরামিতি
batch.modelstring আবশ্যক। সমাপ্তি তৈরির জন্য ব্যবহৃত Model নাম।
ফর্ম্যাট: models/{model} । এটি models/{model} আকারে থাকে।
অনুরোধকারী শরীর
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:
batch.namestringশুধুমাত্র আউটপুট। শনাক্তকারী। ব্যাচটির রিসোর্স নাম।
ফর্ম্যাট: batches/{batchId} ।
batch.displayNamestringআবশ্যক। এই ব্যাচের ব্যবহারকারী-নির্ধারিত নাম।
batch.inputConfigobject ( InputEmbedContentConfig )আবশ্যক। যে ইনস্ট্যান্সগুলিতে ব্যাচ প্রসেসিং করা হয়, সেগুলির কনফিগারেশন ইনপুট করুন।
batch.outputobject ( EmbedContentBatchOutput )শুধুমাত্র আউটপুট। ব্যাচ অনুরোধের আউটপুট।
batch.createTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচটি তৈরি করা হয়েছিল।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
batch.endTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচ প্রসেসিং সম্পন্ন হয়েছে।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
batch.updateTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচটি সর্বশেষ আপডেট করা হয়েছিল।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
batch.batchStatsobject ( EmbedContentBatchStats )শুধুমাত্র আউটপুট। ব্যাচটি সম্পর্কিত পরিসংখ্যান।
batch.stateenum ( BatchState )শুধুমাত্র আউটপুট। ব্যাচটির অবস্থা।
batch.prioritystring ( int64 format)ঐচ্ছিক। ব্যাচের অগ্রাধিকার। উচ্চতর অগ্রাধিকার মানযুক্ত ব্যাচগুলি নিম্নতর অগ্রাধিকার মানযুক্ত ব্যাচগুলির আগে প্রক্রিয়াজাত করা হবে। ঋণাত্মক মান অনুমোদিত। ডিফল্ট হলো ০।
প্রতিক্রিয়া সংস্থা
সফল হলে, রেসপন্স বডিতে Operation এর একটি ইনস্ট্যান্স থাকে।
এমবেড কন্টেন্ট প্রতিক্রিয়া
EmbedContentRequest এর প্রতিক্রিয়া।
embeddingobject ( ContentEmbedding )শুধুমাত্র আউটপুট। ইনপুট কন্টেন্ট থেকে তৈরি এমবেডিং।
| JSON উপস্থাপনা |
|---|
{
"embedding": {
object ( |
কন্টেন্ট এম্বেডিং
একটি এমবেডিং উপস্থাপনকারী ফ্লোট সংখ্যার একটি তালিকা।
values[]numberএমবেডিং মানগুলো।
shape[]integerএই ফিল্ডটি সফট টোকেন টেনসর ফ্রেমের আকৃতি সংরক্ষণ করে (যেমন [1, 1, 256, 2048])।
| JSON উপস্থাপনা |
|---|
{ "values": [ number ], "shape": [ integer ] } |
টাস্কের ধরন
যে ধরনের কাজের জন্য এমবেডিংটি ব্যবহার করা হবে।
| এনামস | |
|---|---|
TASK_TYPE_UNSPECIFIED | অনির্ধারিত মান, যা ডিফল্টরূপে অন্য কোনো এনাম মানগুলোর একটিতে পরিবর্তিত হবে। |
RETRIEVAL_QUERY | নির্দিষ্ট করে যে প্রদত্ত টেক্সটটি অনুসন্ধান/পুনরুদ্ধার সেটিং-এর একটি কোয়েরি। |
RETRIEVAL_DOCUMENT | নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি অনুসন্ধানাধীন কর্পাস থেকে নেওয়া একটি নথি। |
SEMANTIC_SIMILARITY | নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি এসটিএস (STS)-এর জন্য ব্যবহার করা হবে। |
CLASSIFICATION | নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি শ্রেণীবদ্ধ করা হবে। |
CLUSTERING | নির্দিষ্ট করে যে এমবেডিংগুলো ক্লাস্টারিংয়ের জন্য ব্যবহার করা হবে। |
QUESTION_ANSWERING | নির্দিষ্ট করা হয়েছে যে প্রদত্ত পাঠ্যটি প্রশ্নোত্তরের জন্য ব্যবহার করা হবে। |
FACT_VERIFICATION | নির্দিষ্ট করা হয়েছে যে প্রদত্ত পাঠ্যটি তথ্য যাচাইয়ের জন্য ব্যবহার করা হবে। |
CODE_RETRIEVAL_QUERY | নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি কোড পুনরুদ্ধারের জন্য ব্যবহার করা হবে। |
এমবেড কন্টেন্ট ব্যাচ
- JSON উপস্থাপনা
- InputEmbedContentConfig
- ইনলাইনডএম্বেডকন্টেন্টঅনুরোধ
- ইনলাইনডএম্বেডকন্টেন্টঅনুরোধ
- এমবেড কন্টেন্ট ব্যাচ আউটপুট
- ইনলাইনডএম্বেডকন্টেন্টরেসপন্স
- ইনলাইনডএম্বেডকন্টেন্টরেসপন্স
- এমবেড কন্টেন্ট ব্যাচ পরিসংখ্যান
একটি রিসোর্স যা একাধিক EmbedContent অনুরোধের একটি ব্যাচকে উপস্থাপন করে।
modelstring আবশ্যক। সমাপ্তি তৈরির জন্য ব্যবহৃত Model নাম।
ফরম্যাট: models/{model} ।
namestringশুধুমাত্র আউটপুট। শনাক্তকারী। ব্যাচটির রিসোর্স নাম।
ফর্ম্যাট: batches/{batchId} ।
displayNamestringআবশ্যক। এই ব্যাচের ব্যবহারকারী-নির্ধারিত নাম।
inputConfigobject ( InputEmbedContentConfig )আবশ্যক। যে ইনস্ট্যান্সগুলিতে ব্যাচ প্রসেসিং করা হয়, সেগুলির কনফিগারেশন ইনপুট করুন।
outputobject ( EmbedContentBatchOutput )শুধুমাত্র আউটপুট। ব্যাচ অনুরোধের আউটপুট।
createTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচটি তৈরি করা হয়েছিল।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
endTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচ প্রসেসিং সম্পন্ন হয়েছে।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
updateTimestring ( Timestamp format)শুধুমাত্র আউটপুট। যে সময়ে ব্যাচটি সর্বশেষ আপডেট করা হয়েছিল।
RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
batchStatsobject ( EmbedContentBatchStats )শুধুমাত্র আউটপুট। ব্যাচটি সম্পর্কিত পরিসংখ্যান।
stateenum ( BatchState )শুধুমাত্র আউটপুট। ব্যাচটির অবস্থা।
prioritystring ( int64 format)ঐচ্ছিক। ব্যাচের অগ্রাধিকার। উচ্চতর অগ্রাধিকার মানযুক্ত ব্যাচগুলি নিম্নতর অগ্রাধিকার মানযুক্ত ব্যাচগুলির আগে প্রক্রিয়াজাত করা হবে। ঋণাত্মক মান অনুমোদিত। ডিফল্ট হলো ০।
| JSON উপস্থাপনা |
|---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
ব্যাচ অনুরোধের ইনপুট নির্ধারণ করে।
sourceUnion typesource নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: fileNamestring ইনপুট অনুরোধগুলো ধারণকারী File নাম।
requestsobject ( InlinedEmbedContentRequests )অনুরোধগুলো একসাথে প্রক্রিয়াজাত করা হবে।
| JSON উপস্থাপনা |
|---|
{
// source
"fileName": string,
"requests": {
object ( |
ইনলাইনডএম্বেডকন্টেন্টঅনুরোধ
ব্যাচ তৈরির অনুরোধের অংশ হিসেবে প্রদান করা হলে, অনুরোধগুলো ব্যাচ আকারে প্রক্রিয়াজাত করা হবে।
requests[]object ( InlinedEmbedContentRequest )প্রয়োজনীয়। অনুরোধগুলো ব্যাচ আকারে প্রক্রিয়া করতে হবে।
| JSON উপস্থাপনা |
|---|
{
"requests": [
{
object ( |
ইনলাইনডএম্বেডকন্টেন্টঅনুরোধ
অনুরোধটি ব্যাচ আকারে প্রক্রিয়া করা হবে।
requestobject ( EmbedContentRequest )আবশ্যক। অনুরোধটি ব্যাচ আকারে প্রক্রিয়াকরণ করতে হবে।
metadataobject ( Struct format)ঐচ্ছিক। অনুরোধের সাথে যুক্ত করার জন্য মেটাডেটা।
| JSON উপস্থাপনা |
|---|
{
"request": {
object ( |
এমবেড কন্টেন্ট ব্যাচ আউটপুট
ব্যাচ অনুরোধের আউটপুট। এটি AsyncBatchEmbedContentResponse অথবা EmbedContentBatch.output ফিল্ডে ফেরত আসে।
outputUnion typeoutput নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: responsesFilestring শুধুমাত্র আউটপুট। প্রতিক্রিয়াগুলো ধারণকারী ফাইলের ফাইল আইডি। ফাইলটি একটি JSONL ফাইল হবে যেখানে প্রতি লাইনে একটি করে প্রতিক্রিয়া থাকবে। প্রতিক্রিয়াগুলো JSON ফরম্যাটে EmbedContentResponse মেসেজ হবে। প্রতিক্রিয়াগুলো ইনপুট অনুরোধগুলোর ক্রমানুসারেই লেখা হবে।
inlinedResponsesobject ( InlinedEmbedContentResponses )শুধুমাত্র আউটপুট। ব্যাচের অনুরোধগুলোর প্রতিক্রিয়া। ইনলাইন অনুরোধ ব্যবহার করে ব্যাচটি তৈরি করা হলে এটি ফেরত দেওয়া হয়। প্রতিক্রিয়াগুলো ইনপুট অনুরোধগুলোর ক্রমানুসারেই থাকবে।
| JSON উপস্থাপনা |
|---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
ইনলাইনডএম্বেডকন্টেন্টরেসপন্স
ব্যাচটিতে থাকা অনুরোধগুলোর প্রতিক্রিয়া।
inlinedResponses[]object ( InlinedEmbedContentResponse )শুধুমাত্র আউটপুট। ব্যাচটিতে থাকা অনুরোধগুলোর প্রতিক্রিয়া।
| JSON উপস্থাপনা |
|---|
{
"inlinedResponses": [
{
object ( |
ইনলাইনডএম্বেডকন্টেন্টরেসপন্স
ব্যাচের মধ্যে থাকা একটিমাত্র অনুরোধের প্রতিক্রিয়া।
metadataobject ( Struct format)শুধুমাত্র আউটপুট। অনুরোধের সাথে সম্পর্কিত মেটাডেটা।
outputUnion typeoutput নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: errorobject ( Status )শুধুমাত্র আউটপুট। অনুরোধটি প্রক্রিয়া করার সময় ত্রুটি দেখা দিয়েছে।
responseobject ( EmbedContentResponse )শুধুমাত্র আউটপুট। অনুরোধের প্রতিক্রিয়া।
| JSON উপস্থাপনা |
|---|
{ "metadata": { object }, // output "error": { object ( |
এমবেড কন্টেন্ট ব্যাচ পরিসংখ্যান
ব্যাচটি সম্পর্কিত পরিসংখ্যান।
requestCountstring ( int64 format)শুধুমাত্র আউটপুট। ব্যাচটিতে থাকা অনুরোধের সংখ্যা।
successfulRequestCountstring ( int64 format)শুধুমাত্র আউটপুট। সফলভাবে প্রক্রিয়াকৃত অনুরোধের সংখ্যা।
failedRequestCountstring ( int64 format)শুধুমাত্র আউটপুট। যে অনুরোধগুলো প্রক্রিয়াকরণ করা সম্ভব হয়নি, তার সংখ্যা।
pendingRequestCountstring ( int64 format)শুধুমাত্র আউটপুট। যে অনুরোধগুলো এখনও প্রক্রিয়াকরণের অপেক্ষায় রয়েছে, তার সংখ্যা।
| JSON উপস্থাপনা |
|---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |