Gemini API में एम्बेड करना

Gemini API में एम्बेड करने की सेवा, शब्दों, वाक्यांशों, और वाक्यों को एम्बेड करने की सबसे बेहतरीन सुविधा जनरेट करती है. इसके बाद, एम्बेड की गई चीज़ों का इस्तेमाल नैचुरल लैंग्वेज प्रोसेसिंग (एनएलपी) से जुड़े कामों में किया जा सकता है. जैसे, सिमैंटिक सर्च करना, टेक्स्ट की कैटगरी तय करना, और क्लस्टरिंग.

इस पेज पर, एम्बेड करने के बारे में जानकारी दी गई है. साथ ही, एम्बेड करने की सेवा के इस्तेमाल के कुछ अहम उदाहरणों को हाइलाइट किया गया है. इससे आपको एम्बेड करने की प्रोसेस शुरू करने में मदद मिलेगी.

एम्बेड करने की सुविधा क्या है?

टेक्स्ट एम्बेड करना एक नैचुरल लैंग्वेज प्रोसेसिंग (एनएलपी) तकनीक है, जो टेक्स्ट को संख्या वाले कोऑर्डिनेट (जिसे वेक्टर कहा जाता है) में बदल देती है. इस तकनीक को एन-डाइमेंशन वाले स्पेस में प्लॉट किया जा सकता है. इस तरीके से, टेक्स्ट के हिस्सों को रिलेशनल डेटा के हिस्से के तौर पर इस्तेमाल किया जा सकता है. इसके बाद, हम मॉडल को ट्रेनिंग दे सकते हैं.

एम्बेड करने की सुविधा से वाक्य के मतलब और संदर्भ का पता चलता है. इससे टेक्स्ट के रूप में टेक्स्ट मिलता है और उसका मतलब एक जैसा होता है. उदाहरण के लिए, "मैंने अपने कुत्ते को पशु चिकित्सक के पास ले जाया" और "मैंने अपनी बिल्ली को पशु चिकित्सक के पास ले जाया" में ऐसे एम्बेडिंग होंगे जो वेक्टर स्पेस में एक-दूसरे के करीब हैं, क्योंकि वे दोनों एक जैसे संदर्भ के बारे में बताते हैं.

एम्बेड करने की सुविधा का इस्तेमाल करके, अलग-अलग टेक्स्ट की तुलना की जा सकती है. इससे यह भी पता चल सकता है कि वे एक-दूसरे से कैसे जुड़े हैं. उदाहरण के लिए, अगर "बिल्ली" और "कुत्ता" टेक्स्ट को एम्बेड किया गया है तो यह अनुमान लगाया जा सकता है कि इन शब्दों के मतलब, संदर्भ या दोनों एक जैसे हैं. इसकी मदद से, कॉन्टेंट को अलग-अलग तरह से इस्तेमाल किया जा सकता है. इन उदाहरणों के बारे में अगले सेक्शन में बताया गया है.

इस्तेमाल के उदाहरण

टेक्स्ट एम्बेड करने की सुविधा का इस्तेमाल, एनएलपी के कई तरह के कामों में किया जाता है. जैसे:

  • जानकारी वापस पाना: किसी इनपुट टेक्स्ट के आधार पर, वाक्य के हिसाब से मिलता-जुलता टेक्स्ट वापस पाने के लिए, एम्बेड करने की सुविधा का इस्तेमाल किया जा सकता है. जानकारी वापस पाने के सिस्टम की मदद से कई तरह के ऐप्लिकेशन काम कर सकते हैं. जैसे, सिमैंटिक खोज करना, सवालों के जवाब देना या खास जानकारी देना.
  • क्लासिफ़िकेशन: दस्तावेज़ों को कैटगरी में बांटने के लिए, एम्बेड करने की सुविधा का इस्तेमाल करके मॉडल को ट्रेनिंग दी जा सकती है. उदाहरण के लिए, अगर आपको उपयोगकर्ता की टिप्पणियों को नेगेटिव या पॉज़िटिव के तौर पर अलग-अलग कैटगरी में बांटना है, तो एम्बेड करने की सेवा का इस्तेमाल करें. इससे, कॉन्टेंट की कैटगरी तय करने वाले टूल को ट्रेनिंग देने के लिए, हर टिप्पणी को वेक्टर के साथ-साथ दिखाया जा सकता है.
  • क्लस्टरिंग: टेक्स्ट के वेक्टर की तुलना करने से यह पता चल सकता है कि वे कितने मिलते-जुलते या अलग हैं. इस सुविधा का इस्तेमाल, क्लस्टरिंग मॉडल को ट्रेनिंग देने के लिए किया जा सकता है. यह मॉडल, मिलते-जुलते टेक्स्ट या दस्तावेज़ों को एक साथ ग्रुप करता है और आपके डेटा में गड़बड़ियों का पता लगाता है.
  • वेक्टर डेटाबेस: अपने एनएलपी ऐप्लिकेशन की परफ़ॉर्मेंस को और सटीक बनाने के लिए, जनरेट किए गए एम्बेडिंग को वेक्टर डेटाबेस में सेव किया जा सकता है. टेक्स्ट प्रॉम्प्ट का संख्या वाले वेक्टर में अनुवाद करने के लिए, वेक्टर डेटाबेस का इस्तेमाल करने का तरीका जानने के लिए, नीचे दिया गया ट्यूटोरियल देखें.

Gemini में एम्बेड करने के मॉडल

Gemini API के दो मॉडल हैं, जो टेक्स्ट एम्बेड करने की सुविधा जनरेट करते हैं: टेक्स्ट एम्बेड और एम्बेडिंग. टेक्स्ट एम्बेड करना, एम्बेड करने वाले मॉडल का अपडेट किया गया वर्शन है. इसमें 768 डाइमेंशन के तहत इलास्टिक एम्बेडिंग साइज़ उपलब्ध है. इलास्टिक एम्बेड करने से कम आउटपुट डाइमेंशन जनरेट होते हैं. साथ ही, इससे परफ़ॉर्मेंस में मामूली कमी के साथ ही कंप्यूटिंग और स्टोरेज की लागत में बचत होती है.

नए प्रोजेक्ट या ऐप्लिकेशन के लिए टेक्स्ट एम्बेड करने की सुविधा का इस्तेमाल करें. आपके ऐप्लिकेशन को एम्बेडिंग मॉडल का इस्तेमाल सिर्फ़ तब करना चाहिए, जब उसे टेक्स्ट एम्बेडिंग का इस्तेमाल करने के लिए माइग्रेट नहीं किया जा सकता हो.

Gemini API की मदद से एम्बेड करने की सुविधा जनरेट करना

टेक्स्ट एम्बेड करने के लिए, embedContent तरीके का इस्तेमाल करें:

Python

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

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 कुकबुक की मदद से क्विकस्टार्ट एम्बेड करना पर जाएं.

आगे क्या करना है