REST Resource: cachedContents

منبع: CachedContent

محتوایی که از قبل پردازش شده است و می تواند در درخواست بعدی به GenerativeService استفاده شود.

محتوای ذخیره شده در حافظه پنهان تنها با مدلی که برای آن ایجاد شده است قابل استفاده است.

نمایندگی JSON
{
  "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)

فقط خروجی زمان ایجاد ورودی کش

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

فقط خروجی آخرین باری که ورودی حافظه پنهان در زمان UTC به روز شد.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

usageMetadata

object ( UsageMetadata )

فقط خروجی فراداده در مورد استفاده از محتوای حافظه پنهان.

expiration میدان اتحادیه زمان منقضی شدن این منبع را مشخص می کند. expiration فقط می تواند یکی از موارد زیر باشد:
expireTime

string ( Timestamp format)

مهر زمانی در UTC از زمانی که این منبع منقضی شده در نظر گرفته می شود. این همیشه در خروجی ارائه می شود، صرف نظر از آنچه در ورودی ارسال شده است.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "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 حاوی داده های چند قسمتی است که حاوی محتوای نوبت پیام است.

نمایندگی JSON
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
زمینه های
parts[]

object ( Part )

Parts سفارش داده شده که یک پیام واحد را تشکیل می دهند. قطعات ممکن است انواع مختلف MIME داشته باشند.

role

string

اختیاری. تولید کننده محتوا. باید «کاربر» یا «مدل» باشد.

برای تنظیم مکالمات چند نوبتی مفید است، در غیر این صورت می توانید آن را خالی یا تنظیم نشده رها کنید.

قسمت

یک نوع داده حاوی رسانه ای که بخشی از یک پیام Content چند بخشی است.

یک Part شامل داده هایی است که دارای یک نوع داده مرتبط است. یک Part فقط می تواند شامل یکی از انواع پذیرفته شده در Part.data باشد.

اگر قسمت inlineData با بایت های خام پر شده باشد، یک Part باید دارای یک نوع IANA MIME ثابت باشد که نوع و نوع فرعی رسانه را مشخص می کند.

نمایندگی JSON
{

  // 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 )

داده های مبتنی بر URI

لکه

بایت های رسانه خام

متن نباید به صورت بایت خام ارسال شود، از قسمت "متن" استفاده کنید.

نمایندگی JSON
{
  "mimeType": string,
  "data": string
}
زمینه های
mimeType

string

نوع استاندارد IANA MIME داده منبع. مثال‌ها: - image/png - image/jpeg اگر نوع MIME پشتیبانی‌نشده ارائه شود، یک خطا برگردانده می‌شود. برای فهرست کامل انواع پشتیبانی شده، فرمت‌های فایل پشتیبانی شده را ببینید.

data

string ( bytes format)

بایت های خام برای فرمت های رسانه ای.

رشته ای با کد base64.

FunctionCall

یک FunctionCall پیش‌بینی‌شده از مدلی که حاوی رشته‌ای است که FunctionDeclaration.name با آرگومان‌ها و مقادیر آن‌ها نشان می‌دهد، برگردانده می‌شود.

نمایندگی JSON
{
  "name": string,
  "args": {
    object
  }
}
زمینه های
name

string

ضروری. نام تابعی که باید فراخوانی شود. باید az، AZ، ​​0-9 باشد یا دارای زیرخط و خط تیره با حداکثر طول 63 باشد.

args

object ( Struct format)

اختیاری. پارامترها و مقادیر تابع در قالب شی JSON.

FunctionResponse

خروجی نتیجه از یک FunctionCall که حاوی رشته ای است که FunctionDeclaration.name را نشان می دهد و یک شی JSON ساختاریافته حاوی هر خروجی از تابع به عنوان زمینه مدل استفاده می شود. این باید حاوی نتیجه یک FunctionCall باشد که بر اساس پیش‌بینی مدل ساخته شده است.

نمایندگی JSON
{
  "name": string,
  "response": {
    object
  }
}
زمینه های
name

string

ضروری. نام تابعی که باید فراخوانی شود. باید az، AZ، ​​0-9 باشد یا دارای زیرخط و خط تیره با حداکثر طول 63 باشد.

response

object ( Struct format)

ضروری. پاسخ تابع در قالب شی JSON.

FileData

داده های مبتنی بر URI

نمایندگی JSON
{
  "mimeType": string,
  "fileUri": string
}
زمینه های
mimeType

string

اختیاری. نوع استاندارد IANA MIME داده منبع.

fileUri

string

ضروری. URI.

ابزار

جزئیات ابزاری که مدل ممکن است برای تولید پاسخ استفاده کند.

Tool قطعه ای از کد است که سیستم را قادر می سازد تا با سیستم های خارجی برای انجام یک عمل یا مجموعه ای از اقدامات خارج از دانش و محدوده مدل تعامل داشته باشد.

نمایندگی JSON
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
زمینه های
functionDeclarations[]

object ( FunctionDeclaration )

اختیاری. لیستی از FunctionDeclarations موجود در مدل که می تواند برای فراخوانی تابع استفاده شود.

مدل یا سیستم عملکرد را اجرا نمی کند. در عوض، تابع تعریف شده ممکن است به عنوان یک [FunctionCall][content.part.function_call] با آرگومان هایی به سمت مشتری برای اجرا برگردانده شود. ممکن است مدل تصمیم بگیرد که زیر مجموعه ای از این توابع را با پر کردن [FunctionCall][content.part.function_call] در پاسخ فراخوانی کند. نوبت مکالمه بعدی ممکن است حاوی یک [FunctionResponse][content.part.function_response] با زمینه تولید "function" [content.role] برای نوبت مدل بعدی باشد.

اعلامیه عملکرد

نمایش ساختار یافته یک اعلان تابع همانطور که توسط مشخصات OpenAPI 3.03 تعریف شده است. در این اعلان نام تابع و پارامترها گنجانده شده است. این FunctionDeclaration نمایشی از یک بلوک کد است که می تواند به عنوان یک Tool توسط مدل استفاده شود و توسط مشتری اجرا شود.

نمایندگی JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
زمینه های
name

string

ضروری. نام تابع. باید az، AZ، ​​0-9 باشد یا دارای زیرخط و خط تیره با حداکثر طول 63 باشد.

description

string

ضروری. توضیح مختصری از عملکرد

parameters

object ( Schema )

اختیاری. پارامترهای این تابع را شرح می دهد. کلید رشته رشته پارامتر Open API 3.03 را منعکس می کند: نام پارامتر. نام پارامترها به حروف بزرگ و کوچک حساس هستند. Schema Value: طرحی که نوع مورد استفاده برای پارامتر را تعیین می کند.

طرحواره

شی Schema اجازه تعریف انواع داده های ورودی و خروجی را می دهد. این انواع می توانند اشیاء باشند، بلکه بدوی و آرایه نیز هستند. یک زیرمجموعه انتخابی از یک شی طرحواره OpenAPI 3.0 را نشان می دهد.

نمایندگی JSON
{
  "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

اختیاری. نشان می دهد که آیا مقدار ممکن است null باشد.

enum[]

string

اختیاری. مقادیر احتمالی عنصر Type.STRING با فرمت enum. برای مثال می‌توانیم یک جهت 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 در درخواست.

نمایندگی JSON
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
زمینه های
functionCallingConfig

object ( FunctionCallingConfig )

اختیاری. پیکربندی فراخوانی تابع.

FunctionCallingConfig

پیکربندی برای تعیین رفتار فراخوانی تابع.

نمایندگی JSON
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
زمینه های
mode

enum ( Mode )

اختیاری. حالتی را که فراخوانی تابع باید در آن اجرا شود را مشخص می کند. اگر مشخص نشده باشد، مقدار پیش فرض روی AUTO تنظیم می شود.

allowedFunctionNames[]

string

اختیاری. مجموعه ای از نام های تابع که در صورت ارائه، توابعی را که مدل فراخوانی می کند محدود می کند.

این فقط زمانی باید تنظیم شود که حالت ANY باشد. نام توابع باید با [FunctionDeclaration.name] مطابقت داشته باشد. با تنظیم حالت بر روی ANY، مدل یک فراخوانی تابع را از مجموعه نام های تابع ارائه شده پیش بینی می کند.

حالت

رفتار اجرا را برای فراخوانی تابع با تعریف حالت اجرا تعریف می کند.

Enums
MODE_UNSPECIFIED حالت فراخوانی عملکرد نامشخص. این مقدار نباید استفاده شود.
AUTO رفتار مدل پیش‌فرض، مدل تصمیم می‌گیرد یک فراخوانی تابع یا یک پاسخ زبان طبیعی را پیش‌بینی کند.
ANY مدل محدود است که همیشه فقط یک فراخوانی تابع را پیش‌بینی کند. اگر "allowedFunctionNames" تنظیم شود، فراخوانی تابع پیش بینی شده به هر یک از "allowedFunctionNames" محدود می شود، در غیر این صورت فراخوانی تابع پیش بینی شده هر یک از "functionDeclarations" ارائه شده خواهد بود.
NONE مدل هیچ فراخوانی تابعی را پیش بینی نمی کند. رفتار مدل مانند زمانی است که هیچ اعلان تابعی را ارسال نمی کنید.
UsageMetadata

فراداده در مورد استفاده از محتوای حافظه پنهان.

نمایندگی JSON
{
  "totalTokenCount": integer
}
زمینه های
totalTokenCount

integer

تعداد کل نشانه هایی که محتوای کش مصرف می کند.

مواد و روش ها
create منبع CachedContent ایجاد می کند.
delete منبع CachedContent را حذف می کند.
get منبع CachedContent را می خواند.
list CachedContents را فهرست می کند.
patch منبع CachedContent را به روز می کند (فقط انقضا قابل به روز رسانی است).