Gemini API में, प्रॉम्प्ट के इनपुट से अलग मीडिया फ़ाइलें अपलोड की जा सकती हैं. इससे, एक ही मीडिया फ़ाइल का इस्तेमाल कई अनुरोधों और प्रॉम्प्ट में किया जा सकता है. ज़्यादा जानकारी के लिए, मीडिया का इस्तेमाल करके प्रॉम्प्ट देना गाइड देखें.
तरीका: media.upload
यह डेटा को ragStore में अपलोड करता है. साथ ही, इसे RagStore Document में सेव करने से पहले, प्रीप्रोसेस और चंक करता है.
एंडपॉइंट
- मीडिया अपलोड करने के अनुरोधों के लिए, अपलोड यूआरआई:
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
- सिर्फ़ मेटाडेटा के अनुरोधों के लिए मेटाडेटा यूआरआई:
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
पाथ पैरामीटर
ragStoreName
string
ज़रूरी है. इम्यूटेबल. RagStore
का नाम, जिसमें फ़ाइल अपलोड करनी है. उदाहरण: ragStores/my-rag-store-123
यह ragStores/{ragstore}
के फ़ॉर्म में होता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
displayName
string
ज़रूरी नहीं. बनाए गए दस्तावेज़ का डिसप्ले नेम.
customMetadata[]
object (CustomMetadata
)
डेटा से जोड़ा जाने वाला कस्टम मेटाडेटा.
chunkingConfig
object (ChunkingConfig
)
ज़रूरी नहीं. इस कॉन्फ़िगरेशन से सेवा को यह पता चलता है कि डेटा को कैसे बांटा जाए. अगर यह जानकारी नहीं दी जाती है, तो सेवा डिफ़ॉल्ट पैरामीटर का इस्तेमाल करेगी.
mimeType
string
ज़रूरी नहीं. डेटा का MIME टाइप. अगर यह जानकारी नहीं दी जाती है, तो अपलोड किए गए कॉन्टेंट से इसका अनुमान लगाया जाएगा.
जवाब का मुख्य भाग
यह google.longrunning.Operation की कॉपी है. हमें इसे कॉपी करने की ज़रूरत इसलिए है, क्योंकि Scotty के साथ इंटरैक्ट करने के लिए, हमें Scotty के लिए खास तौर पर बनाया गया फ़ील्ड जोड़ना होता है. इसे टॉप लेवल के ऑपरेशन प्रोटो में नहीं जोड़ा जा सकता.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
name
string
सर्वर की ओर से असाइन किया गया नाम. यह नाम सिर्फ़ उसी सेवा के लिए यूनीक होता है जो इसे पहली बार दिखाती है. अगर डिफ़ॉल्ट एचटीटीपी मैपिंग का इस्तेमाल किया जाता है, तो name
एक संसाधन का नाम होना चाहिए. इसका आखिरी हिस्सा operations/{unique_id}
होना चाहिए.
metadata
object
कार्रवाई से जुड़ा, सेवा के हिसाब से मेटाडेटा. आम तौर पर, इसमें प्रोग्रेस की जानकारी और सामान्य मेटाडेटा होता है. जैसे, बनाने का समय. ऐसा हो सकता है कि कुछ सेवाएं इस तरह का मेटाडेटा उपलब्ध न कराएं. लंबे समय तक चलने वाली कार्रवाई को वापस लाने वाले किसी भी तरीके को मेटाडेटा टाइप के बारे में जानकारी देनी चाहिए.
एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड "@type"
जिसमें टाइप की पहचान करने वाला यूआरआई हो. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }
.
done
boolean
अगर वैल्यू false
है, तो इसका मतलब है कि कार्रवाई अब भी चल रही है. अगर वैल्यू true
है, तो कार्रवाई पूरी हो गई है और error
या response
उपलब्ध है.
result
Union type
error
या मान्य response
हो सकता है. अगर वैल्यू done
== false
है, तो न तो error
और न ही response
सेट है. अगर वैल्यू done
== true
है, तो error
या response
में से सिर्फ़ एक को सेट किया जा सकता है. ऐसा हो सकता है कि कुछ सेवाएं, नतीजे न दिखाएं. result
इनमें से सिर्फ़ एक हो सकता है:error
object (Status
)
अगर कार्रवाई पूरी नहीं होती है या रद्द हो जाती है, तो गड़बड़ी का नतीजा.
response
object
कार्रवाई का सामान्य और सही रिस्पॉन्स. अगर मूल तरीके से डेटा नहीं मिलता है, जैसे कि Delete
, तो जवाब google.protobuf.Empty
होता है. अगर ओरिजनल तरीका स्टैंडर्ड Get
/Create
/Update
है, तो जवाब संसाधन होना चाहिए. अन्य तरीकों के लिए, जवाब में टाइप XxxResponse
होना चाहिए. यहां Xxx
, मूल तरीके का नाम है. उदाहरण के लिए, अगर मूल तरीके का नाम TakeSnapshot()
है, तो अनुमानित जवाब का टाइप TakeSnapshotResponse
है.
एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड "@type"
जिसमें टाइप की पहचान करने वाला यूआरआई हो. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON के काेड में दिखाना |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
ये पैरामीटर, सेवा को यह बताने के लिए होते हैं कि फ़ाइल को कैसे बांटा जाए. इन्हें google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto से लिया गया है
config
Union type
config
इनमें से सिर्फ़ एक हो सकता है:whiteSpaceConfig
object (WhiteSpaceConfig
)
व्हाइट स्पेस चंकिंग कॉन्फ़िगरेशन.
JSON के काेड में दिखाना |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
व्हाइट स्पेस के आधार पर शब्दों को अलग करने वाले एल्गोरिदम के लिए कॉन्फ़िगरेशन [व्हाइट स्पेस के आधार पर सीमा तय की गई है].
maxTokensPerChunk
integer
हर चंक में ज़्यादा से ज़्यादा टोकन की संख्या. इस चंकिंग एल्गोरिदम के लिए, टोकन को शब्दों के तौर पर तय किया जाता है. ध्यान दें: हम टोकन को व्हाइटस्पेस से अलग किए गए शब्दों के तौर पर तय कर रहे हैं, न कि टोकनाइज़र के आउटपुट के तौर पर. 17-04-2025 तक, Gemini Embedding मॉडल के नए वर्शन की कॉन्टेक्स्ट विंडो में 8,192 टोकन शामिल हैं. हम मानते हैं कि एक शब्द में औसतन पांच वर्ण होते हैं. इसलिए, हमने ऊपरी सीमा को 2**9 पर सेट किया है. इसका मतलब है कि ज़्यादा से ज़्यादा 512 शब्द या 2560 टोकन इस्तेमाल किए जा सकते हैं. ऐसा इसलिए, क्योंकि हम मानते हैं कि सबसे खराब स्थिति में हर टोकन में एक वर्ण होगा. यह एक अनुमान है, ताकि कॉन्टेक्स्ट विंडो में ज़्यादा जानकारी न भरी जा सके.
maxOverlapTokens
integer
दो आस-पास के चंक के बीच ओवरलैप होने वाले टोकन की ज़्यादा से ज़्यादा संख्या.
JSON के काेड में दिखाना |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
तरीका: files.get
दिए गए File
के लिए मेटाडेटा मिलता है.
एंडपॉइंट
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
पाथ पैरामीटर
name
string
ज़रूरी है. File
का नाम. उदाहरण: files/abc-123
यह files/{file}
के फ़ॉर्म में होता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
ऐप पर जाएं
शेल
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में File
का एक इंस्टेंस शामिल किया जाता है.
तरीका: files.list
इस तरीके से, अनुरोध करने वाले प्रोजेक्ट के मालिकाना हक वाले File
के मेटाडेटा की सूची मिलती है.
एंडपॉइंट
gethttps: / /generativelanguage.googleapis.com /v1beta /files
क्वेरी पैरामीटर
pageSize
integer
ज़रूरी नहीं. हर पेज पर ज़्यादा से ज़्यादा File
वापस लाने की संख्या. अगर कोई वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट रूप से 10 का इस्तेमाल किया जाता है. ज़्यादा से ज़्यादा pageSize
की वैल्यू 100 हो सकती है.
pageToken
string
ज़रूरी नहीं. पिछले files.list
कॉल का पेज टोकन.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
ऐप पर जाएं
शेल
जवाब का मुख्य भाग
files.list
का जवाब.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
files[]
object (File
)
File
की सूची.
nextPageToken
string
यह एक ऐसा टोकन है जिसे बाद में किए जाने वाले files.list
कॉल में pageToken
के तौर पर भेजा जा सकता है.
JSON के काेड में दिखाना |
---|
{
"files": [
{
object ( |
तरीका: files.delete
File
को मिटाता है.
एंडपॉइंट
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
पाथ पैरामीटर
name
string
ज़रूरी है. मिटाए जाने वाले File
का नाम. उदाहरण: files/abc-123
यह files/{file}
के फ़ॉर्म में होता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
ऐप पर जाएं
शेल
जवाब का मुख्य भाग
अगर अनुरोध पूरा हो जाता है, तो जवाब के मुख्य हिस्से में एक खाली JSON ऑब्जेक्ट होता है.
REST रिसॉर्स: files
संसाधन: फ़ाइल
एपीआई में अपलोड की गई फ़ाइल. अगला आईडी: 15
name
string
इम्यूटेबल. आइडेंटिफ़ायर. File
संसाधन का नाम. आईडी में ज़्यादा से ज़्यादा 40 वर्ण हो सकते हैं. आईडी में "files/" प्रीफ़िक्स शामिल नहीं होता. आईडी में लोअरकेस अल्फ़ान्यूमेरिक वर्ण या डैश (-) हो सकते हैं. आईडी की शुरुआत या आखिर में डैश नहीं हो सकता. अगर नाम की जगह खाली स्ट्रिंग मौजूद है, तो एक यूनीक नाम जनरेट किया जाएगा. उदाहरण: files/123-456
displayName
string
ज़रूरी नहीं. File
का डिसप्ले नेम, जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. डिसप्ले नेम में स्पेस मिलाकर 512 से ज़्यादा वर्ण नहीं होने चाहिए. उदाहरण: "वेलकम इमेज"
mimeType
string
सिर्फ़ आउटपुट के लिए. फ़ाइल का MIME टाइप.
sizeBytes
string (int64 format)
सिर्फ़ आउटपुट के लिए. फ़ाइल का साइज़, बाइट में.
createTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. File
को बनाए जाने का टाइमस्टैंप.
यह आरएफ़सी 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)
सिर्फ़ आउटपुट के लिए. File
को आखिरी बार अपडेट किए जाने का टाइमस्टैंप.
यह आरएफ़सी 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"
.
expirationTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. वह टाइमस्टैंप जब File
मिट जाएगा. इस वैल्यू को सिर्फ़ तब सेट करें, जब File
की समयसीमा खत्म होने वाली हो.
यह आरएफ़सी 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"
.
sha256Hash
string (bytes format)
सिर्फ़ आउटपुट के लिए. अपलोड किए गए बाइट का SHA-256 हैश.
base64 कोड में बदली गई स्ट्रिंग.
uri
string
सिर्फ़ आउटपुट के लिए. File
का यूआरआई.
downloadUri
string
सिर्फ़ आउटपुट के लिए. File
का डाउनलोड यूआरआई.
state
enum (State
)
सिर्फ़ आउटपुट के लिए. फ़ाइल प्रोसेस होने की स्थिति.
source
enum (Source
)
फ़ाइल का सोर्स.
error
object (Status
)
सिर्फ़ आउटपुट के लिए. अगर फ़ाइल प्रोसेस नहीं हो पाती है, तो गड़बड़ी की स्थिति.
metadata
Union type
metadata
इनमें से सिर्फ़ एक हो सकता है:videoMetadata
object (VideoFileMetadata
)
सिर्फ़ आउटपुट के लिए. किसी वीडियो का मेटाडेटा.
JSON के काेड में दिखाना |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
वीडियो File
का मेटाडेटा.
videoDuration
string (Duration
format)
वीडियो की अवधि.
यह अवधि सेकंड में होती है. इसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में 's
' होता है. उदाहरण: "3.5s"
.
JSON के काेड में दिखाना |
---|
{ "videoDuration": string } |
राज्य
किसी फ़ाइल के लाइफ़साइकल की स्थितियां.
Enums | |
---|---|
STATE_UNSPECIFIED |
डिफ़ॉल्ट वैल्यू. अगर राज्य की जानकारी नहीं दी जाती है, तो इस वैल्यू का इस्तेमाल किया जाता है. |
PROCESSING |
फ़ाइल को प्रोसेस किया जा रहा है. इसलिए, फ़िलहाल इसका इस्तेमाल अनुमान लगाने के लिए नहीं किया जा सकता. |
ACTIVE |
फ़ाइल को प्रोसेस कर दिया गया है और अनुमान लगाने के लिए उपलब्ध है. |
FAILED |
फ़ाइल को प्रोसेस नहीं किया जा सका. |
स्रोत
Enums | |
---|---|
SOURCE_UNSPECIFIED |
अगर सोर्स की जानकारी नहीं दी गई है, तो इसका इस्तेमाल किया जाता है. |
UPLOADED |
इससे पता चलता है कि फ़ाइल को उपयोगकर्ता ने अपलोड किया है. |
GENERATED |
इससे पता चलता है कि फ़ाइल को Google ने जनरेट किया है. |
REGISTERED |
इससे पता चलता है कि फ़ाइल रजिस्टर की गई है. इसका मतलब है कि यह Google Cloud Storage की फ़ाइल है. |
स्थिति
Status
टाइप, लॉजिकल गड़बड़ी का एक ऐसा मॉडल तय करता है जो अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. इनमें REST API और RPC API शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status
मैसेज में तीन तरह का डेटा होता है: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.
इस गड़बड़ी के मॉडल और इसके साथ काम करने के तरीके के बारे में ज़्यादा जानने के लिए, एपीआई डिज़ाइन गाइड पढ़ें.
code
integer
स्टेटस कोड, जो google.rpc.Code
की enum वैल्यू होनी चाहिए.
message
string
डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में होना चाहिए. साथ ही, उसे google.rpc.Status.details
फ़ील्ड में भेजा जाना चाहिए या क्लाइंट की ओर से स्थानीय भाषा में होना चाहिए.
details[]
object
मैसेज की सूची, जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज टाइप का एक सामान्य सेट होता है.
एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड "@type"
जिसमें टाइप की पहचान करने वाला यूआरआई हो. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON के काेड में दिखाना |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |