การแคชบริบทช่วยให้คุณบันทึกและนําโทเค็นอินพุตที่ประมวลผลล่วงหน้าซึ่งต้องการใช้ซ้ำมาใช้ซ้ำได้ เช่น เมื่อถามคําถามที่แตกต่างกันเกี่ยวกับไฟล์สื่อเดียวกัน ซึ่งจะช่วยประหยัดค่าใช้จ่ายและความเร็ว โดยขึ้นอยู่กับการใช้งาน ดูข้อมูลเบื้องต้นโดยละเอียดได้ในคู่มือการแคชบริบท
เมธอด: cachedContents.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 (อัปเดตได้เฉพาะวันหมดอายุ)
ปลายทาง
แพตช์ 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
ปลายทาง
ลบ https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างถึงรูปแบบรายการแคชเนื้อหา: cachedContents/{id}
จะอยู่ในรูปแบบ cachedContents/{cachedcontent}
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากดำเนินการสำเร็จ เนื้อหาการตอบกลับจะว่างเปล่า
ทรัพยากร REST: cachedContents
- ทรัพยากร: 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
ไบต์ของสื่อดิบ
ไม่ควรส่งข้อความเป็นไบต์ดิบ ให้ใช้ฟิลด์ "text"
mimeType
string
ประเภท MIME มาตรฐาน IANA ของข้อมูลต้นทาง ตัวอย่างเช่น - image/png - image/jpeg หากระบุประเภท MIME ที่ระบบไม่รองรับ ระบบจะแสดงข้อผิดพลาด โปรดดูรายการประเภททั้งหมดที่รองรับที่หัวข้อรูปแบบไฟล์ที่รองรับ
data
string (bytes format)
ไบต์ดิบสำหรับรูปแบบสื่อ
สตริงที่เข้ารหัส Base64
การแสดง 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 ชื่อฟังก์ชันและพารามิเตอร์จะรวมอยู่ในการประกาศนี้ FunctionDeclaration นี้แสดงบล็อกโค้ดที่โมเดลสามารถใช้เป็น 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
ไม่บังคับ รูปแบบของข้อมูล ใช้กับประเภทข้อมูลพื้นฐานเท่านั้น รูปแบบที่รองรับ: สำหรับประเภท NUMBER: ทศนิยม ประเภท INTEGER: int32, int64 สำหรับประเภท STRING: 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
)
ไม่บังคับ ระบุโหมดที่การเรียกใช้ฟังก์ชันควรดำเนินการ หากไม่ระบุ ค่าเริ่มต้นจะเป็น AUTO
allowedFunctionNames[]
string
ไม่บังคับ ชุดชื่อฟังก์ชันที่เมื่อระบุแล้ว จะจํากัดฟังก์ชันที่โมเดลจะเรียกใช้
ควรตั้งค่าเฉพาะเมื่อโหมดเป็น "ใดก็ได้" ชื่อฟังก์ชันต้องตรงกับ [Functiondeclaration.name] เมื่อตั้งค่าโหมดเป็น "ใดก็ได้" โมเดลจะคาดคะเนการเรียกใช้ฟังก์ชันจากชุดชื่อฟังก์ชันที่ระบุ
การแสดง JSON |
---|
{
"mode": enum ( |
โหมด
กำหนดลักษณะการดำเนินการสำหรับการเรียกฟังก์ชันโดยการกำหนดโหมดการดำเนินการ
Enum | |
---|---|
MODE_UNSPECIFIED |
โหมดการเรียกใช้ฟังก์ชันที่ไม่ระบุ ไม่ควรใช้ค่านี้ |
AUTO |
ลักษณะการทํางานเริ่มต้นของโมเดล โมเดลจะตัดสินใจว่าจะคาดการณ์การเรียกใช้ฟังก์ชันหรือการตอบกลับด้วยภาษาธรรมชาติ |
ANY |
โมเดลถูกจํากัดให้คาดการณ์การเรียกฟังก์ชันเท่านั้นเสมอ หากตั้งค่า "allowedFunctionNames" การเรียกใช้ฟังก์ชันที่คาดการณ์จะจํากัดอยู่ที่ "allowedFunctionNames" รายการใดรายการหนึ่ง มิเช่นนั้นการเรียกใช้ฟังก์ชันที่คาดการณ์จะเป็น "functionDeclarations" รายการใดรายการหนึ่งที่ให้ไว้ |
NONE |
โมเดลจะไม่คาดคะเนการเรียกใช้ฟังก์ชัน ลักษณะการทํางานของโมเดลจะเหมือนกับเมื่อไม่ได้ส่งการประกาศฟังก์ชันใดๆ |
UsageMetadata
ข้อมูลเมตาเกี่ยวกับการใช้เนื้อหาที่แคชไว้
totalTokenCount
integer
จํานวนโทเค็นทั้งหมดที่เนื้อหาที่แคชไว้ใช้
การแสดง JSON |
---|
{ "totalTokenCount": integer } |