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" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

เอาต์พุตเท่านั้น เวลาที่รายการแคชได้รับการอัปเดตครั้งล่าสุดตามเวลา UTC

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

usageMetadata

object (UsageMetadata)

เอาต์พุตเท่านั้น ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้

ช่องการรวม expiration ระบุว่าทรัพยากรนี้จะหมดอายุเมื่อใด expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
expireTime

string (Timestamp format)

การประทับเวลาในเขตเวลา UTC ที่ถือว่าทรัพยากรนี้หมดอายุแล้ว แอตทริบิวต์นี้จะระบุในเอาต์พุตเสมอ โดยไม่คำนึงถึงรายการที่ส่งเมื่อป้อนข้อมูล

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

อินพุตเท่านั้น TTL ใหม่สำหรับทรัพยากรนี้ ป้อนเท่านั้น

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" เช่น "3.5s"

name

string

ไม่บังคับ ตัวระบุ ชื่อทรัพยากรที่อ้างถึงเนื้อหาที่แคชไว้ รูปแบบ: cachedContents/{id}

displayName

string

ไม่บังคับ เปลี่ยนแปลงไม่ได้ ชื่อที่แสดงซึ่งมีความหมายที่ผู้ใช้สร้างขึ้นของเนื้อหาที่แคชไว้ อักขระ Unicode สูงสุด 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

ไม่บังคับ ผู้สร้างเนื้อหา ต้องเป็น "user" หรือ "model"

มีประโยชน์ในการตั้งค่าให้สำหรับการสนทนาแบบหลายรายการ มิเช่นนั้นให้เว้นว่างไว้หรือไม่ได้ตั้งค่า

ส่วน

ประเภทข้อมูลที่มีสื่อซึ่งเป็นส่วนหนึ่งของข้อความ Content ที่มีหลายส่วน

Part ประกอบด้วยข้อมูลซึ่งมีประเภทข้อมูลที่เชื่อมโยงกัน Part จะมีประเภทที่ยอมรับใน Part.data ได้เพียง 1 ประเภทเท่านั้น

Part ต้องมีประเภท MIME ของ IANA แบบคงที่ที่ระบุประเภทและประเภทย่อยของสื่อ หากช่อง 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

Blob

ไบต์ของสื่อดิบ

ไม่ควรส่งข้อความเป็นไบต์แบบ Raw โปรดใช้ช่อง "text"

การแสดง JSON
{
  "mimeType": string,
  "data": string
}
ช่อง
mimeType

string

ประเภท MIME มาตรฐานของ IANA ของข้อมูลต้นทาง ตัวอย่าง: - image/png - image/jpeg หากระบุประเภท MIME ที่ไม่รองรับ ระบบจะแสดงข้อผิดพลาด โปรดดูรายการประเภทที่รองรับทั้งหมดที่หัวข้อรูปแบบไฟล์ที่รองรับ

data

string (bytes format)

ไบต์ดิบสำหรับรูปแบบสื่อ

สตริงที่เข้ารหัสฐาน 64

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 ชื่อฟังก์ชันและพารามิเตอร์จะรวมอยู่ในการประกาศนี้ Function Declaration นี้เป็นตัวแทนของบล็อกโค้ดที่โมเดลใช้เป็น 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: ทศนิยม คู่สำหรับประเภท INTEGER: int32, int64

description

string

ไม่บังคับ คำอธิบายสั้นๆ เกี่ยวกับพารามิเตอร์ อาจมีตัวอย่างการใช้งาน คำอธิบายพารามิเตอร์อาจอยู่ในรูปแบบมาร์กดาวน์

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

ประเภท

Type มีรายการประเภทข้อมูล 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)

ไม่บังคับ ระบุโหมดที่การเรียกใช้ฟังก์ชันควรดำเนินการ หากไม่ระบุ ระบบจะตั้งค่าเริ่มต้นเป็น "อัตโนมัติ"

allowedFunctionNames[]

string

ไม่บังคับ ชุดของชื่อฟังก์ชันที่จำกัดฟังก์ชันที่โมเดลจะเรียกใช้หากระบุไว้

ตั้งค่านี้ได้เฉพาะเมื่ออยู่ในโหมด "ใดก็ได้" ชื่อฟังก์ชันควรตรงกับ [Functiondeclaration.name] เมื่อตั้งค่าเป็น "ใดๆ" โมเดลจะคาดการณ์การเรียกใช้ฟังก์ชันจากชุดของชื่อฟังก์ชันที่ระบุ

โหมด

กำหนดลักษณะการดำเนินการสำหรับการเรียกฟังก์ชันโดยการกำหนดโหมดการดำเนินการ

Enum
MODE_UNSPECIFIED โหมดการเรียกใช้ฟังก์ชันที่ไม่ระบุ ไม่ควรใช้ค่านี้
AUTO ลักษณะการทำงานของโมเดลเริ่มต้น โมเดลตัดสินใจคาดการณ์การเรียกใช้ฟังก์ชันหรือการตอบสนองที่เป็นภาษาธรรมชาติ
ANY โมเดลถูกจำกัดให้คาดการณ์การเรียกใช้ฟังก์ชันเท่านั้นเสมอ หากตั้งค่า "allowedFunctionNames" การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะจำกัดอยู่ที่ "allowedFunctionNames" รายการใดรายการหนึ่งเท่านั้น ไม่เช่นนั้นการเรียกใช้ฟังก์ชันที่คาดการณ์จะเป็น "function Declarations" อย่างใดอย่างหนึ่งที่มีอยู่
NONE โมเดลจะไม่คาดการณ์การเรียกใช้ฟังก์ชันใดๆ ลักษณะการทำงานของโมเดลจะเหมือนกับเวลาที่ไม่ส่งการประกาศฟังก์ชันใดๆ

UsageMetadata

ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้

การแสดง JSON
{
  "totalTokenCount": integer
}
ช่อง
totalTokenCount

integer

จำนวนโทเค็นทั้งหมดที่ใช้เนื้อหาที่แคชไว้

วิธีการ

create

สร้างทรัพยากร CachedContent

delete

ลบทรัพยากร CachedContent

get

อ่านทรัพยากร CachedContent

list

แสดงรายการเนื้อหาแคช

patch

อัปเดตทรัพยากร CachedContent (อัปเดตได้เฉพาะวันหมดอายุเท่านั้น)