REST Resource: cachedContents

संसाधन: कैश मेमोरी में सेव किया गया कॉन्टेंट

ऐसा कॉन्टेंट जिसे पहले से प्रोसेस किया जा चुका है और जिसका इस्तेमाल GenerativeService को अनुरोध भेजने के लिए करना होता है.

कैश मेमोरी में सेव किए गए कॉन्टेंट का इस्तेमाल, सिर्फ़ उस मॉडल के साथ किया जा सकता है जिसके लिए इसे बनाया गया था.

जेएसओएन के काेड में दिखाना
{
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "usageMetadata": {
    object (UsageMetadata)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
  "name": string,
  "displayName": string,
  "model": string,
  "systemInstruction": {
    object (Content)
  },
  "toolConfig": {
    object (ToolConfig)
  }
}
फ़ील्ड
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)

ज़रूरी नहीं. सिर्फ़ इनपुट. इम्यूटेबल. टूल कॉन्फ़िगरेशन. यह कॉन्फ़िगरेशन सभी टूल के लिए शेयर किया जाता है.

कॉन्टेंट

बुनियादी स्ट्रक्चर्ड डेटा टाइप, जिसमें मैसेज के कई हिस्सों का कॉन्टेंट होता है.

Content में एक role फ़ील्ड होता है, जो Content के प्रोड्यूसर के बारे में बताता है. साथ ही, parts फ़ील्ड के कई हिस्सों का डेटा होता है, जिसमें मैसेज टर्न का कॉन्टेंट होता है.

जेएसओएन के काेड में दिखाना
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
फ़ील्ड
parts[]

object (Part)

Parts को ऑर्डर किया गया, जो एक मैसेज है. कुछ हिस्सों में अलग-अलग MIME टाइप हो सकते हैं.

role

string

ज़रूरी नहीं. कॉन्टेंट का प्रोड्यूसर. 'उपयोगकर्ता' या 'मॉडल' होना चाहिए.

यह एक से ज़्यादा बार होने वाली बातचीत के लिए मददगार है. अगर ऐसा नहीं है, तो इसे खाली छोड़ा जा सकता है या सेट नहीं किया जा सकता.

भाग

ऐसा डेटाटाइप जिसमें मीडिया शामिल है, जो कई हिस्सों वाले Content मैसेज का हिस्सा है.

Part में ऐसा डेटा होता है जिसमें उससे जुड़ा डेटा टाइप होता है. Part में, Part.data के लिए स्वीकार किए गए टाइप में से सिर्फ़ एक टाइप हो सकता है.

अगर inlineData फ़ील्ड में रॉ बाइट होता है, तो Part में मीडिया के टाइप और सब-टाइप की पहचान करने वाला एक तय IANA MIME टाइप होना चाहिए.

जेएसओएन के काेड में दिखाना
{

  // Union field data can be only one of the following:
  "text": string,
  "inlineData": {
    object (Blob)
  },
  "functionCall": {
    object (FunctionCall)
  },
  "functionResponse": {
    object (FunctionResponse)
  },
  "fileData": {
    object (FileData)
  }
  // End of list of possible types for union field data.
}
फ़ील्ड

यूनियन फ़ील्ड data.

data इनमें से सिर्फ़ एक हो सकता है:

text

string

इनलाइन टेक्स्ट.

inlineData

object (Blob)

इनलाइन मीडिया बाइट.

functionCall

object (FunctionCall)

अनुमानित FunctionCall, उस मॉडल से मिला है जिसमें FunctionDeclaration.name को आर्ग्युमेंट और उनकी वैल्यू के साथ दिखाने वाली एक स्ट्रिंग है.

functionResponse

object (FunctionResponse)

FunctionCall के नतीजे का आउटपुट, जिसमें FunctionDeclaration.name को दिखाने वाली स्ट्रिंग होती है. साथ ही, स्ट्रक्चर्ड JSON ऑब्जेक्ट में, फ़ंक्शन के किसी भी आउटपुट का इस्तेमाल, मॉडल के कॉन्टेक्स्ट के तौर पर किया जाता है.

fileData

object (FileData)

यूआरआई पर आधारित डेटा.

ब्लॉब

रॉ मीडिया बाइट.

टेक्स्ट को रॉ बाइट के तौर पर नहीं भेजना चाहिए. इसके लिए, 'टेक्स्ट' फ़ील्ड का इस्तेमाल करें.

जेएसओएन के काेड में दिखाना
{
  "mimeType": string,
  "data": string
}
फ़ील्ड
mimeType

string

सोर्स डेटा का आईएएनए स्टैंडर्ड MIME टाइप. उदाहरण: - Image/png - Image/jpeg अगर कोई ऐसा MIME टाइप दिया गया है जो काम नहीं करता, तो आपको एक गड़बड़ी मिलेगी. इस्तेमाल किए जा सकने वाले टाइप की पूरी सूची देखने के लिए, इस्तेमाल किए जा सकने वाले फ़ाइल फ़ॉर्मैट देखें.

data

string (bytes format)

मीडिया फ़ॉर्मैट के लिए रॉ बाइट.

base64 कोड में बदली गई स्ट्रिंग.

FunctionCall

अनुमानित FunctionCall, उस मॉडल से मिला है जिसमें FunctionDeclaration.name को आर्ग्युमेंट और उनकी वैल्यू के साथ दिखाने वाली एक स्ट्रिंग है.

जेएसओएन के काेड में दिखाना
{
  "name": string,
  "args": {
    object
  }
}
फ़ील्ड
name

string

ज़रूरी है. कॉल करने के लिए फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.

args

object (Struct format)

ज़रूरी नहीं. JSON ऑब्जेक्ट फ़ॉर्मैट में फ़ंक्शन पैरामीटर और वैल्यू.

FunctionResponse

FunctionCall से मिले नतीजे का आउटपुट, जिसमें FunctionDeclaration.name को दिखाने वाली स्ट्रिंग है. साथ ही, स्ट्रक्चर्ड JSON ऑब्जेक्ट में, फ़ंक्शन के किसी भी आउटपुट का इस्तेमाल, मॉडल के कॉन्टेक्स्ट के तौर पर किया जाता है. इसमें मॉडल के अनुमान के आधार पर बनाए गए FunctionCall का नतीजा शामिल होना चाहिए.

जेएसओएन के काेड में दिखाना
{
  "name": string,
  "response": {
    object
  }
}
फ़ील्ड
name

string

ज़रूरी है. कॉल करने के लिए फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.

response

object (Struct format)

ज़रूरी है. JSON ऑब्जेक्ट फ़ॉर्मैट में फ़ंक्शन रिस्पॉन्स.

FileData

यूआरआई पर आधारित डेटा.

जेएसओएन के काेड में दिखाना
{
  "mimeType": string,
  "fileUri": string
}
फ़ील्ड
mimeType

string

ज़रूरी नहीं. सोर्स डेटा का आईएएनए स्टैंडर्ड MIME टाइप.

fileUri

string

ज़रूरी है. यूआरआई.

टूल

टूल के बारे में जानकारी, जिसका इस्तेमाल मॉडल, जवाब जनरेट करने के लिए कर सकता है.

Tool, कोड का एक हिस्सा होता है. इसकी मदद से सिस्टम, बाहरी सिस्टम से इंटरैक्ट कर पाता है, ताकि मॉडल की जानकारी और दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट पूरा कर सके.

जेएसओएन के काेड में दिखाना
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
फ़ील्ड
functionDeclarations[]

object (FunctionDeclaration)

ज़रूरी नहीं. FunctionDeclarations की सूची, उस मॉडल के लिए उपलब्ध है जिसका इस्तेमाल फ़ंक्शन कॉल करने के लिए किया जा सकता है.

मॉडल या सिस्टम, फ़ंक्शन को एक्ज़ीक्यूट नहीं करता. इसके बजाय, तय किए गए फ़ंक्शन को [FunctionCall][content.part.Function_call] के तौर पर दिखाया जा सकता है, जिसमें एक्ज़ीक्यूट करने के लिए क्लाइंट साइड में तर्क शामिल किए गए हों. यह मॉडल, रिस्पॉन्स में [FunctionCall][content.part.फ़ंक्शन_call] की जानकारी अपने-आप देकर, इन फ़ंक्शन के सबसेट को कॉल करने का फ़ैसला ले सकता है. मॉडल की अगली गतिविधि के लिए, बातचीत की अगली कार्रवाई में [content.role] "फ़ंक्शन" जनरेट करने का कॉन्टेक्स्ट शामिल होता है. इसके साथ, [FunctionResponse][content.part.Function_response] शामिल हो सकता है.

FunctionDeclaration

फ़ंक्शन की जानकारी का स्ट्रक्चर्ड ब्यौरा, जैसा कि OpenAPI 3.03 की खास बातों में बताया गया है. इस एलान में फ़ंक्शन के नाम और पैरामीटर की जानकारी भी दी गई है. यह FunctionDeflaration, कोड के ब्लॉक को दिखाता है. इसे मॉडल के Tool के तौर पर इस्तेमाल किया जा सकता है और क्लाइंट इसे एक्ज़ीक्यूट करता है.

जेएसओएन के काेड में दिखाना
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
फ़ील्ड
name

string

ज़रूरी है. फ़ंक्शन का नाम. a-z, A-Z, 0-9 होने चाहिए या इसमें अंडरस्कोर और डैश होने चाहिए और उनकी लंबाई ज़्यादा से ज़्यादा 63 होनी चाहिए.

description

string

ज़रूरी है. फ़ंक्शन के बारे में कम शब्दों में जानकारी.

parameters

object (Schema)

ज़रूरी नहीं. इस फ़ंक्शन के पैरामीटर के बारे में बताता है. यह Open API 3.03 पैरामीटर ऑब्जेक्ट स्ट्रिंग कुंजी को दिखाता है: पैरामीटर का नाम. पैरामीटर के नाम केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होते हैं. स्कीमा वैल्यू: पैरामीटर के लिए इस्तेमाल किया गया टाइप तय करने वाला स्कीमा.

स्कीमा

Schema ऑब्जेक्ट, इनपुट और आउटपुट डेटा टाइप को तय करने की अनुमति देता है. ये ऑब्जेक्ट के साथ-साथ, प्रिमिटिव और अरे भी हो सकते हैं. यह OpenAPI 3.0 स्कीमा ऑब्जेक्ट के चुनिंदा सबसेट को दिखाता है.

जेएसओएन के काेड में दिखाना
{
  "type": enum (Type),
  "format": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "items": {
    object (Schema)
  }
}
फ़ील्ड
type

enum (Type)

ज़रूरी है. डेटा टाइप.

format

string

ज़रूरी नहीं. डेटा का फ़ॉर्मैट. इसका इस्तेमाल सिर्फ़ शुरुआती डेटा टाइप के लिए किया जाता है. काम करने वाले फ़ॉर्मैट: NUMBER टाइप के लिए: फ़्लोट, INTEGER टाइप के लिए डबल: int32, int64

description

string

ज़रूरी नहीं. पैरामीटर के बारे में कम शब्दों में जानकारी. इसमें इस्तेमाल के उदाहरण शामिल हो सकते हैं. पैरामीटर की जानकारी को Markdown के तौर पर फ़ॉर्मैट किया जा सकता है.

nullable

boolean

ज़रूरी नहीं. यह बताता है कि वैल्यू शून्य हो सकती है या नहीं.

enum[]

string

ज़रूरी नहीं. enum फ़ॉर्मैट के साथ Type.STRING के एलिमेंट की संभावित वैल्यू. उदाहरण के लिए, हम Enum डायरेक्शन को इस तरह परिभाषित कर सकते हैं : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

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 ऑब्जेक्ट का टाइप.

ToolConfig

टूल कॉन्फ़िगरेशन में, Tool तय करने के पैरामीटर शामिल हैं. इसे अनुरोध में इस्तेमाल किया जाता है.

जेएसओएन के काेड में दिखाना
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
फ़ील्ड
functionCallingConfig

object (FunctionCallingConfig)

ज़रूरी नहीं. फ़ंक्शन कॉल करने का कॉन्फ़िगरेशन.

FunctionCallingConfig

फ़ंक्शन कॉलिंग व्यवहार तय करने के लिए कॉन्फ़िगरेशन.

जेएसओएन के काेड में दिखाना
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
फ़ील्ड
mode

enum (Mode)

ज़रूरी नहीं. उस मोड के बारे में बताता है जिसमें फ़ंक्शन कॉलिंग को एक्ज़ीक्यूट किया जाना चाहिए. अगर कोई वैल्यू नहीं बताई गई है, तो डिफ़ॉल्ट तौर पर सेट की गई वैल्यू 'अपने-आप' पर सेट हो जाएगी.

allowedFunctionNames[]

string

ज़रूरी नहीं. फ़ंक्शन के नाम का एक सेट, जो दिए जाने पर, मॉडल से कॉल करने वाले फ़ंक्शन को सीमित करता है.

इसे सिर्फ़ तब सेट किया जाना चाहिए, जब मोड 'कोई भी हो' पर हो. फ़ंक्शन के नाम [Functiondeclaration.name] के नाम से मेल खाने चाहिए. किसी भी मोड को सेट करने पर, मॉडल दिए गए फ़ंक्शन के नामों के सेट से, फ़ंक्शन कॉल का अनुमान लगाएगा.

मोड

एक्ज़ीक्यूशन मोड तय करके, फ़ंक्शन कॉलिंग के लिए एक्ज़ीक्यूशन व्यवहार के बारे में बताता है.

Enums
MODE_UNSPECIFIED फ़ंक्शन कॉलिंग मोड की जानकारी नहीं है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.
AUTO डिफ़ॉल्ट मॉडल का व्यवहार, मॉडल फ़ंक्शन कॉल या नैचुरल लैंग्वेज रिस्पॉन्स का अनुमान लगाने का फ़ैसला करता है.
ANY मॉडल सिर्फ़ फ़ंक्शन कॉल का अनुमान लगाने के लिए सीमित है. अगर "allowedFunctionNames" सेट है, तो अनुमानित फ़ंक्शन कॉल "allowedFunctionNames" में से किसी एक तक सीमित रहेगा. अगर ऐसा नहीं है, तो अनुमानित फ़ंक्शन कॉल, दिए गए "Function सूचनाओं" में से कोई एक होगा.
NONE मॉडल किसी भी फ़ंक्शन कॉल का अनुमान नहीं लगाएगा. मॉडल का व्यवहार एक जैसा होता है. ऐसा तब होता है, जब कोई फ़ंक्शन एलान पास न किया जा रहा हो.

UsageMetadata

कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल का मेटाडेटा.

जेएसओएन के काेड में दिखाना
{
  "totalTokenCount": integer
}
फ़ील्ड
totalTokenCount

integer

कैश मेमोरी में सेव किए गए कॉन्टेंट के इस्तेमाल किए गए टोकन की कुल संख्या.

तरीके

create

कैश मेमोरी में सेव किए गए कॉन्टेंट का संसाधन बनाता है.

delete

कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़े संसाधन को मिटाता है.

get

कैश मेमोरी में सेव किए गए कॉन्टेंट के संसाधन को पढ़ता है.

list

यह कैश मेमोरी में सेव किए गए कॉन्टेंट की सूची दिखाता है.

patch

कैश मेमोरी में सेव किए गए कॉन्टेंट से जुड़े संसाधन को अपडेट करता है (सिर्फ़ समयसीमा खत्म होने की तारीख को अपडेट किया जा सकता है).