एम्बेडिंग, टेक्स्ट इनपुट का संख्यात्मक प्रतिनिधित्व होती हैं. इससे कई यूनीक इस्तेमाल के उदाहरण मिलते हैं. जैसे, क्लस्टरिंग, समानता का मेज़रमेंट, और जानकारी पाना. इसके बारे में जानने के लिए, Embeddings गाइड देखें.
जनरेटिव एआई मॉडल नया कॉन्टेंट बनाते हैं. हालांकि, Gemini Embedding मॉडल का मकसद सिर्फ़ आपके इनपुट डेटा के फ़ॉर्मैट को संख्या के तौर पर दिखाना है. Google की ज़िम्मेदारी है कि वह एक ऐसा एम्बेडिंग मॉडल उपलब्ध कराए जो आपके इनपुट डेटा के फ़ॉर्मैट को अनुरोध किए गए संख्यात्मक फ़ॉर्मैट में बदल दे. हालांकि, उपयोगकर्ताओं की यह ज़िम्मेदारी बनी रहती है कि वे अपने इनपुट डेटा और उससे जनरेट होने वाले एम्बेडिंग के लिए पूरी तरह से ज़िम्मेदार हों. Gemini Embedding मॉडल का इस्तेमाल करने पर, यह पुष्टि हो जाती है कि अपलोड किए जाने वाले कॉन्टेंट को इस्तेमाल करने से जुड़े ज़रूरी अधिकार आपके पास हैं. ऐसा कोई कॉन्टेंट जनरेट न करें जिससे किसी की बौद्धिक संपत्ति या निजता के अधिकारों का उल्लंघन होता हो. इस सेवा के इस्तेमाल पर, हमारी इस्तेमाल पर पाबंदी से जुड़ी नीति और Google की सेवा की शर्तें लागू होती हैं.
तरीका: models.embedContent
यह फ़ंक्शन, Gemini Embedding मॉडल का इस्तेमाल करके, इनपुट Content
से टेक्स्ट एम्बेडिंग वेक्टर जनरेट करता है.
एंडपॉइंट
posthttps: / /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
Node.js
ऐप पर जाएं
शेल
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में EmbedContentResponse
का एक इंस्टेंस शामिल किया जाता है.
मेथड: models.batchEmbedContents
यह इनपुट Content
से कई एम्बेडिंग वेक्टर जनरेट करता है. इसमें EmbedContentRequest
ऑब्जेक्ट के तौर पर दिखाए गए स्ट्रिंग का बैच होता है.
एंडपॉइंट
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContents
पाथ पैरामीटर
model
string
ज़रूरी है. मॉडल के संसाधन का नाम. यह मॉडल के लिए आईडी के तौर पर काम करता है.
यह नाम, models.list
तरीके से मिले मॉडल के नाम से मेल खाना चाहिए.
फ़ॉर्मैट: models/{model}
यह models/{model}
के फ़ॉर्म में होता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
requests[]
object (EmbedContentRequest
)
ज़रूरी है. बैच के लिए एम्बेड करने के अनुरोध. इनमें से हर अनुरोध में मौजूद मॉडल, BatchEmbedContentsRequest.model
में बताए गए मॉडल से मेल खाना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
ऐप पर जाएं
शेल
जवाब का मुख्य भाग
BatchEmbedContentsRequest
का जवाब.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
embeddings[]
object (ContentEmbedding
)
सिर्फ़ आउटपुट के लिए. हर अनुरोध के लिए एम्बेडिंग, उसी क्रम में जैसा कि बैच अनुरोध में दिया गया है.
JSON के काेड में दिखाना |
---|
{
"embeddings": [
{
object ( |
मेथड: models.asyncBatchEmbedContent
- एंडपॉइंट
- पाथ पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- अनुमति पाने के लिंक
- EmbedContentRequest
यह कुकी, बैच प्रोसेसिंग के लिए models.embedContent
अनुरोधों के बैच को कतार में लगाती है. हमारे पास GenerativeService
में models.batchEmbedContents
हैंडलर है, लेकिन इसे सिंक किया गया था. इसलिए, हम इस कुकी का नाम Async
रखते हैं, ताकि कोई भ्रम न हो.
एंडपॉइंट
posthttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContent
पाथ पैरामीटर
batch.model
string
ज़रूरी है. Model
का नाम, जिसका इस्तेमाल जवाब जनरेट करने के लिए किया जाना है.
फ़ॉर्मैट: models/{model}
. यह models/{model}
के फ़ॉर्म में होता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
batch.name
string
सिर्फ़ आउटपुट के लिए. आइडेंटिफ़ायर. बैच के संसाधन का नाम.
फ़ॉर्मैट: batches/{batchId}
.
batch.displayName
string
ज़रूरी है. इस बैच का वह नाम जो उपयोगकर्ता ने तय किया है.
batch.inputConfig
object (InputEmbedContentConfig
)
ज़रूरी है. उन इंस्टेंस का इनपुट कॉन्फ़िगरेशन जिन पर बैच प्रोसेसिंग की जाती है.
batch.output
object (EmbedContentBatchOutput
)
सिर्फ़ आउटपुट के लिए. बैच अनुरोध का आउटपुट.
batch.createTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. बैच बनाने का समय.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
batch.endTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. बैच प्रोसेसिंग पूरी होने का समय.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
batch.updateTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. वह समय जब बैच को आखिरी बार अपडेट किया गया था.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
batch.batchStats
object (EmbedContentBatchStats
)
सिर्फ़ आउटपुट के लिए. बैच के बारे में आंकड़े.
batch.state
enum (BatchState
)
सिर्फ़ आउटपुट के लिए. बैच की स्थिति.
batch.priority
string (int64 format)
ज़रूरी नहीं. बैच की प्राथमिकता. ज़्यादा प्राथमिकता वाली वैल्यू वाले बैच, कम प्राथमिकता वाली वैल्यू वाले बैच से पहले प्रोसेस किए जाएंगे. नेगेटिव वैल्यू इस्तेमाल की जा सकती हैं. डिफ़ॉल्ट वैल्यू 0 होती है.
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में Operation
का एक इंस्टेंस शामिल किया जाता है.
EmbedContentRequest
मॉडल को एम्बेड करने के लिए, Content
वाला अनुरोध.
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
) का इस्तेमाल किया जा रहा है, तो इस वैल्यू को सेट नहीं किया जा सकता.
EmbedContentResponse
EmbedContentRequest
का जवाब.
embedding
object (ContentEmbedding
)
सिर्फ़ आउटपुट के लिए. इनपुट कॉन्टेंट से जनरेट किया गया एम्बेडिंग.
JSON के काेड में दिखाना |
---|
{
"embedding": {
object ( |
ContentEmbedding
यह एम्बेडिंग को दिखाने वाले फ़्लोट की सूची होती है.
values[]
number
एम्बेडिंग वैल्यू.
JSON के काेड में दिखाना |
---|
{ "values": [ number ] } |
TaskType
यह उस टास्क का टाइप है जिसके लिए एम्बेडिंग का इस्तेमाल किया जाएगा.
Enums | |
---|---|
TASK_TYPE_UNSPECIFIED |
वैल्यू सेट नहीं है. यह डिफ़ॉल्ट रूप से, enum की किसी दूसरी वैल्यू पर सेट हो जाएगी. |
RETRIEVAL_QUERY |
इससे पता चलता है कि दिया गया टेक्स्ट, खोज/जानकारी वापस पाने की सेटिंग में एक क्वेरी है. |
RETRIEVAL_DOCUMENT |
यह कुकी बताती है कि दिया गया टेक्स्ट, खोजे जा रहे कॉर्पस का कोई दस्तावेज़ है. |
SEMANTIC_SIMILARITY |
यह कुकी बताती है कि दिए गए टेक्स्ट का इस्तेमाल एसटीएसी के लिए किया जाएगा. |
CLASSIFICATION |
इससे पता चलता है कि दिए गए टेक्स्ट को कैटगरी में बांटा जाएगा. |
CLUSTERING |
इससे पता चलता है कि एम्बेडिंग का इस्तेमाल क्लस्टरिंग के लिए किया जाएगा. |
QUESTION_ANSWERING |
इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल, सवालों के जवाब देने के लिए किया जाएगा. |
FACT_VERIFICATION |
इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल, तथ्यों की पुष्टि करने के लिए किया जाएगा. |
CODE_RETRIEVAL_QUERY |
इससे पता चलता है कि दिए गए टेक्स्ट का इस्तेमाल कोड को वापस पाने के लिए किया जाएगा. |
EmbedContentBatch
- JSON काेड में दिखाना
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
EmbedContent
अनुरोधों के बैच को दिखाने वाला संसाधन.
model
string
ज़रूरी है. Model
का नाम, जिसका इस्तेमाल जवाब जनरेट करने के लिए किया जाना है.
फ़ॉर्मैट: models/{model}
.
name
string
सिर्फ़ आउटपुट के लिए. आइडेंटिफ़ायर. बैच के संसाधन का नाम.
फ़ॉर्मैट: batches/{batchId}
.
displayName
string
ज़रूरी है. इस बैच का वह नाम जो उपयोगकर्ता ने तय किया है.
inputConfig
object (InputEmbedContentConfig
)
ज़रूरी है. उन इंस्टेंस का इनपुट कॉन्फ़िगरेशन जिन पर बैच प्रोसेसिंग की जाती है.
output
object (EmbedContentBatchOutput
)
सिर्फ़ आउटपुट के लिए. बैच अनुरोध का आउटपुट.
createTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. बैच बनाने का समय.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
endTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. बैच प्रोसेसिंग पूरी होने का समय.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. वह समय जब बैच को आखिरी बार अपडेट किया गया था.
यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
या "2014-10-02T15:01:23+05:30"
.
batchStats
object (EmbedContentBatchStats
)
सिर्फ़ आउटपुट के लिए. बैच के बारे में आंकड़े.
state
enum (BatchState
)
सिर्फ़ आउटपुट के लिए. बैच की स्थिति.
priority
string (int64 format)
ज़रूरी नहीं. बैच की प्राथमिकता. ज़्यादा प्राथमिकता वाली वैल्यू वाले बैच, कम प्राथमिकता वाली वैल्यू वाले बैच से पहले प्रोसेस किए जाएंगे. नेगेटिव वैल्यू इस्तेमाल की जा सकती हैं. डिफ़ॉल्ट वैल्यू 0 होती है.
JSON के काेड में दिखाना |
---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
यह कुकी, बैच अनुरोध के लिए इनपुट कॉन्फ़िगर करती है.
source
Union type
source
इनमें से सिर्फ़ एक हो सकता है:fileName
string
File
का नाम, जिसमें इनपुट के अनुरोध शामिल हैं.
requests
object (InlinedEmbedContentRequests
)
बैच में प्रोसेस किए जाने वाले अनुरोध.
JSON के काेड में दिखाना |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
बैच में प्रोसेस किए जाने वाले अनुरोध. इन्हें बैच बनाने के अनुरोध के हिस्से के तौर पर दिया जाता है.
requests[]
object (InlinedEmbedContentRequest
)
ज़रूरी है. बैच में प्रोसेस किए जाने वाले अनुरोध.
JSON के काेड में दिखाना |
---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
बैच में प्रोसेस किए जाने का अनुरोध.
request
object (EmbedContentRequest
)
ज़रूरी है. बैच में प्रोसेस किए जाने का अनुरोध.
metadata
object (Struct
format)
ज़रूरी नहीं. अनुरोध से जोड़ा जाने वाला मेटाडेटा.
JSON के काेड में दिखाना |
---|
{
"request": {
object ( |
EmbedContentBatchOutput
बैच अनुरोध का आउटपुट. यह वैल्यू, AsyncBatchEmbedContentResponse
या EmbedContentBatch.output
फ़ील्ड में दी जाती है.
output
Union type
output
इनमें से सिर्फ़ एक हो सकता है:responsesFile
string
सिर्फ़ आउटपुट के लिए. जवाबों वाली फ़ाइल का आईडी. यह फ़ाइल JSONL फ़ाइल होगी. इसमें हर लाइन में एक जवाब होगा. जवाब, JSON फ़ॉर्मैट में EmbedContentResponse
मैसेज के तौर पर मिलेंगे. जवाब, इनपुट अनुरोधों के क्रम में लिखे जाएंगे.
inlinedResponses
object (InlinedEmbedContentResponses
)
सिर्फ़ आउटपुट के लिए. बैच में मौजूद अनुरोधों के जवाब. इस फ़ील्ड की वैल्यू तब दिखती है, जब इनलाइन किए गए अनुरोधों का इस्तेमाल करके बैच बनाया गया हो. जवाब, इनपुट अनुरोधों के क्रम में ही होंगे.
JSON के काेड में दिखाना |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
बैच में मौजूद अनुरोधों के जवाब.
inlinedResponses[]
object (InlinedEmbedContentResponse
)
सिर्फ़ आउटपुट के लिए. बैच में मौजूद अनुरोधों के जवाब.
JSON के काेड में दिखाना |
---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
बैच में मौजूद किसी एक अनुरोध का जवाब.
metadata
object (Struct
format)
सिर्फ़ आउटपुट के लिए. अनुरोध से जुड़ा मेटाडेटा.
output
Union type
output
इनमें से सिर्फ़ एक हो सकता है:error
object (Status
)
सिर्फ़ आउटपुट के लिए. अनुरोध को प्रोसेस करते समय हुई गड़बड़ी.
response
object (EmbedContentResponse
)
सिर्फ़ आउटपुट के लिए. अनुरोध का जवाब.
JSON के काेड में दिखाना |
---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
बैच के बारे में आंकड़े.
requestCount
string (int64 format)
सिर्फ़ आउटपुट के लिए. बैच में मौजूद अनुरोधों की संख्या.
successfulRequestCount
string (int64 format)
सिर्फ़ आउटपुट के लिए. सफलतापूर्वक प्रोसेस किए गए अनुरोधों की संख्या.
failedRequestCount
string (int64 format)
सिर्फ़ आउटपुट के लिए. उन अनुरोधों की संख्या जिन्हें प्रोसेस नहीं किया जा सका.
pendingRequestCount
string (int64 format)
सिर्फ़ आउटपुट के लिए. ऐसे अनुरोधों की संख्या जिन्हें अब भी प्रोसेस किया जाना बाकी है.
JSON के काेड में दिखाना |
---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |