Embeddings

এমবেডিং হল টেক্সট ইনপুটের একটি সংখ্যাগত উপস্থাপনা যা অনেকগুলি অনন্য ব্যবহারের ক্ষেত্রে উন্মুক্ত করে, যেমন ক্লাস্টারিং, সাদৃশ্য পরিমাপ এবং তথ্য পুনরুদ্ধার। একটি ভূমিকার জন্য, এম্বেডিং গাইড দেখুন।

পদ্ধতি: models.embedContent

নির্দিষ্ট জেমিনি এম্বেডিং মডেল ব্যবহার করে ইনপুট Content থেকে একটি পাঠ্য এম্বেডিং ভেক্টর তৈরি করে৷

শেষবিন্দু

পোস্ট https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

পাথ প্যারামিটার

model string

প্রয়োজন। মডেলের সম্পদের নাম। এটি মডেল ব্যবহার করার জন্য একটি আইডি হিসাবে কাজ করে।

এই নামটি models.list পদ্ধতি দ্বারা প্রত্যাবর্তিত একটি মডেল নামের সাথে মিলিত হওয়া উচিত।

বিন্যাস: models/{model} এটি ফর্ম models/{model} লাগে।

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

ক্ষেত্র
content object ( Content )

প্রয়োজন। এম্বেড করার বিষয়বস্তু। শুধুমাত্র parts.text ক্ষেত্র গণনা করা হবে।

taskType enum ( TaskType )

ঐচ্ছিক। ঐচ্ছিক টাস্ক টাইপ যার জন্য এম্বেডিং ব্যবহার করা হবে। শুধুমাত্র models/embedding-001 এর জন্য সেট করা যেতে পারে।

title string

ঐচ্ছিক। পাঠ্যের জন্য একটি ঐচ্ছিক শিরোনাম। শুধুমাত্র টাস্কটাইপ RETRIEVAL_DOCUMENT হলেই প্রযোজ্য।

দ্রষ্টব্য: RETRIEVAL_DOCUMENT এর জন্য একটি title নির্দিষ্ট করা পুনরুদ্ধারের জন্য আরও ভাল মানের এম্বেডিং প্রদান করে৷

outputDimensionality integer

ঐচ্ছিক। আউটপুট এম্বেডিংয়ের জন্য ঐচ্ছিক হ্রাস মাত্রা। যদি সেট করা থাকে, আউটপুট এম্বেডিংয়ের অতিরিক্ত মান শেষ থেকে কেটে ফেলা হয়। শুধুমাত্র 2024 সাল থেকে নতুন মডেল দ্বারা সমর্থিত। পূর্ববর্তী মডেল ব্যবহার করলে আপনি এই মান সেট করতে পারবেন না ( models/embedding-001 )।

উদাহরণ অনুরোধ

পাইথন


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

শেল

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
    "content": {
    "parts":[{
      "text": "Hello world"}]}, }' 2> /dev/null | head

প্রতিক্রিয়া শরীর

একটি EmbedContentRequest এর প্রতিক্রিয়া।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

ক্ষেত্র
embedding object ( ContentEmbedding )

শুধুমাত্র আউটপুট। ইনপুট বিষয়বস্তু থেকে উৎপন্ন এমবেডিং।

JSON প্রতিনিধিত্ব
{
  "embedding": {
    object (ContentEmbedding)
  }
}

পদ্ধতি: models.batchEmbedContents

ইনপুট Content থেকে একাধিক এম্বেডিং ভেক্টর তৈরি করে যা EmbedContentRequest অবজেক্ট হিসাবে উপস্থাপিত স্ট্রিংগুলির একটি ব্যাচ নিয়ে গঠিত।

শেষবিন্দু

পোস্ট https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

পাথ প্যারামিটার

model string

প্রয়োজন। মডেলের সম্পদের নাম। এটি মডেল ব্যবহার করার জন্য একটি আইডি হিসাবে কাজ করে।

এই নামটি models.list পদ্ধতি দ্বারা প্রত্যাবর্তিত একটি মডেল নামের সাথে মিলিত হওয়া উচিত।

বিন্যাস: models/{model} এটি ফর্ম models/{model} লাগে।

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

ক্ষেত্র
requests[] object ( EmbedContentRequest )

প্রয়োজন। ব্যাচের জন্য এম্বেড অনুরোধ. এই প্রতিটি অনুরোধের মডেলটি অবশ্যই নির্দিষ্ট BatchEmbedContentsRequest.model মডেলের সাথে মিলবে।

উদাহরণ অনুরোধ

পাইথন

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

শেল

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"requests": [{
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "What is the meaning of life?"}]}, },
      {
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "How much wood would a woodchuck chuck?"}]}, },
      {
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "How does the brain work?"}]}, }, ]}' 2> /dev/null | grep -C 5 values

প্রতিক্রিয়া শরীর

একটি BatchEmbedContentsRequest এর প্রতিক্রিয়া।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

ক্ষেত্র
embeddings[] object ( ContentEmbedding )

শুধুমাত্র আউটপুট। প্রতিটি অনুরোধের জন্য এমবেডিং, ব্যাচ অনুরোধে দেওয়া একই ক্রমে।

JSON প্রতিনিধিত্ব
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

মডেলটি এম্বেড করার জন্য Content সহ অনুরোধ৷

ক্ষেত্র
model string

প্রয়োজন। মডেলের সম্পদের নাম। এটি মডেল ব্যবহার করার জন্য একটি আইডি হিসাবে কাজ করে।

এই নামটি models.list পদ্ধতি দ্বারা প্রত্যাবর্তিত একটি মডেল নামের সাথে মিলিত হওয়া উচিত।

বিন্যাস: models/{model}

content object ( Content )

প্রয়োজন। এম্বেড করার বিষয়বস্তু। শুধুমাত্র parts.text ক্ষেত্র গণনা করা হবে।

taskType enum ( TaskType )

ঐচ্ছিক। ঐচ্ছিক টাস্ক টাইপ যার জন্য এম্বেডিং ব্যবহার করা হবে। শুধুমাত্র models/embedding-001 এর জন্য সেট করা যেতে পারে।

title string

ঐচ্ছিক। পাঠ্যের জন্য একটি ঐচ্ছিক শিরোনাম। শুধুমাত্র টাস্কটাইপ RETRIEVAL_DOCUMENT হলেই প্রযোজ্য।

দ্রষ্টব্য: RETRIEVAL_DOCUMENT এর জন্য একটি title নির্দিষ্ট করা পুনরুদ্ধারের জন্য আরও ভাল মানের এম্বেডিং প্রদান করে৷

outputDimensionality integer

ঐচ্ছিক। আউটপুট এম্বেডিংয়ের জন্য ঐচ্ছিক হ্রাস মাত্রা। যদি সেট করা থাকে, আউটপুট এম্বেডিংয়ের অতিরিক্ত মান শেষ থেকে কেটে ফেলা হয়। শুধুমাত্র 2024 সাল থেকে নতুন মডেল দ্বারা সমর্থিত। পূর্ববর্তী মডেল ব্যবহার করলে আপনি এই মান সেট করতে পারবেন না ( models/embedding-001 )।

JSON প্রতিনিধিত্ব
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

কন্টেন্ট এম্বেডিং

একটি এমবেডিং প্রতিনিধিত্বকারী ফ্লোটগুলির একটি তালিকা৷

ক্ষেত্র
values[] number

এমবেডিং মান.

JSON প্রতিনিধিত্ব
{
  "values": [
    number
  ]
}

টাস্ক টাইপ

টাস্কের ধরন যার জন্য এম্বেডিং ব্যবহার করা হবে।

Enums
TASK_TYPE_UNSPECIFIED আনসেট মান, যা অন্যান্য enum মানগুলির একটিতে ডিফল্ট হবে।
RETRIEVAL_QUERY প্রদত্ত টেক্সট একটি অনুসন্ধান/পুনরুদ্ধার সেটিং একটি ক্যোয়ারী নির্দিষ্ট করে.
RETRIEVAL_DOCUMENT প্রদত্ত পাঠ্যটি অনুসন্ধান করা কর্পাস থেকে একটি নথি নির্দিষ্ট করে৷
SEMANTIC_SIMILARITY প্রদত্ত পাঠ্যটি STS-এর জন্য ব্যবহার করা হবে তা নির্দিষ্ট করে।
CLASSIFICATION নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি শ্রেণীবদ্ধ করা হবে।
CLUSTERING নির্দিষ্ট করে যে এমবেডিংগুলি ক্লাস্টারিংয়ের জন্য ব্যবহার করা হবে৷
QUESTION_ANSWERING নির্দিষ্ট করে যে প্রদত্ত পাঠ্যটি প্রশ্নের উত্তরের জন্য ব্যবহার করা হবে।
FACT_VERIFICATION উল্লেখ করে যে প্রদত্ত পাঠ্য সত্য যাচাইয়ের জন্য ব্যবহার করা হবে।