- ทรัพยากร: CachedContent
- เนื้อหา
- ส่วน
- Blob
- FunctionCall
- FunctionResponse
- FileData
- เครื่องมือ
- FunctionDeclaration
- สคีมา
- ประเภท
- ToolConfig
- FunctionCallingConfig
- โหมด
- UsageMetadata
- เมธอด
ทรัพยากร: CachedContent
เนื้อหาที่ผ่านการประมวลผลล่วงหน้าแล้ว และสามารถใช้ในคำขอที่ตามมาสำหรับ GenerativeService ได้
เนื้อหาแคชจะใช้ได้กับโมเดลที่สร้างให้เท่านั้น
การแสดง JSON |
---|
{ "contents": [ { object ( |
ช่อง | |
---|---|
contents[] |
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ เนื้อหาที่จะแคช |
tools[] |
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ รายการของ |
createTime |
เอาต์พุตเท่านั้น เวลาที่สร้างรายการแคช การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
updateTime |
เอาต์พุตเท่านั้น เวลาที่รายการแคชได้รับการอัปเดตครั้งล่าสุดตามเวลา UTC การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
usageMetadata |
เอาต์พุตเท่านั้น ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้ |
ช่องการรวม expiration ระบุว่าทรัพยากรนี้จะหมดอายุเมื่อใด expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
|
expireTime |
การประทับเวลาในเขตเวลา UTC ที่ถือว่าทรัพยากรนี้หมดอายุแล้ว แอตทริบิวต์นี้จะระบุในเอาต์พุตเสมอ โดยไม่คำนึงถึงรายการที่ส่งเมื่อป้อนข้อมูล การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
ttl |
อินพุตเท่านั้น TTL ใหม่สำหรับทรัพยากรนี้ ป้อนเท่านั้น ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
name |
ไม่บังคับ ตัวระบุ ชื่อทรัพยากรที่อ้างถึงเนื้อหาที่แคชไว้ รูปแบบ: |
displayName |
ไม่บังคับ เปลี่ยนแปลงไม่ได้ ชื่อที่แสดงซึ่งมีความหมายที่ผู้ใช้สร้างขึ้นของเนื้อหาที่แคชไว้ อักขระ Unicode สูงสุด 128 อักขระ |
model |
ต้องระบุ เปลี่ยนแปลงไม่ได้ ชื่อของ |
systemInstruction |
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ คำสั่งของระบบชุดนักพัฒนาแอป ขณะนี้เป็นแบบข้อความเท่านั้น |
toolConfig |
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ การกำหนดค่าเครื่องมือ การกำหนดค่านี้แชร์กับเครื่องมือทั้งหมด |
เนื้อหา
ประเภทข้อมูลที่มีโครงสร้างฐานซึ่งมีเนื้อหาของข้อความหลายส่วน
Content
ประกอบด้วยช่อง role
ที่ระบุผู้ผลิต Content
และฟิลด์ parts
ที่มีข้อมูลหลายส่วนซึ่งมีเนื้อหาของการเปลี่ยนข้อความ
การแสดง JSON |
---|
{
"parts": [
{
object ( |
ช่อง | |
---|---|
parts[] |
สั่งซื้อ |
role |
ไม่บังคับ ผู้สร้างเนื้อหา ต้องเป็น "user" หรือ "model" มีประโยชน์ในการตั้งค่าให้สำหรับการสนทนาแบบหลายรายการ มิเช่นนั้นให้เว้นว่างไว้หรือไม่ได้ตั้งค่า |
ส่วน
ประเภทข้อมูลที่มีสื่อซึ่งเป็นส่วนหนึ่งของข้อความ Content
ที่มีหลายส่วน
Part
ประกอบด้วยข้อมูลซึ่งมีประเภทข้อมูลที่เชื่อมโยงกัน Part
จะมีประเภทที่ยอมรับใน Part.data
ได้เพียง 1 ประเภทเท่านั้น
Part
ต้องมีประเภท MIME ของ IANA แบบคงที่ที่ระบุประเภทและประเภทย่อยของสื่อ หากช่อง inlineData
มีไบต์ดิบ
การแสดง JSON |
---|
{ // Union field |
ช่อง | |
---|---|
ช่องการรวม
|
|
text |
ข้อความในบรรทัด |
inlineData |
ไบต์ของสื่อในบรรทัด |
functionCall |
|
functionResponse |
เอาต์พุตผลลัพธ์ของ |
fileData |
ข้อมูลที่อิงตาม URI |
Blob
ไบต์ของสื่อดิบ
ไม่ควรส่งข้อความเป็นไบต์แบบ Raw โปรดใช้ช่อง "text"
การแสดง JSON |
---|
{ "mimeType": string, "data": string } |
ช่อง | |
---|---|
mimeType |
ประเภท MIME มาตรฐานของ IANA ของข้อมูลต้นทาง ตัวอย่าง: - image/png - image/jpeg หากระบุประเภท MIME ที่ไม่รองรับ ระบบจะแสดงข้อผิดพลาด โปรดดูรายการประเภทที่รองรับทั้งหมดที่หัวข้อรูปแบบไฟล์ที่รองรับ |
data |
ไบต์ดิบสำหรับรูปแบบสื่อ สตริงที่เข้ารหัสฐาน 64 |
FunctionCall
FunctionCall
ที่คาดการณ์ไว้ซึ่งแสดงผลจากโมเดลที่มีสตริงที่แสดงถึง FunctionDeclaration.name
พร้อมอาร์กิวเมนต์และค่าของอาร์กิวเมนต์
การแสดง JSON |
---|
{ "name": string, "args": { object } } |
ช่อง | |
---|---|
name |
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียก ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลางยาวไม่เกิน 63 อักขระ |
args |
ไม่บังคับ พารามิเตอร์ฟังก์ชันและค่าในรูปแบบออบเจ็กต์ JSON |
FunctionResponse
ผลลัพธ์ที่ได้จาก FunctionCall
ที่มีสตริงที่แสดงถึง FunctionDeclaration.name
และออบเจ็กต์ JSON ที่มีโครงสร้างที่มีเอาต์พุตจากฟังก์ชันจะใช้เป็นบริบทของโมเดล ควรมีผลลัพธ์ของ FunctionCall
ที่สร้างขึ้นตามการคาดการณ์โมเดล
การแสดง JSON |
---|
{ "name": string, "response": { object } } |
ช่อง | |
---|---|
name |
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียก ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลางยาวไม่เกิน 63 อักขระ |
response |
ต้องระบุ การตอบสนองของฟังก์ชันในรูปแบบออบเจ็กต์ JSON |
FileData
ข้อมูลที่อิงตาม URI
การแสดง JSON |
---|
{ "mimeType": string, "fileUri": string } |
ช่อง | |
---|---|
mimeType |
ไม่บังคับ ประเภท MIME มาตรฐานของ IANA ของข้อมูลต้นทาง |
fileUri |
ต้องระบุ URI |
เครื่องมือ
รายละเอียดเครื่องมือที่โมเดลอาจใช้เพื่อสร้างคำตอบ
Tool
คือโค้ดที่ช่วยให้ระบบโต้ตอบกับระบบภายนอกเพื่อดำเนินการหรือชุดการดำเนินการที่อยู่นอกเหนือความรู้และขอบเขตของโมเดลได้
การแสดง JSON |
---|
{
"functionDeclarations": [
{
object ( |
ช่อง | |
---|---|
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 ( |
ช่อง | |
---|---|
name |
ต้องระบุ ชื่อของฟังก์ชัน ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลางยาวไม่เกิน 63 อักขระ |
description |
ต้องระบุ คำอธิบายสั้นๆ เกี่ยวกับฟังก์ชัน |
parameters |
ไม่บังคับ อธิบายพารามิเตอร์ของฟังก์ชันนี้ แสดงคีย์ออบเจ็กต์พารามิเตอร์ของ Open API 3.03 ซึ่งเป็นชื่อของพารามิเตอร์ ชื่อพารามิเตอร์คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ค่าของสคีมา: สคีมาที่กําหนดประเภทพารามิเตอร์ |
สคีมา
ออบเจ็กต์ Schema
อนุญาตการกำหนดประเภทข้อมูลอินพุตและเอาต์พุต ประเภทเหล่านี้อาจเป็นวัตถุ แต่ยังรวมถึงรูปทรงพื้นฐานและอาร์เรย์ แสดงชุดย่อยที่เลือกไว้ของออบเจ็กต์สคีมา OpenAPI 3.0
การแสดง JSON |
---|
{ "type": enum ( |
ช่อง | |
---|---|
type |
ต้องระบุ ประเภทข้อมูล |
format |
ไม่บังคับ รูปแบบของข้อมูล ซึ่งจะใช้กับประเภทข้อมูลพื้นฐานเท่านั้น รูปแบบที่รองรับ: สำหรับประเภท NUMBER: ทศนิยม คู่สำหรับประเภท INTEGER: int32, int64 |
description |
ไม่บังคับ คำอธิบายสั้นๆ เกี่ยวกับพารามิเตอร์ อาจมีตัวอย่างการใช้งาน คำอธิบายพารามิเตอร์อาจอยู่ในรูปแบบมาร์กดาวน์ |
nullable |
ไม่บังคับ ระบุว่าค่าอาจเป็น Null หรือไม่ |
enum[] |
ไม่บังคับ ค่าที่เป็นไปได้ขององค์ประกอบ Type.STRING ในรูปแบบ enum ตัวอย่างเช่น เราสามารถกำหนดทิศทาง Enum เป็น {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} |
properties |
ไม่บังคับ คุณสมบัติของ Type.OBJECT ออบเจ็กต์ที่มีรายการคู่ |
required[] |
ไม่บังคับ พร็อพเพอร์ตี้ที่จำเป็นของ Type.OBJECT |
items |
ไม่บังคับ สคีมาขององค์ประกอบประเภท 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
การกำหนดค่าสำหรับการระบุพฤติกรรมการเรียกใช้ฟังก์ชัน
การแสดง JSON |
---|
{
"mode": enum ( |
ช่อง | |
---|---|
mode |
ไม่บังคับ ระบุโหมดที่การเรียกใช้ฟังก์ชันควรดำเนินการ หากไม่ระบุ ระบบจะตั้งค่าเริ่มต้นเป็น "อัตโนมัติ" |
allowedFunctionNames[] |
ไม่บังคับ ชุดของชื่อฟังก์ชันที่จำกัดฟังก์ชันที่โมเดลจะเรียกใช้หากระบุไว้ ตั้งค่านี้ได้เฉพาะเมื่ออยู่ในโหมด "ใดก็ได้" ชื่อฟังก์ชันควรตรงกับ [Functiondeclaration.name] เมื่อตั้งค่าเป็น "ใดๆ" โมเดลจะคาดการณ์การเรียกใช้ฟังก์ชันจากชุดของชื่อฟังก์ชันที่ระบุ |
โหมด
กำหนดลักษณะการดำเนินการสำหรับการเรียกฟังก์ชันโดยการกำหนดโหมดการดำเนินการ
Enum | |
---|---|
MODE_UNSPECIFIED |
โหมดการเรียกใช้ฟังก์ชันที่ไม่ระบุ ไม่ควรใช้ค่านี้ |
AUTO |
ลักษณะการทำงานของโมเดลเริ่มต้น โมเดลตัดสินใจคาดการณ์การเรียกใช้ฟังก์ชันหรือการตอบสนองที่เป็นภาษาธรรมชาติ |
ANY |
โมเดลถูกจำกัดให้คาดการณ์การเรียกใช้ฟังก์ชันเท่านั้นเสมอ หากตั้งค่า "allowedFunctionNames" การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะจำกัดอยู่ที่ "allowedFunctionNames" รายการใดรายการหนึ่งเท่านั้น ไม่เช่นนั้นการเรียกใช้ฟังก์ชันที่คาดการณ์จะเป็น "function Declarations" อย่างใดอย่างหนึ่งที่มีอยู่ |
NONE |
โมเดลจะไม่คาดการณ์การเรียกใช้ฟังก์ชันใดๆ ลักษณะการทำงานของโมเดลจะเหมือนกับเวลาที่ไม่ส่งการประกาศฟังก์ชันใดๆ |
UsageMetadata
ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้
การแสดง JSON |
---|
{ "totalTokenCount": integer } |
ช่อง | |
---|---|
totalTokenCount |
จำนวนโทเค็นทั้งหมดที่ใช้เนื้อหาที่แคชไว้ |
วิธีการ |
|
---|---|
|
สร้างทรัพยากร CachedContent |
|
ลบทรัพยากร CachedContent |
|
อ่านทรัพยากร CachedContent |
|
แสดงรายการเนื้อหาแคช |
|
อัปเดตทรัพยากร CachedContent (อัปเดตได้เฉพาะวันหมดอายุเท่านั้น) |