การแคชบริบทช่วยให้คุณบันทึกและนำโทเค็นอินพุตที่คำนวณไว้ล่วงหน้าซึ่งคุณต้องการใช้ซ้ำมาใช้ได้ เช่น เมื่อถามคำถามต่างๆ เกี่ยวกับไฟล์สื่อเดียวกัน ซึ่งอาจช่วยประหยัดค่าใช้จ่ายและเพิ่มความเร็วได้ ทั้งนี้ขึ้นอยู่กับการใช้งาน ดูคำแนะนำโดยละเอียดได้ที่หัวข้อการแคชบริบท
เมธอด: cachedContents.create
สร้างทรัพยากร CachedContent
ปลายทาง
โพสต์https: / /generativelanguage.googleapis.com /v1beta /cachedContents
เนื้อความของคำขอ
เนื้อความของคำขอมีอินสแตนซ์ของ CachedContent
contents[]
object (Content)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ เนื้อหาที่จะแคช
tools[]
object (Tool)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ รายการToolsที่โมเดลอาจใช้เพื่อสร้างคำตอบถัดไป
expiration
Union type
expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นexpireTime
string (Timestamp format)
การประทับเวลาใน UTC ของเวลาที่ถือว่าทรัพยากรนี้หมดอายุ ระบบจะระบุข้อมูลนี้ในเอาต์พุตเสมอ ไม่ว่าอินพุตจะเป็นอะไรก็ตาม
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"
ttl
string (Duration format)
อินพุตเท่านั้น TTL ใหม่สำหรับทรัพยากรนี้ ซึ่งเป็นอินพุตเท่านั้น
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
displayName
string
ไม่บังคับ เปลี่ยนแปลงไม่ได้ ชื่อที่แสดงที่มีความหมายซึ่งผู้ใช้สร้างขึ้นของเนื้อหาที่แคชไว้ มีอักขระ Unicode ได้สูงสุด 128 ตัว
model
string
ต้องระบุ เปลี่ยนแปลงไม่ได้ ชื่อของ Model ที่จะใช้สำหรับเนื้อหาที่แคช รูปแบบ: models/{model}
systemInstruction
object (Content)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ นักพัฒนาตั้งค่าคำสั่งของระบบ ปัจจุบันมีเฉพาะข้อความ
toolConfig
object (ToolConfig)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ การกำหนดค่าเครื่องมือ การกำหนดค่านี้ใช้ร่วมกันสำหรับเครื่องมือทั้งหมด
ตัวอย่างคำขอ
พื้นฐาน
Python
Node.js
Go
เปลือกหอย
ชื่อผู้ส่ง
Python
Node.js
Go
จากแชท
Python
Node.js
Go
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent ที่สร้างขึ้นใหม่
เมธอด: cachedContents.list
แสดงรายการ CachedContents
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
พารามิเตอร์การค้นหา
pageSize
integer
ไม่บังคับ จำนวนเนื้อหาที่แคชไว้สูงสุดที่จะแสดง บริการอาจแสดงผลน้อยกว่าค่านี้ หากไม่ได้ระบุ ระบบจะแสดงผลรายการตามจำนวนเริ่มต้น (ต่ำกว่าจำนวนสูงสุด) ค่าสูงสุดคือ 1,000 และค่าที่สูงกว่า 1,000 จะถูกบังคับให้เป็น 1,000
pageToken
string
ไม่บังคับ โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ cachedContents.list ก่อนหน้า ระบุค่านี้เพื่อดึงข้อมูลหน้าถัดไป
เมื่อแบ่งหน้า พารามิเตอร์อื่นๆ ทั้งหมดที่ระบุให้กับ cachedContents.list ต้องตรงกับการเรียกที่ให้โทเค็นหน้าเว็บ
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
การตอบกลับพร้อมรายการ CachedContents
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
cachedContents[]
object (CachedContent)
รายการเนื้อหาที่แคชไว้
nextPageToken
string
โทเค็นที่ส่งเป็น pageToken เพื่อดึงข้อมูลหน้าถัดไปได้ หากละเว้นฟิลด์นี้ จะไม่มีหน้าถัดไป
| การแสดง JSON |
|---|
{
"cachedContents": [
{
object ( |
เมธอด: cachedContents.get
อ่านทรัพยากร CachedContent
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างอิงถึงรายการแคชเนื้อหา รูปแบบ: cachedContents/{id} ซึ่งจะอยู่ในรูปแบบ cachedContents/{cachedcontent}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent
เมธอด: cachedContents.patch
- ปลายทาง
- พารามิเตอร์เส้นทาง
- พารามิเตอร์การค้นหา
- เนื้อความของคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- คำขอตัวอย่าง
อัปเดตทรัพยากร CachedContent (อัปเดตได้เฉพาะการหมดอายุ)
ปลายทาง
patchhttps: / /generativelanguage.googleapis.com /v1beta /{cachedContent.name=cachedContents /*}
PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
พารามิเตอร์เส้นทาง
cachedContent.name
string
เอาต์พุตเท่านั้น ตัวระบุ ชื่อทรัพยากรที่อ้างอิงถึงเนื้อหาที่แคชไว้ รูปแบบ: cachedContents/{id} ซึ่งจะอยู่ในรูปแบบ cachedContents/{cachedcontent}
พารามิเตอร์การค้นหา
updateMask
string (FieldMask format)
รายการฟิลด์ที่จะอัปเดต
ซึ่งเป็นรายการชื่อฟิลด์แบบสมบูรณ์ในตัวเองที่คั่นด้วยคอมมา ตัวอย่าง: "user.displayName,photo"
เนื้อความของคำขอ
เนื้อความของคำขอมีอินสแตนซ์ของ CachedContent
expiration
Union type
expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นexpireTime
string (Timestamp format)
การประทับเวลาใน UTC ของเวลาที่ถือว่าทรัพยากรนี้หมดอายุ ระบบจะระบุข้อมูลนี้ในเอาต์พุตเสมอ ไม่ว่าอินพุตจะเป็นอะไรก็ตาม
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"
ttl
string (Duration format)
อินพุตเท่านั้น TTL ใหม่สำหรับทรัพยากรนี้ ซึ่งเป็นอินพุตเท่านั้น
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent
เมธอด: cachedContents.delete
ลบทรัพยากร CachedContent
ปลายทาง
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างอิงถึงรายการแคชเนื้อหา รูปแบบ: cachedContents/{id} มีรูปแบบเป็น cachedContents/{cachedcontent}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาคำตอบจะเป็นออบเจ็กต์ JSON ว่าง
ทรัพยากร REST: cachedContents
- ทรัพยากร: CachedContent
- ToolConfig
- FunctionCallingConfig
- โหมด
- RetrievalConfig
- LatLng
- UsageMetadata
- เมธอด
ทรัพยากร: CachedContent
เนื้อหาที่ประมวลผลล่วงหน้าแล้วและใช้ในคำขอที่ตามมาไปยัง GenerativeService ได้
เนื้อหาที่แคชไว้จะใช้ได้กับโมเดลที่สร้างขึ้นเท่านั้น
contents[]
object (Content)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ เนื้อหาที่จะแคช
tools[]
object (Tool)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ รายการToolsที่โมเดลอาจใช้เพื่อสร้างคำตอบถัดไป
createTime
string (Timestamp format)
เอาต์พุตเท่านั้น เวลาที่สร้างรายการแคช
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"
updateTime
string (Timestamp format)
เอาต์พุตเท่านั้น เวลา UTC ที่อัปเดตรายการแคชครั้งล่าสุด
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"
usageMetadata
object (UsageMetadata)
เอาต์พุตเท่านั้น ข้อมูลเมตาเกี่ยวกับการใช้งานเนื้อหาที่แคชไว้
expiration
Union type
expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นexpireTime
string (Timestamp format)
การประทับเวลาใน UTC ของเวลาที่ถือว่าทรัพยากรนี้หมดอายุ ระบบจะระบุข้อมูลนี้ในเอาต์พุตเสมอ ไม่ว่าอินพุตจะเป็นอะไรก็ตาม
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"
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)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ การกำหนดค่าเครื่องมือ การกำหนดค่านี้ใช้ร่วมกันสำหรับเครื่องมือทั้งหมด
| การแสดง JSON |
|---|
{ "contents": [ { object ( |
ToolConfig
การกำหนดค่าเครื่องมือที่มีพารามิเตอร์สำหรับระบุ Tool ที่ใช้ในคำขอ
functionCallingConfig
object (FunctionCallingConfig)
ไม่บังคับ การกำหนดค่าการเรียกใช้ฟังก์ชัน
retrievalConfig
object (RetrievalConfig)
ไม่บังคับ การกำหนดค่าการดึงข้อมูล
includeServerSideToolInvocations
boolean
ไม่บังคับ หากเป็นจริง การตอบกลับของ API จะรวมการเรียกใช้เครื่องมือและการตอบกลับฝั่งเซิร์ฟเวอร์ภายในข้อความ Content ซึ่งช่วยให้ไคลเอ็นต์สังเกตการโต้ตอบของเครื่องมือในเซิร์ฟเวอร์ได้
| การแสดง JSON |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
การกำหนดค่าสำหรับการระบุลักษณะการทำงานของการเรียกใช้ฟังก์ชัน
mode
enum (Mode)
ไม่บังคับ ระบุโหมดที่ควรเรียกใช้การเรียกใช้ฟังก์ชัน หากไม่ได้ระบุ ระบบจะตั้งค่าเริ่มต้นเป็น AUTO
allowedFunctionNames[]
string
ไม่บังคับ ชุดชื่อฟังก์ชันที่เมื่อระบุแล้ว จะจำกัดฟังก์ชันที่โมเดลจะเรียกใช้
คุณควรตั้งค่านี้เมื่อโหมดเป็น ANY หรือ VALIDATED เท่านั้น ชื่อฟังก์ชันควรตรงกับ [FunctionDeclaration.name] เมื่อตั้งค่าแล้ว โมเดลจะคาดการณ์การเรียกใช้ฟังก์ชันจากชื่อฟังก์ชันที่อนุญาตเท่านั้น
| การแสดง JSON |
|---|
{
"mode": enum ( |
โหมด
กำหนดลักษณะการทำงานของการเรียกใช้ฟังก์ชันโดยการกำหนดโหมดการดำเนินการ
| Enum | |
|---|---|
MODE_UNSPECIFIED |
โหมดการเรียกใช้ฟังก์ชันที่ไม่ได้ระบุ ไม่ควรใช้ค่านี้ |
AUTO |
ลักษณะการทำงานของโมเดลเริ่มต้น โมเดลจะตัดสินใจคาดการณ์การเรียกใช้ฟังก์ชันหรือคำตอบที่เป็นภาษาธรรมชาติ |
ANY |
โมเดลถูกจำกัดให้คาดการณ์การเรียกใช้ฟังก์ชันเท่านั้นเสมอ หากตั้งค่า "allowedFunctionNames" ไว้ การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะจำกัดอยู่เพียง "allowedFunctionNames" รายการใดรายการหนึ่ง ไม่เช่นนั้น การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะเป็น "functionDeclarations" รายการใดรายการหนึ่งที่ระบุไว้ |
NONE |
โมเดลจะไม่คาดการณ์การเรียกใช้ฟังก์ชันใดๆ ลักษณะการทำงานของโมเดลจะเหมือนกับเมื่อไม่ได้ส่งการประกาศฟังก์ชันใดๆ |
VALIDATED |
โมเดลจะตัดสินใจว่าจะคาดการณ์การเรียกใช้ฟังก์ชันหรือคำตอบที่เป็นภาษาธรรมชาติ แต่จะตรวจสอบการเรียกใช้ฟังก์ชันด้วยการถอดรหัสแบบจำกัด หากตั้งค่า "allowedFunctionNames" ไว้ การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะจำกัดอยู่เพียงหนึ่งใน "allowedFunctionNames" แต่หากไม่ได้ตั้งค่าไว้ การเรียกใช้ฟังก์ชันที่คาดการณ์ไว้จะเป็นหนึ่งใน "functionDeclarations" ที่ระบุ |
RetrievalConfig
LatLng
ออบเจ็กต์ที่แสดงคู่ละติจูด/ลองจิจูด โดยจะแสดงเป็นคู่ของจำนวนจริงเพื่อแสดงองศาละติจูดและองศาลองจิจูด ออบเจ็กต์นี้ต้องเป็นไปตาม มาตรฐาน WGS84 เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าต้องอยู่ในช่วงที่ทำให้เป็นปกติ
latitude
number
ละติจูดเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]
longitude
number
ลองจิจูดเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
ข้อมูลเมตาเกี่ยวกับการใช้งานเนื้อหาที่แคชไว้
totalTokenCount
integer
จำนวนโทเค็นทั้งหมดที่เนื้อหาที่แคชใช้
| การแสดง JSON |
|---|
{ "totalTokenCount": integer } |