জেমিনি API এ এমবেডিং

Gemini API-এ এমবেডিং পরিষেবা শব্দ, বাক্যাংশ এবং বাক্যগুলির জন্য অত্যাধুনিক এম্বেডিং তৈরি করে৷ ফলস্বরূপ এমবেডিংগুলি প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP) কাজের জন্য ব্যবহার করা যেতে পারে, যেমন শব্দার্থিক অনুসন্ধান, পাঠ্য শ্রেণিবিন্যাস এবং আরও অনেকের মধ্যে ক্লাস্টারিং।

এই পৃষ্ঠাটি সংক্ষিপ্তভাবে এমবেডিং ব্যাখ্যা করে এবং আপনাকে শুরু করতে সাহায্য করার জন্য এমবেডিং পরিষেবার জন্য কিছু মূল ব্যবহারের ক্ষেত্রে হাইলাইট করে।

এমবেডিং কি?

টেক্সট এম্বেডিং হল একটি প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP) কৌশল যা পাঠ্যকে সংখ্যাসূচক স্থানাঙ্কে (যাকে ভেক্টর বলা হয়) রূপান্তরিত করে যা একটি এন-ডাইমেনশনাল স্পেসে প্লট করা যেতে পারে। এই পদ্ধতিটি আপনাকে পাঠ্যের টুকরোগুলিকে রিলেশনাল ডেটার বিট হিসাবে বিবেচনা করতে দেয়, যা আমরা মডেলগুলিকে প্রশিক্ষণ দিতে পারি।

এমবেডিং শব্দার্থগত অর্থ এবং প্রসঙ্গ ক্যাপচার করে যার ফলশ্রুতিতে অনুরূপ অর্থ সহ পাঠ্যের কাছাকাছি এমবেডিং থাকে। উদাহরণ স্বরূপ, "আমি আমার কুকুরকে পশুচিকিত্সকের কাছে নিয়ে গিয়েছিলাম" এবং "আমি আমার বিড়ালকে পশুচিকিত্সকের কাছে নিয়ে গিয়েছিলাম" বাক্যটিতে ভেক্টর স্পেসে একে অপরের কাছাকাছি এম্বেডিং থাকবে কারণ তারা উভয়ই একই প্রসঙ্গ বর্ণনা করে।

আপনি বিভিন্ন পাঠ্যের তুলনা করতে এবং তারা কীভাবে সম্পর্কিত তা বুঝতে এম্বেডিং ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি "বিড়াল" এবং "কুকুর" পাঠ্যের এম্বেডিংগুলি কাছাকাছি থাকে তবে আপনি অনুমান করতে পারেন যে এই শব্দগুলি অর্থ বা প্রসঙ্গে বা উভয় ক্ষেত্রেই একই রকম। এই ক্ষমতা পরবর্তী বিভাগে বর্ণিত বিভিন্ন ব্যবহারের ক্ষেত্রে অনুমতি দেয়।

ব্যবহারের ক্ষেত্রে

টেক্সট এম্বেডিংগুলি বিভিন্ন NLP ব্যবহারের ক্ষেত্রে ব্যবহৃত হয়, যেমন:

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

মিথুন এম্বেডিং মডেল

Gemini API দুটি মডেল অফার করে যা টেক্সট এম্বেডিং তৈরি করে: টেক্সট এম্বেডিং এবং এম্বেডিং । টেক্সট এমবেডিংস হল এমবেডিং মডেলের একটি আপডেটেড সংস্করণ যা 768 মাত্রার নিচে ইলাস্টিক এমবেডিং মাপ অফার করে। ইলাস্টিক এম্বেডিংগুলি ছোট আউটপুট মাত্রা তৈরি করে এবং ছোট কার্যক্ষমতা হ্রাসের সাথে সম্ভাব্য কম্পিউটিং এবং স্টোরেজ খরচ বাঁচায়।

নতুন প্রকল্প বা অ্যাপ্লিকেশনের জন্য টেক্সট এম্বেডিং ব্যবহার করুন। আপনার অ্যাপ্লিকেশন শুধুমাত্র এমবেডিং মডেল ব্যবহার করা উচিত যদি আপনি এটিকে টেক্সট এম্বেডিং ব্যবহার করার জন্য স্থানান্তর করতে না পারেন।

Gemini API দিয়ে এম্বেডিং তৈরি করুন

টেক্সট এম্বেডিং তৈরি করতে embedContent পদ্ধতি ব্যবহার করুন:

পাইথন

result = genai.embed_content(
model="models/text-embedding-004",
content="What is the meaning of life?",
task_type="retrieval_document",
title="Embedding of single string")

# 1 input > 1 vector output
print(str(result['embedding'])[:50], '... TRIMMED]')

সম্পূর্ণ রানযোগ্য উদাহরণের জন্য আমাদের শুরু করার টিউটোরিয়াল দেখুন।

যাওয়া

ctx := context.Background()
// Access your API key as an environment variable (see our Getting Started tutorial)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
// For embeddings, use the Text Embeddings model
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("The quick brown fox jumps over the lazy dog."))

if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)

সম্পূর্ণ রানযোগ্য উদাহরণের জন্য আমাদের শুরু করার টিউটোরিয়াল দেখুন।

Node.js

const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access your API key as an environment variable (see our Getting Started tutorial)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

async function run() {
// For embeddings, use the Text Embeddings model
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});

const text = "The quick brown fox jumps over the lazy dog."

const result = await model.embedContent(text);
const embedding = result.embedding;
console.log(embedding.values);
}

run();

সম্পূর্ণ রানযোগ্য উদাহরণের জন্য আমাদের শুরু করার টিউটোরিয়াল দেখুন।

ডার্ট (ফ্লটার)

final model = GenerativeModel(model: 'text-embedding-004', apiKey: apiKey);
final content = Content.text('The quick brown fox jumps over the lazy dog.');
final result = await model.embedContent(content);
print(result.embedding.values);

সম্পূর্ণ রানযোগ্য উদাহরণের জন্য আমাদের শুরু করার টিউটোরিয়াল দেখুন।

কার্ল

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

সম্পূর্ণ চালানোযোগ্য উদাহরণের জন্য GitHub-এ REST কুকবুকের সাথে আমাদের এমবেডিং কুইকস্টার্ট দেখুন।

এরপর কি