कॉन्टेक्स्ट कैश मेमोरी की मदद से, पहले से कैलकुलेट किए गए उन इनपुट टोकन को सेव और फिर से इस्तेमाल किया जा सकता है जिनका बार-बार इस्तेमाल करना है. उदाहरण के लिए, एक ही मीडिया फ़ाइल के बारे में अलग-अलग सवाल पूछते समय. इससे लागत और स्पीड में बचत हो सकती है. हालांकि, यह इस्तेमाल के हिसाब से अलग-अलग हो सकता है. ज़्यादा जानकारी के लिए, कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की गाइड देखें.
तरीका: cachedContents.create
कैश मेमोरी में सेव किए गए कॉन्टेंट का संसाधन बनाता है.
एंडपॉइंट
पोस्ट https://generativelanguage.googleapis.com/v1beta/cachedContentsअनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में CachedContent
का उदाहरण है.
contents[]
object (Content
)
ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. कैश किया जाने वाला कॉन्टेंट.
tools[]
object (Tool
)
ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. Tools
की सूची, जिसका इस्तेमाल मॉडल अगला जवाब जनरेट करने के लिए कर सकता है
expiration
. बताता है कि इस संसाधन की समयसीमा कब खत्म होगी. expiration
इनमें से सिर्फ़ एक हो सकता है:
expireTime
string (Timestamp
format)
यूटीसी में वह टाइमस्टैंप जब यह माना गया कि संसाधन की समयसीमा खत्म हो गई है. यह आउटपुट में हमेशा दिया जाता है. भले ही, इनपुट में कुछ भी भेजा गया हो.
आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट के लिए. इस संसाधन के लिए नया टीटीएल, सिर्फ़ इनपुट.
सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय '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
CachedContents की सूची बनाता है.
एंडपॉइंट
पाएं 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 ( |
तरीका: cachedContents.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 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट के लिए. इस संसाधन के लिए नया टीटीएल, सिर्फ़ इनपुट.
सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय '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 रिसॉर्स: cachedContents
- संसाधन: CachedContent
- कॉन्टेंट
- पार्ट
- Blob
- FunctionCall
- FunctionResponse
- FileData
- ExecutableCode
- भाषा
- CodeExecutionResult
- नतीजा
- टूल
- FunctionDeclaration
- स्कीमा
- स्ट्रीम किस तरह की है
- CodeExecution
- ToolConfig
- FunctionCallingConfig
- मोड
- UsageMetadata
- तरीके
रिसॉर्स: CachedContent
पहले से प्रोसेस किया गया कॉन्टेंट, जिसका इस्तेमाल 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 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
usageMetadata
object (UsageMetadata
)
सिर्फ़ आउटपुट के लिए. कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल से जुड़ा मेटाडेटा.
expiration
. इससे पता चलता है कि इस संसाधन की समयसीमा कब खत्म होगी. expiration
इनमें से कोई एक हो सकता है:
expireTime
string (Timestamp
format)
यूटीसी में वह टाइमस्टैंप जब यह माना गया कि संसाधन की समयसीमा खत्म हो गई है. यह आउटपुट में हमेशा दिया जाता है. भले ही, इनपुट में कुछ भी भेजा गया हो.
आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z"
और "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
सिर्फ़ इनपुट के लिए. इस संसाधन के लिए नया टीटीएल, सिर्फ़ इनपुट.
सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय '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
सोर्स डेटा का IANA स्टैंडर्ड एमआईएमई टाइप. उदाहरण: - Image/png - Image/jpeg अगर कोई ऐसा MIME टाइप दिया गया है जो काम नहीं करता, तो आपको एक गड़बड़ी मिलेगी. इस्तेमाल किए जा सकने वाले टाइप की पूरी सूची देखने के लिए, इस्तेमाल किए जा सकने वाले फ़ाइल फ़ॉर्मैट देखें.
data
string (bytes format)
मीडिया फ़ॉर्मैट के लिए रॉ बाइट.
base64 कोड में बदली गई स्ट्रिंग.
JSON के काेड में दिखाना |
---|
{ "mimeType": string, "data": string } |
FunctionCall
मॉडल से मिला अनुमानित 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
ज़रूरी नहीं. सोर्स डेटा का IANA स्टैंडर्ड एमआईएमई टाइप.
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
का इस्तेमाल करने पर जनरेट होता है. साथ ही, यह हमेशा part
के बाद आता है, जिसमें ExecutableCode
होता है.
outcome
enum (Outcome
)
ज़रूरी है. कोड चलाने का नतीजा.
output
string
ज़रूरी नहीं. कोड लागू होने पर, इसमें स्टर्डआउट होता है. इसके अलावा, कोड लागू न होने पर इसमें स्टर्डआउट या कोई अन्य जानकारी होती है.
JSON के काेड में दिखाना |
---|
{
"outcome": enum ( |
नतीजा
कोड को लागू करने के संभावित नतीजों की सूची.
Enums | |
---|---|
OUTCOME_UNSPECIFIED |
स्थिति की जानकारी नहीं है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
OUTCOME_OK |
कोड लागू किया गया. |
OUTCOME_FAILED |
कोड चलाने की प्रोसेस पूरी हुई, लेकिन कोड लागू नहीं हो सका. stderr में वजह शामिल होनी चाहिए. |
OUTCOME_DEADLINE_EXCEEDED |
कोड लागू होने की वजह से, यह कोड काफ़ी देर तक काम करता रहा और उसे रद्द कर दिया गया. हो सकता है कि कुछ आउटपुट मौजूद हो या नहीं. |
टूल
टूल के बारे में जानकारी, जिसका इस्तेमाल मॉडल, जवाब जनरेट करने के लिए कर सकता है.
Tool
एक कोड है, जो सिस्टम को बाहरी सिस्टम के साथ इंटरैक्ट करने में मदद करता है. इससे सिस्टम, मॉडल के नॉलेज और स्कोप से बाहर की कोई कार्रवाई या कार्रवाइयों का सेट कर सकता है.
functionDeclarations[]
object (FunctionDeclaration
)
ज़रूरी नहीं. FunctionDeclarations
की सूची, उस मॉडल के लिए उपलब्ध है जिसका इस्तेमाल फ़ंक्शन कॉल करने के लिए किया जा सकता है.
मॉडल या सिस्टम, फ़ंक्शन को एक्ज़ीक्यूट नहीं करता. इसके बजाय, तय किए गए फ़ंक्शन को FunctionCall
के तौर पर दिखाया जा सकता है. साथ ही, इसे क्लाइंट साइड पर आर्ग्युमेंट के साथ चलाया जा सकता है. मॉडल, रिस्पॉन्स में FunctionCall
को पॉप्युलेट करके, इन फ़ंक्शन के सबसेट को कॉल करने का फ़ैसला ले सकता है. बातचीत के अगले मोड़ में, Content.role
"फ़ंक्शन" वाला FunctionResponse
हो सकता है जनरेट होने का कॉन्टेक्स्ट अगली मॉडल की तरफ़ से तय होता है.
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
ज़रूरी नहीं. पैरामीटर के बारे में कम शब्दों में जानकारी. इसमें इस्तेमाल के उदाहरण शामिल हो सकते हैं. पैरामीटर की जानकारी को मार्कडाउन के तौर पर फ़ॉर्मैट किया जा सकता है.
nullable
boolean
ज़रूरी नहीं. यह बताता है कि वैल्यू शून्य हो सकती है या नहीं.
enum[]
string
ज़रूरी नहीं. 'enum' फ़ॉर्मैट वाले Type.STRING एलिमेंट की संभावित वैल्यू. उदाहरण के लिए, हम Enum Direction को इस तरह से तय कर सकते हैं: {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
ज़रूरी नहीं. Type.ARRAY के लिए तत्वों की अधिकतम संख्या.
minItems
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 } |