การแคชบริบทช่วยให้คุณบันทึกและนําโทเค็นอินพุตที่ประมวลผลล่วงหน้าซึ่งต้องการใช้ซ้ำมาใช้ซ้ำได้ เช่น เมื่อถามคําถามที่แตกต่างกันเกี่ยวกับไฟล์สื่อเดียวกัน ซึ่งอาจช่วยประหยัดค่าใช้จ่ายและเวลาได้ ทั้งนี้ขึ้นอยู่กับการใช้งาน ดูข้อมูลเบื้องต้นโดยละเอียดได้ในคู่มือการแคชบริบท
เมธอด: cacheContents.create
สร้างทรัพยากร CachedContent
ปลายทาง
โพสต์ https://generativelanguage.googleapis.com/v1beta/cachedContentsเนื้อหาของคำขอ
เนื้อความของคำขอมีอินสแตนซ์ของ CachedContent
contents[]
object (Content
)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ เนื้อหาที่จะแคช
tools[]
object (Tool
)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ รายการ Tools
ที่โมเดลอาจใช้เพื่อสร้างคำตอบถัดไป
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
)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ การกําหนดค่าเครื่องมือ การกำหนดค่านี้จะแชร์กับเครื่องมือทั้งหมด
ตัวอย่างคำขอ
พื้นฐาน
Python
Node.js
Go
เปลือกหอย
จากชื่อ
Python
Node.js
Go
จากแชท
Python
Node.js
Go
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent
ที่สร้างขึ้นใหม่
เมธอด: cachedContents.list
แสดงรายการ CachedContents
ปลายทาง
get https://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
ปลายทาง
get https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างถึงรายการแคชเนื้อหา รูปแบบ: cachedContents/{id}
อยู่ในรูปแบบ cachedContents/{cachedcontent}
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent
เมธอด: cachedContents.patch
อัปเดตทรัพยากร CachedContent (อัปเดตได้เฉพาะวันหมดอายุ)
ปลายทาง
patch https://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
ระบุเวลาที่ทรัพยากรนี้จะหมดอายุ 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}
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ CachedContent
วิธีการ: cachedContents.delete
ลบทรัพยากร CachedContent
ปลายทาง
delete https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างอิงถึงรูปแบบรายการแคชเนื้อหา: cachedContents/{id}
อยู่ในรูปแบบ cachedContents/{cachedcontent}
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากดำเนินการสำเร็จ เนื้อหาการตอบกลับจะว่างเปล่า
ทรัพยากร REST: cacheContents
- ทรัพยากร: CachedContent
- เนื้อหา
- ส่วน
- Blob
- FunctionCall
- FunctionResponse
- FileData
- ExecutableCode
- ภาษา
- CodeExecutionResult
- ผลลัพธ์
- เครื่องมือ
- FunctionDeclaration
- สคีมา
- ประเภท
- GoogleSearchRetrieval
- DynamicRetrievalConfig
- โหมด
- CodeExecution
- ToolConfig
- FunctionCallingConfig
- โหมด
- UsageMetadata
- เมธอด
ทรัพยากร: CachedContent
เนื้อหาที่ประมวลผลล่วงหน้าแล้วและสามารถใช้ในคำขอที่ส่งไปยัง GenerativeService ในภายหลัง
เนื้อหาที่แคชไว้จะใช้ได้กับโมเดลที่สร้างไว้เท่านั้น
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
)
ไม่บังคับ อินพุตเท่านั้น เปลี่ยนแปลงไม่ได้ การกําหนดค่าเครื่องมือ การกำหนดค่านี้แชร์กับเครื่องมือทั้งหมด
การแสดง JSON |
---|
{ "contents": [ { object ( |
เนื้อหา
ประเภท Structured Data พื้นฐานที่มีเนื้อหาหลายส่วนของข้อความ
Content
มีช่อง role
ที่ระบุผู้ผลิต Content
และช่อง parts
ที่มีข้อมูลหลายส่วนซึ่งมีเนื้อหาของการเปลี่ยนข้อความ
parts[]
object (Part
)
Parts
ที่มีลําดับซึ่งประกอบกันเป็นข้อความเดียว ส่วนต่างๆ อาจมีประเภท MIME ที่แตกต่างกัน
role
string
ไม่บังคับ ผู้สร้างเนื้อหา ต้องเป็น "user" หรือ "model"
มีประโยชน์สำหรับการตั้งค่าการสนทนาแบบหลายรอบ หรือจะเว้นว่างไว้หรือไม่ตั้งค่าก็ได้
การแสดง JSON |
---|
{
"parts": [
{
object ( |
ส่วน
ประเภทข้อมูลที่มีสื่อซึ่งเป็นส่วนหนึ่งของข้อความ Content
ที่มีหลายส่วน
Part
ประกอบด้วยข้อมูลที่มีค่าประเภทข้อมูลที่เกี่ยวข้อง Part
ต้องมีประเภทที่ยอมรับใน Part.data
เพียงประเภทเดียวเท่านั้น
Part
ต้องมีประเภท MIME ของ IANA แบบคงที่ซึ่งระบุประเภทและประเภทย่อยของสื่อ หากช่อง inlineData
เต็มไปด้วยไบต์ดิบ
ฟิลด์สหภาพ data
data
ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
text
string
ข้อความในบรรทัด
inlineData
object (Blob
)
ไบต์ของสื่อในบรรทัด
functionCall
object (FunctionCall
)
FunctionCall
ที่คาดการณ์ไว้ซึ่งแสดงผลจากโมเดลที่มีสตริงที่แสดงถึง FunctionDeclaration.name
พร้อมอาร์กิวเมนต์และค่าของอาร์กิวเมนต์
functionResponse
object (FunctionResponse
)
ระบบจะใช้เอาต์พุตผลลัพธ์ของ FunctionCall
ที่มีสตริงแสดงถึง FunctionDeclaration.name
และออบเจ็กต์ JSON ที่มีโครงสร้างซึ่งมีเอาต์พุตจากฟังก์ชันเป็นบริบทของโมเดล
fileData
object (FileData
)
ข้อมูลตาม URI
executableCode
object (ExecutableCode
)
โค้ดที่โมเดลสร้างขึ้นเพื่อเรียกใช้
codeExecutionResult
object (CodeExecutionResult
)
ผลลัพธ์ของการเรียกใช้ ExecutableCode
การแสดง JSON |
---|
{ // Union field |
Blob
ไบต์ของสื่อดิบ
ไม่ควรส่งข้อความเป็นไบต์แบบ Raw โปรดใช้ช่อง "text"
mimeType
string
ประเภท MIME มาตรฐานของ IANA ของข้อมูลต้นทาง ตัวอย่างเช่น - image/png - image/jpeg หากระบุประเภท MIME ที่ระบบไม่รองรับ ระบบจะแสดงข้อผิดพลาด โปรดดูรายการประเภทที่รองรับทั้งหมดที่หัวข้อรูปแบบไฟล์ที่รองรับ
data
string (bytes format)
ไบต์ดิบสำหรับรูปแบบสื่อ
สตริงที่เข้ารหัสฐาน 64
การแสดง JSON |
---|
{ "mimeType": string, "data": string } |
FunctionCall
FunctionCall
ที่คาดการณ์ซึ่งแสดงผลจากโมเดลซึ่งมีสตริงที่แสดงถึง FunctionDeclaration.name
พร้อมอาร์กิวเมนต์และค่าของอาร์กิวเมนต์
name
string
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียกใช้ ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลาง โดยมีความยาวไม่เกิน 63 อักขระ
args
object (Struct
format)
ไม่บังคับ พารามิเตอร์และค่าของฟังก์ชันในรูปแบบออบเจ็กต์ JSON
การแสดง JSON |
---|
{ "name": string, "args": { object } } |
FunctionResponse
ระบบจะใช้เอาต์พุตผลลัพธ์จาก FunctionCall
ที่มีสตริงแสดงถึง FunctionDeclaration.name
และออบเจ็กต์ JSON ที่มีโครงสร้างซึ่งมีเอาต์พุตจากฟังก์ชันเป็นบริบทของโมเดล ซึ่งควรมีผลการค้นหาFunctionCall
ที่สร้างขึ้นตามการคาดการณ์ของโมเดล
name
string
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียกใช้ ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลาง โดยมีความยาวไม่เกิน 63 อักขระ
response
object (Struct
format)
ต้องระบุ การตอบสนองของฟังก์ชันในรูปแบบออบเจ็กต์ JSON
การแสดง JSON |
---|
{ "name": string, "response": { object } } |
FileData
ข้อมูลตาม URI
mimeType
string
ไม่บังคับ ประเภท MIME มาตรฐาน IANA ของข้อมูลต้นทาง
fileUri
string
ต้องระบุ URI
การแสดง JSON |
---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
โค้ดที่โมเดลสร้างขึ้นซึ่งมีไว้เพื่อเรียกใช้ และผลลัพธ์ที่ส่งกลับไปยังโมเดล
ซึ่งสร้างขึ้นเฉพาะเมื่อใช้เครื่องมือ CodeExecution
ซึ่งจะมีการเรียกใช้โค้ดโดยอัตโนมัติ และสร้าง CodeExecutionResult
ที่เกี่ยวข้องด้วย
language
enum (Language
)
ต้องระบุ ภาษาโปรแกรมของ code
code
string
ต้องระบุ โค้ดที่จะดำเนินการ
การแสดง JSON |
---|
{
"language": enum ( |
ภาษา
ภาษาโปรแกรมที่รองรับสําหรับโค้ดที่สร้างขึ้น
Enum | |
---|---|
LANGUAGE_UNSPECIFIED |
ไม่ได้ระบุภาษา ไม่ควรใช้ค่านี้ |
PYTHON |
Python >= 3.10 พร้อม numpy และ simpy |
CodeExecutionResult
ผลลัพธ์ของการดำเนินการ ExecutableCode
สร้างขึ้นเมื่อใช้ CodeExecution
เท่านั้น และจะตามหลัง part
ที่มี ExecutableCode
เสมอ
outcome
enum (Outcome
)
ต้องระบุ ผลลัพธ์ของการเรียกใช้โค้ด
output
string
ไม่บังคับ มี stdout เมื่อการเรียกใช้โค้ดสำเร็จ stderr หรือคำอธิบายอื่นๆ หากไม่สำเร็จ
การแสดง JSON |
---|
{
"outcome": enum ( |
ผลลัพธ์
การแจกแจงผลลัพธ์ที่เป็นไปได้ของการดำเนินการโค้ด
Enum | |
---|---|
OUTCOME_UNSPECIFIED |
สถานะที่ไม่ได้ระบุ ไม่ควรใช้ค่านี้ |
OUTCOME_OK |
การดำเนินการกับโค้ดเสร็จสมบูรณ์แล้ว |
OUTCOME_FAILED |
การเรียกใช้โค้ดเสร็จสมบูรณ์แต่ดำเนินการไม่สำเร็จ stderr ควรมีเหตุผล |
OUTCOME_DEADLINE_EXCEEDED |
การดำเนินการกับโค้ดใช้เวลานานเกินไปและถูกยกเลิก อาจมีหรือไม่มีเอาต์พุตบางส่วน |
เครื่องมือ
รายละเอียดเครื่องมือที่โมเดลอาจใช้สร้างคำตอบ
Tool
คือโค้ดที่ช่วยให้ระบบโต้ตอบกับระบบภายนอกเพื่อดำเนินการหรือชุดการดำเนินการที่อยู่นอกเหนือความรู้และขอบเขตของโมเดลได้
functionDeclarations[]
object (FunctionDeclaration
)
ไม่บังคับ รายการ FunctionDeclarations
ที่พร้อมใช้งานสำหรับโมเดลซึ่งสามารถใช้สำหรับการเรียกใช้ฟังก์ชัน
โมเดลหรือระบบไม่ดําเนินการฟังก์ชัน แต่ระบบอาจแสดงผลฟังก์ชันที่กําหนดเป็น FunctionCall
พร้อมอาร์กิวเมนต์ไปยังฝั่งไคลเอ็นต์สําหรับการดําเนินการแทน โมเดลอาจเลือกเรียกใช้ฟังก์ชันย่อยเหล่านี้โดยป้อนข้อมูล FunctionCall
ในการตอบกลับ วลีถัดไปในการสนทนาอาจมี FunctionResponse
ที่มีบริบทการสร้าง "ฟังก์ชัน" Content.role
สําหรับวลีถัดไปของโมเดล
googleSearchRetrieval
object (GoogleSearchRetrieval
)
ไม่บังคับ เครื่องมือดึงข้อมูลซึ่งทำงานด้วย Google Search
codeExecution
object (CodeExecution
)
ไม่บังคับ ช่วยให้โมเดลเรียกใช้โค้ดได้เป็นส่วนหนึ่งของการสร้าง
การแสดง JSON |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
การนําเสนอแบบมีโครงสร้างของการประกาศฟังก์ชันตามที่ระบุไว้ในข้อกําหนด OpenAPI 3.03 การประกาศนี้ประกอบด้วยชื่อฟังก์ชันและพารามิเตอร์ Function Declaration นี้เป็นตัวแทนของบล็อกโค้ดที่โมเดลใช้เป็น Tool
ได้และไคลเอ็นต์จะเรียกใช้
name
string
ต้องระบุ ชื่อของฟังก์ชัน ต้องประกอบด้วย a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลาง โดยมีความยาวสูงสุด 63
description
string
ต้องระบุ คำอธิบายฟังก์ชันโดยย่อ
parameters
object (Schema
)
ไม่บังคับ อธิบายพารามิเตอร์ของฟังก์ชันนี้ แสดงถึงคีย์ออบเจ็กต์พารามิเตอร์ของ Open API 3.03 ซึ่งเป็นชื่อของพารามิเตอร์ ชื่อพารามิเตอร์คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ค่าสคีมา: สคีมาที่กำหนดประเภทที่ใช้สำหรับพารามิเตอร์
การแสดง JSON |
---|
{
"name": string,
"description": string,
"parameters": {
object ( |
สคีมา
ออบเจ็กต์ Schema
อนุญาตการกำหนดประเภทข้อมูลอินพุตและเอาต์พุต ประเภทเหล่านี้อาจเป็นออบเจ็กต์ รวมถึงอาจเป็นประเภทพื้นฐานและอาร์เรย์ก็ได้ แสดงชุดย่อยที่เลือกของออบเจ็กต์สคีมา OpenAPI 3.0
type
enum (Type
)
ต้องระบุ ประเภทข้อมูล
format
string
ไม่บังคับ รูปแบบของข้อมูล ใช้กับประเภทข้อมูลพื้นฐานเท่านั้น รูปแบบที่รองรับ: สำหรับประเภทตัวเลข: float, double สำหรับประเภทจำนวนเต็ม: int32, int64 สำหรับประเภทสตริง: enum
description
string
ไม่บังคับ คำอธิบายสั้นๆ เกี่ยวกับพารามิเตอร์ อาจมีตัวอย่างการใช้งาน คำอธิบายพารามิเตอร์อาจมีการจัดรูปแบบเป็น Markdown
nullable
boolean
ไม่บังคับ ระบุว่าค่าอาจเป็นค่า Null ได้หรือไม่
enum[]
string
ไม่บังคับ ค่าที่เป็นไปได้ขององค์ประกอบ Type.STRING ที่มีรูปแบบ enum เช่น เราอาจกำหนด Enum Direction เป็น {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
ไม่บังคับ จํานวนองค์ประกอบสูงสุดสําหรับ Type.ARRAY
minItems
string (int64 format)
ไม่บังคับ จํานวนองค์ประกอบขั้นต่ำสําหรับ Type.ARRAY
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 |
ประเภทออบเจ็กต์ |
GoogleSearchRetrieval
เครื่องมือดึงข้อมูลเว็บสาธารณะเพื่อใช้อ้างอิง ซึ่งทำงานด้วยระบบของ Google
dynamicRetrievalConfig
object (DynamicRetrievalConfig
)
ระบุการกําหนดค่าการดึงข้อมูลแบบไดนามิกสําหรับแหล่งที่มาที่ระบุ
การแสดง JSON |
---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
โหมด
โหมดของตัวทำนายที่จะใช้ในการดึงข้อมูลแบบไดนามิก
Enum | |
---|---|
MODE_UNSPECIFIED |
ทริกเกอร์การดึงข้อมูลเสมอ |
MODE_DYNAMIC |
เรียกใช้การดึงข้อมูลเฉพาะเมื่อระบบพิจารณาว่าจําเป็นเท่านั้น |
CodeExecution
ประเภทนี้ไม่มีช่อง
เครื่องมือที่เรียกใช้โค้ดที่โมเดลสร้างขึ้น และแสดงผลลัพธ์ไปยังโมเดลโดยอัตโนมัติ
โปรดดูหัวข้อExecutableCode
และCodeExecutionResult
ซึ่งสร้างขึ้นเมื่อใช้เครื่องมือนี้เท่านั้น
ToolConfig
การกําหนดค่าเครื่องมือซึ่งมีพารามิเตอร์สําหรับระบุการใช้ Tool
ในคําขอ
functionCallingConfig
object (FunctionCallingConfig
)
ไม่บังคับ การกำหนดค่าการเรียกฟังก์ชัน
การแสดง JSON |
---|
{
"functionCallingConfig": {
object ( |
FunctionCallingConfig
การกําหนดค่าสําหรับการระบุลักษณะการเรียกฟังก์ชัน
mode
enum (Mode
)
ไม่บังคับ ระบุโหมดที่การเรียกใช้ฟังก์ชันควรดำเนินการ หากไม่ระบุ ระบบจะตั้งค่าเริ่มต้นเป็น "อัตโนมัติ"
allowedFunctionNames[]
string
ไม่บังคับ ชุดชื่อฟังก์ชันที่เมื่อระบุแล้ว จะจํากัดฟังก์ชันที่โมเดลจะเรียกใช้
ตั้งค่านี้ได้เฉพาะเมื่ออยู่ในโหมด "ใดก็ได้" ชื่อฟังก์ชันควรตรงกับ [FunctionDeclaration.name] เมื่อตั้งค่าโหมดเป็น "ใดก็ได้" โมเดลจะคาดคะเนการเรียกใช้ฟังก์ชันจากชุดชื่อฟังก์ชันที่ระบุ
การแสดง JSON |
---|
{
"mode": enum ( |
โหมด
กําหนดลักษณะการดําเนินการสําหรับการเรียกใช้ฟังก์ชันโดยกําหนดโหมดการดําเนินการ
Enum | |
---|---|
MODE_UNSPECIFIED |
โหมดการเรียกใช้ฟังก์ชันที่ไม่ระบุ ไม่ควรใช้ค่านี้ |
AUTO |
ลักษณะการทํางานเริ่มต้นของโมเดล โมเดลจะตัดสินใจว่าจะคาดการณ์การเรียกใช้ฟังก์ชันหรือการตอบกลับด้วยภาษาธรรมชาติ |
ANY |
โมเดลถูกจํากัดให้คาดการณ์การเรียกฟังก์ชันเท่านั้นเสมอ หากตั้งค่า "allowedFunctionNames" การเรียกใช้ฟังก์ชันที่คาดการณ์จะจํากัดอยู่ที่ "allowedFunctionNames" รายการใดรายการหนึ่ง มิเช่นนั้นการเรียกใช้ฟังก์ชันที่คาดการณ์จะเป็น "functionDeclarations" รายการใดรายการหนึ่งที่ให้ไว้ |
NONE |
โมเดลจะไม่คาดการณ์การเรียกใช้ฟังก์ชันใดๆ ลักษณะการทํางานของโมเดลจะเหมือนกับเมื่อไม่ได้ส่งการประกาศฟังก์ชันใดๆ |
UsageMetadata
ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้
totalTokenCount
integer
จํานวนโทเค็นทั้งหมดที่เนื้อหาที่แคชไว้ใช้
การแสดง JSON |
---|
{ "totalTokenCount": integer } |