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)

פלט בלבד. מועד היצירה של רשומת המטמון.

חותמת זמן בפורמט 'Zulu' בפורמט RFC3339 UTC, עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

פלט בלבד. המועד שבו עודכנה לאחרונה רשומת המטמון לפי שעון UTC.

חותמת זמן בפורמט 'Zulu' בפורמט RFC3339 UTC, עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

usageMetadata

object (UsageMetadata)

פלט בלבד. מטא-נתונים לגבי השימוש בתוכן שנשמר במטמון.

שדה איחוד expiration. מציינת מתי יפוג תוקף המשאב. expiration יכול להיות רק אחת מהאפשרויות הבאות:
expireTime

string (Timestamp format)

חותמת הזמן לפי שעון UTC שמציינת שהתוקף של המשאב הזה פג. הערך הזה זמין תמיד בפלט, ללא קשר למה שנשלח כקלט.

חותמת זמן בפורמט 'Zulu' בפורמט RFC3339 UTC, עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה. דוגמאות: "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 תווי Unicode לכל היותר.

model

string

חובה. בלתי ניתן לשינוי. השם של ה-Model לשימוש בפורמט התוכן ששמור במטמון: models/{model}

systemInstruction

object (Content)

זה שינוי אופציונלי. קלט בלבד. בלתי ניתן לשינוי. הוראת מערכת למפתחים. כרגע רק טקסט.

toolConfig

object (ToolConfig)

זה שינוי אופציונלי. קלט בלבד. בלתי ניתן לשינוי. הגדרות הכלי. התצורה הזו משותפת לכל הכלים.

Content

סוג הנתונים המובנה הבסיסי שמכיל תוכן מרובה חלקים של הודעה.

Content כולל שדה role שמציין את המפיק של Content ושדה parts שמכיל נתונים מרובי-חלקים שמכילים את התוכן של הפניית ההודעה.

ייצוג JSON
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
שדות
parts[]

object (Part)

הוזמנו Parts שמכילים הודעה אחת. לחלקים עשויים להיות סוגי MIME שונים.

role

string

זה שינוי אופציונלי. המפיק של התוכן. הערך חייב להיות 'משתמש' או 'מודל'.

כדאי להגדיר את האפשרות הזו לשיחות מרובות תורות, אחרת אפשר להשאיר את השדה ריק או לא מוגדר.

חלק

סוג נתונים שמכיל מדיה שהיא חלק מהודעת Content מרובת חלקים.

Part מורכב מנתונים שמשויכים להם סוג נתונים. Part יכול להכיל רק אחד מהסוגים הנתמכים בPart.data.

Part חייב להיות מסוג IANA MIME קבוע שמזהה את הסוג וסוג המשנה של המדיה אם השדה inlineData מלא בבייטים גולמיים.

ייצוג 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.

כתם

בייטים של מדיה גולמית.

אין לשלוח טקסט כבייטים גולמיים, יש להשתמש בשדה 'text'.

ייצוג JSON
{
  "mimeType": string,
  "data": string
}
שדות
mimeType

string

סוג MIME של תקן IANA של נתוני המקור. דוגמאות: - image/png - image/jpeg אם תספק סוג MIME שאינו נתמך, תוחזר שגיאה. הרשימה המלאה של סוגי הקבצים הנתמכים זמינה בפורמטים נתמכים של קבצים.

data

string (bytes format)

בייטים גולמיים לפורמטים של מדיה.

מחרוזת בקידוד base64.

FunctionCall

הערך החזוי של FunctionCall שהוחזר מהמודל מכיל מחרוזת שמייצגת את FunctionDeclaration.name עם הארגומנטים והערכים שלהם.

ייצוג JSON
{
  "name": string,
  "args": {
    object
  }
}
שדות
name

string

חובה. שם הפונקציה שרוצים להפעיל. חייב להיות a-z, A-Z, 0-9 או לכלול קווים תחתונים ומקפים ובאורך מקסימלי של 63.

args

object (Struct format)

זה שינוי אופציונלי. הפרמטרים והערכים של הפונקציה בפורמט של אובייקט JSON.

FunctionResponse

הפלט של התוצאה מ-FunctionCall שמכילה מחרוזת שמייצגת את FunctionDeclaration.name ואובייקט JSON מובנה שמכיל פלט כלשהו מהפונקציה משמש בתור הקשר למודל. הערך הזה צריך להכיל את התוצאה של FunctionCall שנוצרה על סמך חיזוי של המודל.

ייצוג JSON
{
  "name": string,
  "response": {
    object
  }
}
שדות
name

string

חובה. שם הפונקציה שרוצים להפעיל. חייב להיות a-z, A-Z, 0-9 או לכלול קווים תחתונים ומקפים ובאורך מקסימלי של 63.

response

object (Struct format)

חובה. תגובת הפונקציה בפורמט של אובייקט JSON.

FileData

נתונים המבוססים על URI.

ייצוג JSON
{
  "mimeType": string,
  "fileUri": string
}
שדות
mimeType

string

זה שינוי אופציונלי. סוג MIME של תקן IANA של נתוני המקור.

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] עבור הפעלת המודל הבאה.

FunctionDeclaration

ייצוג מובנה של הצהרת פונקציה, כפי שמוגדר במפרט OpenAPI 3.03. בהצהרה הזו כלולים השם והפרמטרים של הפונקציה. הצהרת הפונקציה הזו היא ייצוג של בלוק קוד שיכול לשמש את המודל כ-Tool ולהריץ אותו על ידי הלקוח.

ייצוג JSON
{
  "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.

ייצוג 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: מספר ממשי (float), כפול עבור סוג 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

טיפוסים בני מנייה (enum)
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 (Any). שמות הפונקציות צריכים להיות זהים ל-[FunctionDeclaration.name]. כשהמצב מוגדר ל-Any, המודל יחזה קריאה לפונקציה מתוך קבוצת שמות הפונקציות שסופקה.

מצב

המדיניות מגדירה את התנהגות הביצוע של קריאות לפונקציות על ידי הגדרת מצב הביצוע.

טיפוסים בני מנייה (enum)
MODE_UNSPECIFIED מצב הקריאה לפונקציה לא צוין. אין להשתמש בערך הזה.
AUTO התנהגות ברירת המחדל של המודל, המודל מחליט לחזות קריאה לפונקציה או תגובה משפה טבעית.
ANY המודל מוגבל תמיד לחיזוי של בקשה להפעלת פונקציה בלבד. אם מוגדרת 'allowedFunctionNames', ההפעלה החזויה של הפונקציה תוגבל לכל אחד מ-'allowedFunctionNames'. אחרת, הקריאה לפונקציה החזויה תהיה כל אחת מ-'functionDepointsNames' שסופקו.
NONE המודל לא יחזה אף קריאה לפונקציה. התנהגות המודל זהה להתנהגות במקרה שלא מעבירים הצהרות על פונקציה.

UsageMetadata

מטא-נתונים לגבי השימוש בתוכן שנשמר במטמון.

ייצוג JSON
{
  "totalTokenCount": integer
}
שדות
totalTokenCount

integer

המספר הכולל של האסימונים שהתוכן ששמור במטמון צריך.

שיטות

create

יצירת משאב CachedContent.

delete

מחיקת המשאב CachedContent.

get

קריאת המשאב CachedContent.

list

בתיבת הדו-שיח הזו מפורטים CachedContents.

patch

מעדכן משאב CachedContent (אפשר לעדכן רק את תאריך התפוגה).