कॉन्टेक्स्ट कैश मेमोरी की मदद से, पहले से कंप्यूट किए गए ऐसे इनपुट टोकन सेव किए जा सकते हैं और उन्हें फिर से इस्तेमाल किया जा सकता है जिन्हें आपको बार-बार इस्तेमाल करना है. उदाहरण के लिए, एक ही मीडिया फ़ाइल के बारे में अलग-अलग सवाल पूछते समय. इससे इस्तेमाल के हिसाब से लागत और स्पीड की बचत हो सकती है. ज़्यादा जानकारी के लिए, कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की गाइड देखें.
तरीका: cacheContents.create
कैश मेमोरी में सेव किए गए कॉन्टेंट का संसाधन बनाता है.
एंडपॉइंट
पोस्ट
https://generativelanguage.googleapis.com/v1beta/cachedContents
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में CachedContent
का उदाहरण है.
contents[]
object (Content
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. कैश किया जाने वाला कॉन्टेंट.
tools[]
object (Tool
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. Tools
की सूची, जिसका इस्तेमाल मॉडल अगला जवाब जनरेट करने के लिए कर सकता है
expiration
. बताता है कि इस संसाधन की समयसीमा कब खत्म होगी. expiration
इनमें से सिर्फ़ एक हो सकता है:
expireTime
string (Timestamp
format)
यूटीसी में वह टाइमस्टैंप जब यह माना गया कि संसाधन की समयसीमा खत्म हो गई है. यह हमेशा आउटपुट में दिया जाता है, भले ही इनपुट पर कुछ भी भेजा गया हो.
आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट. इस संसाधन के लिए नया TTL (टीटीएल). इसे सिर्फ़ इनपुट के तौर पर इस्तेमाल किया जा सकता है.
सेकंड में कुल नौ दशमलव अंक, जो 's
' पर खत्म होते हैं. उदाहरण: "3.5s"
.
name
string
ज़रूरी नहीं. आइडेंटिफ़ायर. कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़ा संसाधन. फ़ॉर्मैट: cachedContents/{id}
displayName
string
ज़रूरी नहीं. इम्यूटेबल. कैश मेमोरी में सेव किए गए कॉन्टेंट का यूज़र जनरेटेड डिसप्ले नेम. ज़्यादा से ज़्यादा 128 यूनिकोड वर्ण.
model
string
ज़रूरी है. इम्यूटेबल. कैश मेमोरी में सेव किए गए कॉन्टेंट के लिए इस्तेमाल करने के लिए, Model
का नाम फ़ॉर्मैट: models/{model}
systemInstruction
object (Content
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. डेवलपर ने सिस्टम के लिए निर्देश सेट किए हैं. वर्तमान में केवल टेक्स्ट.
toolConfig
object (ToolConfig
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. टूल कॉन्फ़िगरेशन. यह कॉन्फ़िगरेशन सभी टूल के लिए शेयर किया जाता है.
अनुरोध का उदाहरण
सामान्य
Python
Node.js
शुरू करें
शेल
नाम से
Python
Node.js
शुरू करें
चैट से
Python
Node.js
शुरू करें
जवाब का मुख्य भाग
कामयाब होने पर, जवाब के मुख्य हिस्से में CachedContent
का नया इंस्टेंस शामिल किया जाता है.
तरीका: cacheContents.list
यह कैश मेमोरी में सेव किए गए कॉन्टेंट की सूची दिखाता है.
एंडपॉइंट
पाएं
https://generativelanguage.googleapis.com/v1beta/cachedContents
क्वेरी पैरामीटर
pageSize
integer
ज़रूरी नहीं. वापस लौटाने के लिए कैश मेमोरी में सेव किए गए कॉन्टेंट की ज़्यादा से ज़्यादा संख्या. सेवा इस वैल्यू से कम वैल्यू दिखा सकती है. अगर जानकारी नहीं दी गई है, तो आइटम की कुछ डिफ़ॉल्ट (ज़्यादा से ज़्यादा संख्या से कम) संख्या दिखाई जाएगी. ज़्यादा से ज़्यादा वैल्यू 1,000 है; 1000 से ज़्यादा वैल्यू को 1000 की जगह लागू किया जाएगा.
pageToken
string
ज़रूरी नहीं. पिछले cachedContents.list
कॉल से मिला पेज टोकन. अगले पेज को वापस पाने के लिए, यह जानकारी दें.
पेजों पर नंबर डालते समय, cachedContents.list
को दिए गए अन्य सभी पैरामीटर, पेज टोकन देने वाले कॉल से मैच होने चाहिए.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
जवाब का मुख्य भाग
कैश मेमोरी में सेव की गई कॉन्टेंट की सूची की मदद से जवाब दें.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
cachedContents[]
object (CachedContent
)
कैश मेमोरी में सेव किए गए कॉन्टेंट की सूची.
nextPageToken
string
एक टोकन, जिसे अगला पेज फिर से पाने के लिए pageToken
के तौर पर भेजा जा सकता है. अगर इस फ़ील्ड को हटा दिया जाता है, तो इसके बाद कोई पेज नहीं होता.
JSON के काेड में दिखाना |
---|
{
"cachedContents": [
{
object ( |
तरीका: cacheContents.get
कैश मेमोरी में सेव किए गए कॉन्टेंट के संसाधन को पढ़ता है.
एंडपॉइंट
पाएं
https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}
पाथ पैरामीटर
name
string
ज़रूरी है. कॉन्टेंट की कैश एंट्री के बारे में जानकारी देने वाले संसाधन का नाम. फ़ॉर्मैट: cachedContents/{id}
यह cachedContents/{cachedcontent}
का रूप लेता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
शुरू करें
शेल
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में CachedContent
का एक इंस्टेंस शामिल किया जाता है.
तरीका: cacheContents.patch
कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़े संसाधन को अपडेट करता है (सिर्फ़ समयसीमा खत्म होने की तारीख को अपडेट किया जा सकता है).
एंडपॉइंट
पैच
https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
पाथ पैरामीटर
cachedContent.name
string
ज़रूरी नहीं. आइडेंटिफ़ायर. कैश मेमोरी में सेव किए गए कॉन्टेंट के बारे में जानकारी देने वाले संसाधन का नाम. फ़ॉर्मैट: cachedContents/{id}
यह cachedContents/{cachedcontent}
का रूप लेता है.
क्वेरी पैरामीटर
updateMask
string (FieldMask
format)
अपडेट किए जाने वाले फ़ील्ड की सूची.
यह फ़ील्ड के पूरी तरह क्वालिफ़ाइड नाम की सूची है, जिसे कॉमा लगाकर अलग किया गया है. उदाहरण: "user.displayName,photo"
.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में CachedContent
का उदाहरण है.
expiration
. बताता है कि इस संसाधन की समयसीमा कब खत्म होगी. expiration
इनमें से सिर्फ़ एक हो सकता है:
expireTime
string (Timestamp
format)
यूटीसी में वह टाइमस्टैंप जब यह माना गया कि संसाधन की समयसीमा खत्म हो गई है. यह हमेशा आउटपुट में दिया जाता है, भले ही इनपुट पर कुछ भी भेजा गया हो.
आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट. इस संसाधन के लिए नया TTL (टीटीएल). इसे सिर्फ़ इनपुट के तौर पर इस्तेमाल किया जा सकता है.
सेकंड में कुल नौ दशमलव अंक, जो 's
' पर खत्म होते हैं. उदाहरण: "3.5s"
.
name
string
ज़रूरी नहीं. आइडेंटिफ़ायर. कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़ा संसाधन. फ़ॉर्मैट: cachedContents/{id}
अनुरोध का उदाहरण
Python
Node.js
शुरू करें
शेल
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में CachedContent
का एक इंस्टेंस शामिल किया जाता है.
तरीका: cacheContents.delete
कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़े संसाधन को मिटाता है.
एंडपॉइंट
मिटाएं
https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}
पाथ पैरामीटर
name
string
ज़रूरी है. कॉन्टेंट की कैश एंट्री के बारे में जानकारी देने वाले संसाधन का नाम: cachedContents/{id}
यह cachedContents/{cachedcontent}
का फ़ॉर्म लेता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
शुरू करें
शेल
जवाब का मुख्य भाग
जवाब सही होने पर, जवाब का मुख्य हिस्सा खाली होता है.
REST रिसॉर्स: कैश मेमोरी में सेव किया गया कॉन्टेंट
- संसाधन: कैश मेमोरी में सेव किया गया कॉन्टेंट
- कॉन्टेंट
- हिस्सा
- ब्लॉब
- FunctionCall
- FunctionResponse
- फ़ाइल डेटा
- ExecutableCode
- भाषा
- CodeExecutionResult
- नतीजा
- टूल
- फ़ंक्शनडिक्लेरेशन
- स्कीमा
- स्ट्रीम किस तरह की है
- CodeExecution
- टूल कॉन्फ़िगरेशन
- FunctionCallingConfig
- मोड
- इस्तेमाल का मेटाडेटा
- तरीके
संसाधन: कैश मेमोरी में सेव किया गया कॉन्टेंट
ऐसा कॉन्टेंट जिसे पहले से प्रोसेस किया जा चुका है और जिसका इस्तेमाल GenerativeService को अनुरोध भेजने के लिए करना होता है.
कैश मेमोरी में सेव किए गए कॉन्टेंट का इस्तेमाल, सिर्फ़ उस मॉडल के साथ किया जा सकता है जिसके लिए इसे बनाया गया था.
contents[]
object (Content
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. कैश किया जाने वाला कॉन्टेंट.
tools[]
object (Tool
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. Tools
की सूची, जिसका इस्तेमाल मॉडल अगला जवाब जनरेट करने के लिए कर सकता है
createTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. कैश एंट्री बनाने का समय.
आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
updateTime
string (Timestamp
format)
सिर्फ़ आउटपुट के लिए. कैश मेमोरी एंट्री को यूटीसी समय पर आखिरी बार अपडेट कब किया गया था.
आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
usageMetadata
object (UsageMetadata
)
सिर्फ़ आउटपुट के लिए. कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल का मेटाडेटा.
expiration
. बताता है कि इस संसाधन की समयसीमा कब खत्म होगी. expiration
इनमें से सिर्फ़ एक हो सकता है:
expireTime
string (Timestamp
format)
यूटीसी में वह टाइमस्टैंप जब यह माना गया कि संसाधन की समयसीमा खत्म हो गई है. यह हमेशा आउटपुट में दिया जाता है, भले ही इनपुट पर कुछ भी भेजा गया हो.
आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट. इस संसाधन के लिए नया TTL (टीटीएल). इसे सिर्फ़ इनपुट के तौर पर इस्तेमाल किया जा सकता है.
सेकंड में कुल नौ दशमलव अंक, जो 's
' पर खत्म होते हैं. उदाहरण: "3.5s"
.
name
string
ज़रूरी नहीं. आइडेंटिफ़ायर. कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़ा संसाधन. फ़ॉर्मैट: cachedContents/{id}
displayName
string
ज़रूरी नहीं. इम्यूटेबल. कैश मेमोरी में सेव किए गए कॉन्टेंट का यूज़र जनरेटेड डिसप्ले नेम. ज़्यादा से ज़्यादा 128 यूनिकोड वर्ण.
model
string
ज़रूरी है. इम्यूटेबल. कैश मेमोरी में सेव किए गए कॉन्टेंट के लिए इस्तेमाल करने के लिए, Model
का नाम फ़ॉर्मैट: models/{model}
systemInstruction
object (Content
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. डेवलपर ने सिस्टम के लिए निर्देश सेट किए हैं. वर्तमान में केवल टेक्स्ट.
toolConfig
object (ToolConfig
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. टूल कॉन्फ़िगरेशन. यह कॉन्फ़िगरेशन सभी टूल के लिए शेयर किया जाता है.
JSON के काेड में दिखाना |
---|
{ "contents": [ { object ( |
सामग्री
बुनियादी स्ट्रक्चर्ड डेटा टाइप, जिसमें मैसेज के कई हिस्सों का कॉन्टेंट होता है.
Content
में एक role
फ़ील्ड होता है, जो Content
के प्रोड्यूसर के बारे में बताता है. साथ ही, parts
फ़ील्ड के कई हिस्सों का डेटा होता है, जिसमें मैसेज टर्न का कॉन्टेंट होता है.
parts[]
object (Part
)
Parts
को ऑर्डर किया गया, जो एक मैसेज है. कुछ हिस्सों में अलग-अलग MIME टाइप हो सकते हैं.
role
string
ज़रूरी नहीं. कॉन्टेंट का प्रोड्यूसर. 'उपयोगकर्ता' में से कोई एक होना चाहिए या 'मॉडल'.
यह एक से ज़्यादा बार होने वाली बातचीत के लिए मददगार है. अगर ऐसा नहीं है, तो इसे खाली छोड़ा जा सकता है या सेट नहीं किया जा सकता.
JSON के काेड में दिखाना |
---|
{
"parts": [
{
object ( |
भाग
ऐसा डेटाटाइप जिसमें मीडिया शामिल है, जो कई हिस्सों वाले Content
मैसेज का हिस्सा है.
Part
में ऐसा डेटा होता है जिसमें उससे जुड़ा डेटा टाइप होता है. Part
में, Part.data
के लिए स्वीकार किए गए टाइप में से सिर्फ़ एक टाइप हो सकता है.
अगर inlineData
फ़ील्ड में रॉ बाइट होता है, तो Part
में मीडिया के टाइप और सब-टाइप की पहचान करने वाला एक तय IANA MIME टाइप होना चाहिए.
यूनियन फ़ील्ड data
.
data
इनमें से सिर्फ़ एक हो सकता है:
text
string
इनलाइन टेक्स्ट.
inlineData
object (Blob
)
इनलाइन मीडिया बाइट.
functionCall
object (FunctionCall
)
अनुमानित FunctionCall
, उस मॉडल से मिला है जिसमें FunctionDeclaration.name
को आर्ग्युमेंट और उनकी वैल्यू के साथ दिखाने वाली एक स्ट्रिंग है.
functionResponse
object (FunctionResponse
)
FunctionCall
के नतीजे का आउटपुट, जिसमें FunctionDeclaration.name
को दिखाने वाली स्ट्रिंग होती है. साथ ही, स्ट्रक्चर्ड JSON ऑब्जेक्ट में, फ़ंक्शन के किसी भी आउटपुट का इस्तेमाल, मॉडल के कॉन्टेक्स्ट के तौर पर किया जाता है.
fileData
object (FileData
)
यूआरआई पर आधारित डेटा.
executableCode
object (ExecutableCode
)
एक्ज़ीक्यूट किए जाने वाले मॉडल से जनरेट किया गया कोड.
codeExecutionResult
object (CodeExecutionResult
)
ExecutableCode
को चलाने का नतीजा.
JSON के काेड में दिखाना |
---|
{ // Union field |
ब्लॉब
रॉ मीडिया बाइट.
टेक्स्ट को रॉ बाइट के तौर पर नहीं भेजा जाना चाहिए. इसके लिए, 'टेक्स्ट' का इस्तेमाल करें फ़ील्ड में डालें.
mimeType
string
सोर्स डेटा का आईएएनए स्टैंडर्ड MIME टाइप. उदाहरण: - Image/png - Image/jpeg अगर कोई ऐसा MIME टाइप दिया गया है जो काम नहीं करता, तो आपको एक गड़बड़ी मिलेगी. इस्तेमाल किए जा सकने वाले टाइप की पूरी सूची देखने के लिए, इस्तेमाल किए जा सकने वाले फ़ाइल फ़ॉर्मैट देखें.
data
string (bytes format)
मीडिया फ़ॉर्मैट के लिए रॉ बाइट.
base64 कोड में बदली गई स्ट्रिंग.
JSON के काेड में दिखाना |
---|
{ "mimeType": string, "data": string } |
फ़ंक्शन कॉल
अनुमानित FunctionCall
, उस मॉडल से मिला है जिसमें FunctionDeclaration.name
को आर्ग्युमेंट और उनकी वैल्यू के साथ दिखाने वाली एक स्ट्रिंग है.
name
string
ज़रूरी है. कॉल करने के लिए फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.
args
object (Struct
format)
ज़रूरी नहीं. JSON ऑब्जेक्ट फ़ॉर्मैट में फ़ंक्शन पैरामीटर और वैल्यू.
JSON के काेड में दिखाना |
---|
{ "name": string, "args": { object } } |
FunctionResponse
FunctionCall
से मिले नतीजे का आउटपुट, जिसमें FunctionDeclaration.name
को दिखाने वाली स्ट्रिंग है. साथ ही, स्ट्रक्चर्ड JSON ऑब्जेक्ट में, फ़ंक्शन के किसी भी आउटपुट का इस्तेमाल, मॉडल के कॉन्टेक्स्ट के तौर पर किया जाता है. इसमें मॉडल के अनुमान के आधार पर बनाए गए FunctionCall
का नतीजा शामिल होना चाहिए.
name
string
ज़रूरी है. कॉल करने के लिए फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.
response
object (Struct
format)
ज़रूरी है. JSON ऑब्जेक्ट फ़ॉर्मैट में फ़ंक्शन रिस्पॉन्स.
JSON के काेड में दिखाना |
---|
{ "name": string, "response": { object } } |
FileData
यूआरआई पर आधारित डेटा.
mimeType
string
ज़रूरी नहीं. सोर्स डेटा का आईएएनए स्टैंडर्ड MIME टाइप.
fileUri
string
ज़रूरी है. यूआरआई.
JSON के काेड में दिखाना |
---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
उस मॉडल से जनरेट किया गया कोड जिसे एक्ज़ीक्यूट किया जाना है. इसके बाद, नतीजा मॉडल में वापस भेज दिया जाता है.
यह सिर्फ़ CodeExecution
टूल का इस्तेमाल करके जनरेट होता है. इसमें कोड अपने-आप काम करेगा और इससे जुड़ा CodeExecutionResult
भी जनरेट होगा.
language
enum (Language
)
ज़रूरी है. code
की प्रोग्रामिंग भाषा.
code
string
ज़रूरी है. एक्ज़ीक्यूट किया जाने वाला कोड.
JSON के काेड में दिखाना |
---|
{
"language": enum ( |
भाषा
जनरेट किए गए कोड के लिए इस्तेमाल की जा सकने वाली प्रोग्रामिंग भाषाएं.
Enums | |
---|---|
LANGUAGE_UNSPECIFIED |
ऐसी भाषा जिसके बारे में जानकारी नहीं दी गई है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
PYTHON |
Python >= 3.10, जिसमें numpy और Simpy उपलब्ध हैं. |
CodeExecutionResult
ExecutableCode
को चलाने का नतीजा.
सिर्फ़ CodeExecution
का इस्तेमाल करने पर जनरेट होता है और यह हमेशा ExecutableCode
वाले part
के बाद आता है.
outcome
enum (Outcome
)
ज़रूरी है. कोड चलाने का नतीजा.
output
string
ज़रूरी नहीं. कोड एक्ज़िक्यूशन पूरा होने पर stdout शामिल होता है. साथ ही, stderr या अन्य जानकारी को भी शामिल किया जाता है.
JSON के काेड में दिखाना |
---|
{
"outcome": enum ( |
नतीजा
कोड लागू करने के संभावित नतीजों की गिनती.
Enums | |
---|---|
OUTCOME_UNSPECIFIED |
स्टेटस की जानकारी नहीं है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
OUTCOME_OK |
कोड लागू किया गया. |
OUTCOME_FAILED |
कोड चलाने की प्रोसेस पूरी हुई, लेकिन कोड लागू नहीं हो सका. stderr में वजह शामिल होनी चाहिए. |
OUTCOME_DEADLINE_EXCEEDED |
कोड लागू होने की वजह से, यह कोड काफ़ी देर तक काम करता रहा और उसे रद्द कर दिया गया. कुछ आउटपुट मौजूद भी हो सकता है और नहीं भी. |
टूल
टूल के बारे में जानकारी, जिसका इस्तेमाल मॉडल, जवाब जनरेट करने के लिए कर सकता है.
Tool
, कोड का एक हिस्सा होता है. इसकी मदद से सिस्टम, बाहरी सिस्टम से इंटरैक्ट कर पाता है, ताकि मॉडल की जानकारी और दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट पूरा कर सके.
functionDeclarations[]
object (FunctionDeclaration
)
ज़रूरी नहीं. FunctionDeclarations
की सूची, उस मॉडल के लिए उपलब्ध है जिसका इस्तेमाल फ़ंक्शन कॉल करने के लिए किया जा सकता है.
मॉडल या सिस्टम, फ़ंक्शन को एक्ज़ीक्यूट नहीं करता. इसके बजाय, तय किए गए फ़ंक्शन को [FunctionCall][content.part.Function_call] के तौर पर दिखाया जा सकता है, जिसमें एक्ज़ीक्यूट करने के लिए क्लाइंट साइड में आर्ग्युमेंट शामिल किए जाएं. यह मॉडल, रिस्पॉन्स में [FunctionCall][content.part.Function_call] को भरकर, इन फ़ंक्शन के सबसेट को कॉल करने का फ़ैसला ले सकता है. बातचीत की अगली कार्रवाई में, [content.role] "फ़ंक्शन" के साथ [FunctionResponse][content.part.Function_response] शामिल हो सकता है जनरेट होने का कॉन्टेक्स्ट अगली मॉडल की तरफ़ से तय होता है.
codeExecution
object (CodeExecution
)
ज़रूरी नहीं. जनरेशन के हिस्से के तौर पर कोड चलाने के लिए, मॉडल को चालू करता है.
JSON के काेड में दिखाना |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
फ़ंक्शन की जानकारी का स्ट्रक्चर्ड ब्यौरा, जैसा कि OpenAPI 3.03 की खास बातों में बताया गया है. इस एलान में फ़ंक्शन के नाम और पैरामीटर की जानकारी भी दी गई है. यह FunctionDeflaration, कोड के ब्लॉक को दिखाता है. इसे मॉडल के Tool
के तौर पर इस्तेमाल किया जा सकता है और क्लाइंट इसे एक्ज़ीक्यूट करता है.
name
string
ज़रूरी है. फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.
description
string
ज़रूरी है. फ़ंक्शन के बारे में कम शब्दों में जानकारी.
parameters
object (Schema
)
ज़रूरी नहीं. इस फ़ंक्शन के पैरामीटर के बारे में बताता है. यह Open API 3.03 पैरामीटर ऑब्जेक्ट स्ट्रिंग कुंजी को दिखाता है: पैरामीटर का नाम. पैरामीटर के नाम केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होते हैं. स्कीमा वैल्यू: पैरामीटर के लिए इस्तेमाल किया गया टाइप तय करने वाला स्कीमा.
JSON के काेड में दिखाना |
---|
{
"name": string,
"description": string,
"parameters": {
object ( |
स्कीमा
Schema
ऑब्जेक्ट, इनपुट और आउटपुट डेटा टाइप को तय करने की अनुमति देता है. ये ऑब्जेक्ट के साथ-साथ, प्रिमिटिव और अरे भी हो सकते हैं. यह OpenAPI 3.0 स्कीमा ऑब्जेक्ट का चुनिंदा सबसेट दिखाता है.
type
enum (Type
)
ज़रूरी है. डेटा टाइप.
format
string
ज़रूरी नहीं. डेटा का फ़ॉर्मैट. इसका इस्तेमाल सिर्फ़ शुरुआती डेटा टाइप के लिए किया जाता है. काम करने वाले फ़ॉर्मैट: NUMBER टाइप के लिए: float, INTEGER के लिए डबल टाइप: int32, स्ट्रिंग के लिए int64 टाइप: enum
description
string
ज़रूरी नहीं. पैरामीटर के बारे में कम शब्दों में जानकारी. इसमें इस्तेमाल के उदाहरण शामिल हो सकते हैं. पैरामीटर की जानकारी को Markdown के तौर पर फ़ॉर्मैट किया जा सकता है.
nullable
boolean
ज़रूरी नहीं. यह बताता है कि वैल्यू शून्य हो सकती है या नहीं.
enum[]
string
ज़रूरी नहीं. enum फ़ॉर्मैट के साथ Type.STRING के एलिमेंट की संभावित वैल्यू. उदाहरण के लिए, हम Enum डायरेक्शन को इस तरह परिभाषित कर सकते हैं : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
ज़रूरी नहीं. Type.ARRAY के लिए तत्वों की अधिकतम संख्या.
properties
map (key: string, value: object (Schema
))
ज़रूरी नहीं. Type.OBJECT की प्रॉपर्टी.
एक ऑब्जेक्ट, जिसमें "key": value
पेयर की सूची है. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
required[]
string
ज़रूरी नहीं. Type.OBJECT के लिए ज़रूरी प्रॉपर्टी.
items
object (Schema
)
ज़रूरी नहीं. Type.ARRAY के एलिमेंट की स्कीमा.
टाइप
टाइप में, OpenAPI डेटा टाइप की सूची शामिल होती है. यह सूची https://spec.openapis.org/oas/v3.0.3#data-types में दी गई है
Enums | |
---|---|
TYPE_UNSPECIFIED |
जानकारी नहीं दी गई है, इसका इस्तेमाल नहीं किया जाना चाहिए. |
STRING |
स्ट्रिंग टाइप. |
NUMBER |
नंबर प्रकार. |
INTEGER |
पूर्णांक का टाइप. |
BOOLEAN |
बूलियन टाइप. |
ARRAY |
सरणी प्रकार. |
OBJECT |
ऑब्जेक्ट का टाइप. |
CodeExecution
इस टाइप में कोई फ़ील्ड नहीं है.
यह टूल, मॉडल से जनरेट किए गए कोड को एक्ज़ीक्यूट करता है और मॉडल को नतीजे के तौर पर अपने-आप दिखाता है.
ExecutableCode
और CodeExecutionResult
भी देखें, जो सिर्फ़ इस टूल का इस्तेमाल करते समय जनरेट होते हैं.
ToolConfig
टूल कॉन्फ़िगरेशन में, Tool
तय करने के पैरामीटर शामिल हैं. इसे अनुरोध में इस्तेमाल किया जाता है.
functionCallingConfig
object (FunctionCallingConfig
)
ज़रूरी नहीं. फ़ंक्शन कॉल करने का कॉन्फ़िगरेशन.
JSON के काेड में दिखाना |
---|
{
"functionCallingConfig": {
object ( |
FunctionCallingConfig
फ़ंक्शन कॉलिंग व्यवहार तय करने के लिए कॉन्फ़िगरेशन.
mode
enum (Mode
)
ज़रूरी नहीं. उस मोड के बारे में बताता है जिसमें फ़ंक्शन कॉलिंग को एक्ज़ीक्यूट किया जाना चाहिए. अगर कोई वैल्यू नहीं बताई गई है, तो डिफ़ॉल्ट तौर पर सेट की गई वैल्यू 'अपने-आप' पर सेट हो जाएगी.
allowedFunctionNames[]
string
ज़रूरी नहीं. फ़ंक्शन के नाम का एक सेट, जो दिए जाने पर, मॉडल से कॉल किए जाने वाले फ़ंक्शन को सीमित करता है.
इसे सिर्फ़ तब सेट किया जाना चाहिए, जब मोड 'कोई भी हो' पर हो. फ़ंक्शन के नाम [Functiondeclaration.name] के नाम से मेल खाने चाहिए. किसी भी मोड को सेट करने पर, मॉडल दिए गए फ़ंक्शन के नामों के सेट से, फ़ंक्शन कॉल का अनुमान लगाएगा.
JSON के काेड में दिखाना |
---|
{
"mode": enum ( |
मोड
एक्ज़ीक्यूशन मोड तय करके, फ़ंक्शन कॉलिंग के लिए एक्ज़ीक्यूशन व्यवहार के बारे में बताता है.
Enums | |
---|---|
MODE_UNSPECIFIED |
फ़ंक्शन कॉलिंग मोड की जानकारी नहीं है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
AUTO |
डिफ़ॉल्ट मॉडल का व्यवहार, मॉडल फ़ंक्शन कॉल या नैचुरल लैंग्वेज रिस्पॉन्स का अनुमान लगाने का फ़ैसला करता है. |
ANY |
मॉडल सिर्फ़ फ़ंक्शन कॉल का अनुमान लगाने के लिए सीमित है. अगर "allowedFunctionNames" है सेट होने पर, अनुमानित फ़ंक्शन कॉल "allowedFunctionNames" में से किसी एक तक सीमित रहेगा. अगर ऐसा नहीं है, तो अनुमानित फ़ंक्शन कॉल, दिए गए "Functiondeclarations" में से कोई एक होगा. |
NONE |
मॉडल किसी भी फ़ंक्शन कॉल का अनुमान नहीं लगाएगा. मॉडल का व्यवहार एक जैसा होता है. ऐसा तब होता है, जब कोई फ़ंक्शन एलान पास न किया जा रहा हो. |
UsageMetadata
कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल का मेटाडेटा.
totalTokenCount
integer
कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल किए गए टोकन की कुल संख्या.
JSON के काेड में दिखाना |
---|
{ "totalTokenCount": integer } |