कॉन्टेक्स्ट कैश मेमोरी की मदद से, पहले से कैलकुलेट किए गए उन इनपुट टोकन को सेव और फिर से इस्तेमाल किया जा सकता है जिनका आपको बार-बार इस्तेमाल करना है. उदाहरण के लिए, एक ही मीडिया फ़ाइल के बारे में अलग-अलग सवाल पूछते समय. इससे लागत और स्पीड में बचत हो सकती है. हालांकि, यह इस्तेमाल के हिसाब से अलग-अलग हो सकता है. ज़्यादा जानकारी के लिए, कॉन्टेक्स्ट कैश मेमोरी से जुड़ी गाइड देखें.
तरीका: 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
का नया इंस्टेंस शामिल किया जाता है.
तरीका: cachedContents.list
CachedContents की सूची बनाता है.
एंडपॉइंट
get https://generativelanguage.googleapis.com/v1beta/cachedContentsक्वेरी पैरामीटर
pageSize
integer
ज़रूरी नहीं. कैश मेमोरी में सेव किए गए कॉन्टेंट की ज़्यादा से ज़्यादा संख्या. ऐसा हो सकता है कि सेवा इस वैल्यू से कम नतीजे दिखाए. अगर इसकी कोई वैल्यू सबमिट नहीं की जाती है, तो ज़्यादा से ज़्यादा आइटम की संख्या से कम, कुछ डिफ़ॉल्ट आइटम दिखाए जाएंगे. ज़्यादा से ज़्यादा वैल्यू 1,000 हो सकती है. 1,000 से ज़्यादा वैल्यू को 1,000 पर सेट कर दिया जाएगा.
pageToken
string
ज़रूरी नहीं. पेज टोकन, जो पिछले cachedContents.list
कॉल से मिला था. अगला पेज देखने के लिए, यह डालें.
पेजों पर नंबर डालते समय, cachedContents.list
को दिए गए अन्य सभी पैरामीटर, पेज टोकन देने वाले कॉल से मैच होने चाहिए.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
जवाब का मुख्य भाग
कैश मेमोरी में सेव की गई कॉन्टेंट की सूची की मदद से जवाब दें.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
cachedContents[]
object (CachedContent
)
कैश मेमोरी में सेव किए गए कॉन्टेंट की सूची.
nextPageToken
string
एक टोकन, जिसे अगले पेज को वापस पाने के लिए pageToken
के तौर पर भेजा जा सकता है. अगर इस फ़ील्ड को छोड़ा जाता है, तो इसके बाद कोई पेज नहीं दिखेगा.
JSON के काेड में दिखाना |
---|
{
"cachedContents": [
{
object ( |
तरीका: cachedContents.get
CachedContent संसाधन को पढ़ता है.
एंडपॉइंट
पाएं https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}पाथ पैरामीटर
name
string
ज़रूरी है. कॉन्टेंट कैश मेमोरी एंट्री का रेफ़रंस देने वाला संसाधन का नाम. फ़ॉर्मैट: cachedContents/{id}
यह cachedContents/{cachedcontent}
फ़ॉर्मैट में होता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
शुरू करें
शेल
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में CachedContent
का एक इंस्टेंस शामिल किया जाता है.
तरीका: cacheContents.patch
CachedContent रिसॉर्स को अपडेट करता है. हालांकि, सिर्फ़ समयसीमा को अपडेट किया जा सकता है.
एंडपॉइंट
पैच 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
का एक इंस्टेंस शामिल किया जाता है.
तरीका: cachedContents.delete
CachedContent रिसॉर्स मिटाता है.
एंडपॉइंट
delete https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}पाथ पैरामीटर
name
string
ज़रूरी है. कॉन्टेंट कैश मेमोरी एंट्री का रेफ़रंस देने वाले संसाधन का नाम. फ़ॉर्मैट: cachedContents/{id}
यह cachedContents/{cachedcontent}
फ़ॉर्मैट में होता है.
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अनुरोध का उदाहरण
Python
Node.js
शुरू करें
शेल
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, तो जवाब का मुख्य हिस्सा खाली होता है.
REST रिसॉर्स: cachedContents
- संसाधन: कैश मेमोरी में सेव किया गया कॉन्टेंट
- कॉन्टेंट
- पार्ट
- Blob
- FunctionCall
- FunctionResponse
- FileData
- ExecutableCode
- भाषा
- CodeExecutionResult
- नतीजा
- टूल
- FunctionDeclaration
- स्कीमा
- स्ट्रीम किस तरह की है
- GoogleSearchRetrieval
- DynamicRetrievalConfig
- मोड
- 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 अगर कोई ऐसा एमआईई टाइप दिया जाता है जो काम नहीं करता, तो गड़बड़ी का मैसेज दिखेगा. इस्तेमाल किए जा सकने वाले फ़ॉर्मैट की पूरी सूची देखने के लिए, इस्तेमाल किए जा सकने वाले फ़ाइल फ़ॉर्मैट लेख पढ़ें.
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
का इस्तेमाल करने पर जनरेट होता है और यह हमेशा 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
के तौर पर दिखाया जा सकता है. साथ ही, इसे क्लाइंट साइड पर आर्ग्युमेंट के साथ चलाया जा सकता है. मॉडल, रिस्पॉन्स में FunctionCall
को पॉप्युलेट करके, इन फ़ंक्शन के सबसेट को कॉल करने का फ़ैसला ले सकता है. बातचीत के अगले मोड़ में, अगले मॉडल की गतिविधि के लिए Content.role
का "फ़ंक्शन" जनरेट करने का संदर्भ देने वाला FunctionResponse
मौजूद हो सकता है.
googleSearchRetrieval
object (GoogleSearchRetrieval
)
ज़रूरी नहीं. Google Search की मदद से काम करने वाला, डेटा वापस पाने वाला टूल.
codeExecution
object (CodeExecution
)
ज़रूरी नहीं. इससे मॉडल को जनरेशन के हिस्से के तौर पर कोड को लागू करने में मदद मिलती है.
JSON के काेड में दिखाना |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
फ़ंक्शन की जानकारी का स्ट्रक्चर्ड ब्यौरा, जैसा कि OpenAPI 3.03 की खास बातों में बताया गया है. इस एलान में फ़ंक्शन के नाम और पैरामीटर की जानकारी भी दी गई है. यह FunctionDeclaration, कोड के उस ब्लॉक को दिखाता है जिसका इस्तेमाल मॉडल, 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, double INTEGER टाइप के लिए: int32, int64 STRING टाइप के लिए: 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 |
ऑब्जेक्ट का टाइप. |
GoogleSearchRetrieval
Google का यह टूल, सार्वजनिक वेब डेटा को इकट्ठा करता है, ताकि उसे ग्राउंडिंग के लिए इस्तेमाल किया जा सके.
dynamicRetrievalConfig
object (DynamicRetrievalConfig
)
दिए गए सोर्स के लिए, डाइनैमिक डेटा रिकवरी कॉन्फ़िगरेशन के बारे में बताता है.
JSON के काेड में दिखाना |
---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
डाइनैमिक रीट्रीवल को पसंद के मुताबिक बनाने के विकल्पों के बारे में बताता है.
mode
enum (Mode
)
डाइनैमिक रीट्रिवल में इस्तेमाल किए जाने वाले प्रिडिक्टर का मोड.
dynamicThreshold
number
डाइनैमिक रीट्रिवल में इस्तेमाल किया जाने वाला थ्रेशोल्ड. अगर यह सेट नहीं है, तो सिस्टम की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.
JSON के काेड में दिखाना |
---|
{
"mode": enum ( |
मोड
डाइनैमिक रीट्रिवल में इस्तेमाल किए जाने वाले प्रिडिक्टर का मोड.
Enums | |
---|---|
MODE_UNSPECIFIED |
डेटा वापस पाने की प्रोसेस को हमेशा ट्रिगर करें. |
MODE_DYNAMIC |
डेटा वापस पाने की प्रोसेस सिर्फ़ तब चलाएं, जब सिस्टम यह तय करे कि यह ज़रूरी है. |
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" में से किसी एक तक सीमित रहेगा. अगर ऐसा नहीं है, तो अनुमानित फ़ंक्शन कॉल, दिए गए "Function सूचनाओं" में से किसी एक का होगा. |
NONE |
मॉडल किसी भी फ़ंक्शन कॉल का अनुमान नहीं लगाएगा. मॉडल का व्यवहार वैसा ही होता है जैसा किसी फ़ंक्शन के एलान को पास न करने पर होता है. |
UsageMetadata
कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल का मेटाडेटा.
totalTokenCount
integer
कैश मेमोरी में सेव किए गए कॉन्टेंट के लिए इस्तेमाल किए गए टोकन की कुल संख्या.
JSON के काेड में दिखाना |
---|
{ "totalTokenCount": integer } |