Embeddings

तरीका: Model.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

ज़रूरी नहीं. टेक्स्ट के लिए वैकल्पिक टाइटल. यह सिर्फ़ तब लागू होता है, जब TaskType RETRIEVAL_DOCUMENT पर सेट हो.

ध्यान दें: RETRIEVAL_DOCUMENT के लिए title तय करने से, वापस पाने के लिए बेहतर क्वालिटी वाली एम्बेडिंग मिलती है.

outputDimensionality integer

ज़रूरी नहीं. आउटपुट एम्बेड करने के लिए, छोटा किया गया डाइमेंशन (ज़रूरी नहीं) अगर सेट किया जाता है, तो आउटपुट एम्बेड में बहुत ज़्यादा वैल्यू को आखिर से काट दिया जाता है. यह वैल्यू, 2024 के बाद के नए मॉडल के साथ काम करती है. साथ ही, पिछले मॉडल (models/embedding-001) में यह वैल्यू नहीं दी जा सकती.

अनुरोध का उदाहरण

Python


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);

जवाब का मुख्य भाग

EmbedContentRequest पर दिया गया जवाब.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

फ़ील्ड
embedding object (ContentEmbedding)

सिर्फ़ आउटपुट के लिए. इनपुट कॉन्टेंट से जनरेट की गई एम्बेडिंग.

JSON के काेड में दिखाना
{
  "embedding": {
    object (ContentEmbedding)
  }
}

तरीका: Model.batchEmbedContents

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

एंडपॉइंट

पोस्ट https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

पाथ पैरामीटर

model string

ज़रूरी है. मॉडल के संसाधन का नाम. यह मॉडल के इस्तेमाल के लिए एक आईडी के रूप में काम करता है.

यह नाम, models.list तरीके से मिले मॉडल के नाम से मेल खाना चाहिए.

फ़ॉर्मैट: models/{model} यह models/{model} का रूप लेता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

फ़ील्ड
requests[] object (EmbedContentRequest)

ज़रूरी है. बैच के लिए अनुरोध एम्बेड करें. इनमें से हर अनुरोध के मॉडल को, बताए गए BatchEmbedContentsRequest.model मॉडल से मेल खाना चाहिए.

अनुरोध का उदाहरण

Python

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);

जवाब का मुख्य भाग

BatchEmbedContentsRequest के लिए दिया गया जवाब.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

फ़ील्ड
embeddings[] object (ContentEmbedding)

सिर्फ़ आउटपुट के लिए. हर अनुरोध को एम्बेड करना, उसी क्रम में करना जैसा बैच अनुरोध में दिया गया है.

JSON के काेड में दिखाना
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

एम्बेड किए जाने वाले मॉडल के लिए, Content शामिल करने का अनुरोध करें.

JSON के काेड में दिखाना
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
फ़ील्ड
model string

ज़रूरी है. मॉडल के संसाधन का नाम. यह मॉडल के इस्तेमाल के लिए एक आईडी के रूप में काम करता है.

यह नाम, models.list तरीके से मिले मॉडल के नाम से मेल खाना चाहिए.

फ़ॉर्मैट: models/{model}

content object (Content)

ज़रूरी है. एम्बेड किया जाने वाला कॉन्टेंट. सिर्फ़ parts.text फ़ील्ड की गिनती की जाएगी.

taskType enum (TaskType)

ज़रूरी नहीं. ऐसा टास्क टाइप जिसके लिए एम्बेडिंग का इस्तेमाल किया जाएगा. सिर्फ़ models/embedding-001 के लिए सेट किया जा सकता है.

title string

ज़रूरी नहीं. टेक्स्ट के लिए वैकल्पिक टाइटल. यह सिर्फ़ तब लागू होता है, जब TaskType RETRIEVAL_DOCUMENT पर सेट हो.

ध्यान दें: RETRIEVAL_DOCUMENT के लिए title तय करने से, वापस पाने के लिए बेहतर क्वालिटी वाली एम्बेडिंग मिलती है.

outputDimensionality integer

ज़रूरी नहीं. आउटपुट एम्बेड करने के लिए, छोटा किया गया डाइमेंशन (ज़रूरी नहीं) अगर सेट किया जाता है, तो आउटपुट एम्बेड में बहुत ज़्यादा वैल्यू को आखिर से काट दिया जाता है. यह वैल्यू, 2024 के बाद के नए मॉडल के साथ काम करती है. साथ ही, पिछले मॉडल (models/embedding-001) में यह वैल्यू नहीं दी जा सकती.

ContentEmbedding

एम्बेड करने की जानकारी देने वाले फ़्लोट की सूची.

JSON के काेड में दिखाना
{
  "values": [
    number
  ]
}
फ़ील्ड
values[] number

एम्बेड करने वाली वैल्यू.

TaskType

टास्क का वह टाइप जिसके लिए एम्बेड करने की सुविधा का इस्तेमाल किया जाएगा.

Enums
TASK_TYPE_UNSPECIFIED वैल्यू को अनसेट करें, जो अन्य ईनम वैल्यू में से किसी एक पर डिफ़ॉल्ट होगा.
RETRIEVAL_QUERY तय करता है कि दिया गया टेक्स्ट, खोज/वापस पाने की सेटिंग में क्वेरी है.
RETRIEVAL_DOCUMENT तय करता है कि दिया गया टेक्स्ट, खोजे जा रहे कॉर्पस का दस्तावेज़ है.
SEMANTIC_SIMILARITY इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल एसटीएस के लिए किया जाएगा.
CLASSIFICATION इससे पता चलता है कि दिए गए टेक्स्ट की कैटगरी तय की जाएगी.
CLUSTERING इससे पता चलता है कि एम्बेड करने की सुविधा का इस्तेमाल, क्लस्टर बनाने के लिए किया जाएगा.
QUESTION_ANSWERING इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल, सवाल का जवाब देने के लिए किया जाएगा.
FACT_VERIFICATION इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल, तथ्यों की पुष्टि करने के लिए किया जाएगा.