การแคชบริบทช่วยให้คุณบันทึกและนำโทเค็นอินพุตที่คำนวณไว้ล่วงหน้าซึ่งคุณต้องการใช้ซ้ำมาใช้ได้ เช่น เมื่อถามคำถามต่างๆ เกี่ยวกับไฟล์สื่อเดียวกัน ซึ่งอาจช่วยประหยัดค่าใช้จ่ายและเพิ่มความเร็วได้ ทั้งนี้ขึ้นอยู่กับการใช้งาน ดูคำแนะนำแบบละเอียดได้ที่คู่มือการแคชบริบท
เมธอด: cachedContents.create
สร้างทรัพยากร CachedContent
ปลายทาง
posthttps: / /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
ปลายทาง
ลบhttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรที่อ้างอิงถึงรายการแคชเนื้อหา รูปแบบ: cachedContents/{id} ซึ่งจะอยู่ในรูปแบบ cachedContents/{cachedcontent}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาคำตอบจะเป็นออบเจ็กต์ JSON ว่าง
ทรัพยากร REST: cachedContents
- แหล่งข้อมูล: CachedContent
- เนื้อหา
- ส่วน
- Blob
- FunctionCall
- FunctionResponse
- FunctionResponsePart
- FunctionResponseBlob
- การกำหนดเวลา
- FileData
- ExecutableCode
- ภาษา
- CodeExecutionResult
- ผลลัพธ์
- ToolCall
- ToolType
- ToolResponse
- VideoMetadata
- MediaResolution
- ระดับ
- เครื่องมือ
- FunctionDeclaration
- สคีมา
- ประเภท
- พฤติกรรม
- GoogleSearchRetrieval
- DynamicRetrievalConfig
- โหมด
- CodeExecution
- GoogleSearch
- ช่วงเวลา
- SearchTypes
- WebSearch
- ImageSearch
- ComputerUse
- สภาพแวดล้อม
- UrlContext
- FileSearch
- McpServer
- StreamableHttpTransport
- GoogleMaps
- 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 ( |
เนื้อหา
ประเภทข้อมูลที่มีโครงสร้างพื้นฐานซึ่งมีเนื้อหาหลายส่วนของข้อความ
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
thought
boolean
ไม่บังคับ ระบุว่าโมเดลคิดว่าส่วนนั้นเป็นส่วนใด
thoughtSignature
string (bytes format)
ไม่บังคับ ลายเซ็นที่ไม่โปร่งใสสำหรับความคิดเพื่อให้สามารถนำไปใช้ซ้ำในคำขอที่ตามมาได้
สตริงที่เข้ารหัส Base64
partMetadata
object (Struct format)
ข้อมูลเมตาที่กำหนดเองซึ่งเชื่อมโยงกับพาร์ท เอเจนต์ที่ใช้ genai.Part เป็นการแสดงเนื้อหาอาจต้องติดตามข้อมูลเพิ่มเติม เช่น อาจเป็นชื่อไฟล์/แหล่งที่มาของพาร์ท หรือวิธีมัลติเพล็กซ์สตรีมพาร์ทหลายรายการ
mediaResolution
object (MediaResolution)
ไม่บังคับ ความละเอียดของสื่อสำหรับสื่ออินพุต
data
Union type
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
toolCall
object (ToolCall)
การเรียกใช้เครื่องมือฝั่งเซิร์ฟเวอร์ ช่องนี้จะระบุค่าไว้เมื่อโมเดลคาดการณ์การเรียกใช้เครื่องมือที่ควรดำเนินการในเซิร์ฟเวอร์ ไคลเอ็นต์ควรส่งข้อความนี้กลับไปยัง API
toolResponse
object (ToolResponse)
เอาต์พุตจากการเรียกใช้ ToolCall ฝั่งเซิร์ฟเวอร์ ไคลเอ็นต์จะป้อนข้อมูลในช่องนี้ด้วยผลลัพธ์ของการเรียกใช้ ToolCall ที่เกี่ยวข้อง
metadata
Union type
metadata ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นvideoMetadata
object (VideoMetadata)
ไม่บังคับ ข้อมูลเมตาของวิดีโอ ควรระบุข้อมูลเมตาเฉพาะในขณะที่แสดงข้อมูลวิดีโอใน inlineData หรือ fileData
| การแสดง JSON |
|---|
{ "thought": boolean, "thoughtSignature": string, "partMetadata": { object }, "mediaResolution": { object ( |
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 พร้อมอาร์กิวเมนต์และค่าของอาร์กิวเมนต์
id
string
ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันของการเรียกใช้ฟังก์ชัน หากมีการระบุไว้ ไคลเอ็นต์จะดำเนินการ functionCall และส่งคืนการตอบกลับพร้อม id ที่ตรงกัน
name
string
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียกใช้ ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลาง โดยมีความยาวสูงสุด 128
args
object (Struct format)
ไม่บังคับ พารามิเตอร์และค่าของฟังก์ชันในรูปแบบออบเจ็กต์ JSON
| การแสดง JSON |
|---|
{ "id": string, "name": string, "args": { object } } |
FunctionResponse
ระบบจะใช้เอาต์พุตผลลัพธ์จาก FunctionCall ที่มีสตริงซึ่งแสดง FunctionDeclaration.name และออบเจ็กต์ JSON ที่มีโครงสร้างซึ่งมีเอาต์พุตจากฟังก์ชันเป็นบริบทสำหรับโมเดล ซึ่งควรมีผลลัพธ์ของFunctionCallที่สร้างขึ้นตามการคาดการณ์ของโมเดล
id
string
ไม่บังคับ ตัวระบุของการเรียกฟังก์ชันที่การตอบกลับนี้มีไว้สำหรับ ไคลเอ็นต์จะสร้างขึ้นเพื่อให้ตรงกับการเรียกฟังก์ชันที่เกี่ยวข้อง id
name
string
ต้องระบุ ชื่อของฟังก์ชันที่จะเรียกใช้ ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่างและขีดกลาง โดยมีความยาวสูงสุด 128
response
object (Struct format)
ต้องระบุ การตอบกลับของฟังก์ชันในรูปแบบออบเจ็กต์ JSON ผู้โทรสามารถใช้คีย์ใดก็ได้ที่ต้องการซึ่งตรงกับไวยากรณ์ของฟังก์ชันเพื่อแสดงผลลัพธ์ของฟังก์ชัน เช่น "output" "result" เป็นต้น โดยเฉพาะอย่างยิ่ง หากการเรียกฟังก์ชันไม่สำเร็จ การตอบกลับจะมีคีย์ "error" เพื่อแสดงรายละเอียดข้อผิดพลาดต่อโมเดล
parts[]
object (FunctionResponsePart)
ไม่บังคับ Parts ที่เรียงลำดับแล้วซึ่งประกอบกันเป็นคำตอบของฟังก์ชัน ชิ้นส่วนอาจมีประเภท MIME ของ IANA ที่แตกต่างกัน
willContinue
boolean
ไม่บังคับ ส่งสัญญาณว่าการเรียกใช้ฟังก์ชันยังคงดำเนินต่อไป และจะมีการแสดงผลคำตอบเพิ่มเติม ซึ่งจะเปลี่ยนการเรียกใช้ฟังก์ชันให้เป็นเครื่องกำเนิด ใช้ได้กับการเรียกฟังก์ชัน NON_BLOCKING เท่านั้น มิเช่นนั้นระบบจะไม่สนใจ หากตั้งค่าเป็น "เท็จ" ระบบจะไม่พิจารณาคำตอบในอนาคต อนุญาตให้ส่งคืน response ที่ว่างเปล่าพร้อม willContinue=False เพื่อส่งสัญญาณว่าการเรียกใช้ฟังก์ชันเสร็จสิ้นแล้ว ซึ่งอาจยังคงทริกเกอร์การสร้างโมเดล หากต้องการหลีกเลี่ยงการเรียกใช้การสร้างและสิ้นสุดการเรียกใช้ฟังก์ชัน ให้ตั้งค่า scheduling เป็น SILENT เพิ่มเติม
scheduling
enum (Scheduling)
ไม่บังคับ ระบุวิธีกำหนดเวลาการตอบกลับในการสนทนา ใช้ได้กับการเรียกฟังก์ชัน NON_BLOCKING เท่านั้น มิเช่นนั้นระบบจะไม่สนใจ ค่าเริ่มต้นคือ WHEN_IDLE
| การแสดง JSON |
|---|
{ "id": string, "name": string, "response": { object }, "parts": [ { object ( |
FunctionResponsePart
ประเภทข้อมูลที่มีสื่อซึ่งเป็นส่วนหนึ่งของข้อความ FunctionResponse
FunctionResponsePart ประกอบด้วยข้อมูลที่มีประเภทข้อมูลที่เชื่อมโยง FunctionResponsePart จะมีประเภทที่ยอมรับใน FunctionResponsePart.data ได้เพียงประเภทเดียว
FunctionResponsePart ต้องมีประเภท MIME ของ IANA ที่กำหนดไว้ซึ่งระบุประเภทและประเภทย่อยของสื่อ หากมีการป้อนไบต์ดิบในช่อง inlineData
data
Union type
data ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นinlineData
object (FunctionResponseBlob)
ไบต์ของสื่อในบรรทัด
| การแสดง JSON |
|---|
{
// data
"inlineData": {
object ( |
FunctionResponseBlob
ไบต์สื่อดิบสำหรับการตอบกลับฟังก์ชัน
ไม่ควรส่งข้อความเป็นไบต์ดิบ ให้ใช้ช่อง "FunctionResponse.response"
mimeType
string
ประเภท MIME มาตรฐาน IANA ของข้อมูลแหล่งที่มา ตัวอย่าง - image/png - image/jpeg หากระบุประเภท MIME ที่ไม่รองรับ ระบบจะแสดงข้อผิดพลาด ดูรายการประเภทที่รองรับทั้งหมดได้ที่รูปแบบไฟล์ที่รองรับ
data
string (bytes format)
ไบต์ดิบสำหรับรูปแบบสื่อ
สตริงที่เข้ารหัส Base64
| การแสดง JSON |
|---|
{ "mimeType": string, "data": string } |
Scheduling
ระบุวิธีกำหนดเวลาการตอบกลับในการสนทนา
| Enum | |
|---|---|
SCHEDULING_UNSPECIFIED |
ค่านี้ไม่ได้ใช้ |
SILENT |
เพิ่มผลลัพธ์ลงในบริบทการสนทนาเท่านั้น อย่าขัดจังหวะหรือทริกเกอร์การสร้าง |
WHEN_IDLE |
เพิ่มผลลัพธ์ลงในบริบทการสนทนา แล้วป้อนพรอมต์เพื่อสร้างเอาต์พุตโดยไม่ขัดจังหวะการสร้างที่กำลังดำเนินการอยู่ |
INTERRUPT |
เพิ่มผลลัพธ์ลงในบริบทของการสนทนา ขัดจังหวะการสร้างที่กำลังดำเนินการอยู่ และแจ้งให้สร้างเอาต์พุต |
FileData
ข้อมูลที่อิงตาม URI
mimeType
string
ไม่บังคับ ประเภท MIME มาตรฐาน IANA ของข้อมูลแหล่งที่มา
fileUri
string
ต้องระบุ URI
| การแสดง JSON |
|---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
โค้ดที่โมเดลสร้างขึ้นซึ่งมีไว้เพื่อดำเนินการ และผลลัพธ์ที่ส่งคืนไปยังโมเดล
สร้างขึ้นเมื่อใช้เครื่องมือ CodeExecution เท่านั้น ซึ่งระบบจะเรียกใช้โค้ดโดยอัตโนมัติ และจะสร้าง CodeExecutionResult ที่เกี่ยวข้องด้วย
id
string
ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันของส่วน ExecutableCode เซิร์ฟเวอร์จะแสดงผล CodeExecutionResult พร้อมกับ id ที่ตรงกัน
language
enum (Language)
ต้องระบุ ภาษาโปรแกรมของ code
code
string
ต้องระบุ โค้ดที่จะดำเนินการ
| การแสดง JSON |
|---|
{
"id": string,
"language": enum ( |
ภาษา
ภาษาโปรแกรมที่รองรับสำหรับโค้ดที่สร้างขึ้น
| Enum | |
|---|---|
LANGUAGE_UNSPECIFIED |
ไม่ได้ระบุภาษา ไม่ควรใช้ค่านี้ |
PYTHON |
Python >= 3.10 พร้อมใช้งาน numpy และ simpy Python เป็นภาษาเริ่มต้น |
CodeExecutionResult
ผลลัพธ์ของการเรียกใช้ ExecutableCode
สร้างขึ้นเมื่อใช้เครื่องมือ CodeExecution เท่านั้น
id
string
ไม่บังคับ ตัวระบุของชิ้นส่วน ExecutableCode ที่ผลลัพธ์นี้เกี่ยวข้อง ระบบจะป้อนข้อมูลเฉพาะในกรณีที่ ExecutableCode ที่เกี่ยวข้องมีรหัส
outcome
enum (Outcome)
ต้องระบุ ผลลัพธ์ของการเรียกใช้โค้ด
output
string
ไม่บังคับ มี stdout เมื่อการดำเนินการโค้ดสำเร็จ, stderr หรือคำอธิบายอื่นๆ ในกรณีที่ไม่สำเร็จ
| การแสดง JSON |
|---|
{
"id": string,
"outcome": enum ( |
ผลลัพธ์
การแจงนับผลลัพธ์ที่เป็นไปได้ของการเรียกใช้โค้ด
| Enum | |
|---|---|
OUTCOME_UNSPECIFIED |
สถานะที่ไม่ได้ระบุ ไม่ควรใช้ค่านี้ |
OUTCOME_OK |
การดำเนินการกับโค้ดเสร็จสมบูรณ์แล้ว output มี stdout หากมี |
OUTCOME_FAILED |
การเรียกใช้โค้ดไม่สำเร็จ output มี stderr และ stdout หากมี |
OUTCOME_DEADLINE_EXCEEDED |
ระบบยกเลิกการดำเนินการโค้ดเนื่องจากใช้เวลานานเกินไป อาจมีหรือไม่มีoutputบางส่วนก็ได้ |
ToolCall
ToolCallที่คาดการณ์ไว้ฝั่งเซิร์ฟเวอร์ซึ่งส่งคืนจากโมเดล ข้อความนี้มีข้อมูลเกี่ยวกับเครื่องมือที่โมเดลต้องการเรียกใช้ ไม่คาดหวังให้ไคลเอ็นต์ดำเนินการ ToolCall นี้ แต่ไคลเอ็นต์ควรส่ง ToolCall นี้กลับไปยัง API ในรอบถัดไปภายในข้อความ Content พร้อมกับ ToolResponse ที่เกี่ยวข้อง
id
string
ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันของการเรียกใช้เครื่องมือ เซิร์ฟเวอร์จะแสดงการตอบกลับของเครื่องมือพร้อมกับ id ที่ตรงกัน
toolType
enum (ToolType)
ต้องระบุ ประเภทของเครื่องมือที่เรียกใช้
args
object (Struct format)
ไม่บังคับ อาร์กิวเมนต์การเรียกใช้เครื่องมือ ตัวอย่าง: {"arg1" : "value1", "arg2" : "value2" , ...}
| การแสดง JSON |
|---|
{
"id": string,
"toolType": enum ( |
ToolType
ประเภทเครื่องมือในการเรียกใช้ฟังก์ชัน
| Enum | |
|---|---|
TOOL_TYPE_UNSPECIFIED |
ประเภทเครื่องมือที่ไม่ได้ระบุ |
GOOGLE_SEARCH_WEB |
เครื่องมือค้นหาของ Google จะแมปกับ Tool.google_search.search_types.web_search |
GOOGLE_SEARCH_IMAGE |
เครื่องมือค้นหารูปภาพ ซึ่งแมปกับ Tool.google_search.search_types.image_search |
URL_CONTEXT |
เครื่องมือบริบท URL ซึ่งแมปกับ Tool.url_context |
GOOGLE_MAPS |
เครื่องมือ Google Maps, แผนที่ไปยัง Tool.google_maps |
FILE_SEARCH |
เครื่องมือค้นหาไฟล์ ซึ่งแมปกับ Tool.file_search |
ToolResponse
เอาต์พุตจากการเรียกใช้ ToolCall ฝั่งเซิร์ฟเวอร์ ข้อความนี้มีผลลัพธ์ของการเรียกใช้เครื่องมือที่ToolCallเริ่มต้นจากโมเดล ไคลเอ็นต์ควรส่ง ToolResponse นี้กลับไปยัง API ในรอบถัดไปภายในข้อความ Content พร้อมกับ ToolCall ที่เกี่ยวข้อง
id
string
ไม่บังคับ ตัวระบุของการเรียกใช้เครื่องมือที่การตอบกลับนี้มีไว้สำหรับ
toolType
enum (ToolType)
ต้องระบุ ประเภทเครื่องมือที่เรียกใช้ ซึ่งตรงกับ toolType ใน ToolCall ที่เกี่ยวข้อง
response
object (Struct format)
ไม่บังคับ คำตอบของเครื่องมือ
| การแสดง JSON |
|---|
{
"id": string,
"toolType": enum ( |
VideoMetadata
เลิกใช้งานแล้ว: โปรดใช้ GenerateContentRequest.processing_options แทน ข้อมูลเมตาจะอธิบายเนื้อหาวิดีโอที่ป้อน
startOffset
string (Duration format)
ไม่บังคับ ออฟเซ็ตเริ่มต้นของวิดีโอ
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
endOffset
string (Duration format)
ไม่บังคับ ออฟเซ็ตสิ้นสุดของวิดีโอ
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
fps
number
ไม่บังคับ อัตราเฟรมของวิดีโอที่ส่งไปยังโมเดล หากไม่ได้ระบุ ค่าเริ่มต้นจะเป็น 1.0 ช่วง FPS คือ (0.0, 24.0]
| การแสดง JSON |
|---|
{ "startOffset": string, "endOffset": string, "fps": number } |
MediaResolution
ระดับ
ระดับความละเอียดของสื่อ
| Enum | |
|---|---|
MEDIA_RESOLUTION_UNSPECIFIED |
ยังไม่ได้ตั้งค่าความละเอียดของสื่อ |
MEDIA_RESOLUTION_LOW |
ตั้งค่าความละเอียดของสื่อเป็นต่ำ |
MEDIA_RESOLUTION_MEDIUM |
ตั้งค่าความละเอียดของสื่อเป็นปานกลาง |
MEDIA_RESOLUTION_HIGH |
ตั้งค่าความละเอียดของสื่อเป็นสูง |
MEDIA_RESOLUTION_ULTRA_HIGH |
ตั้งค่าความละเอียดของสื่อเป็นสูงพิเศษ |
เครื่องมือ
รายละเอียดเครื่องมือที่โมเดลอาจใช้เพื่อสร้างคำตอบ
Toolคือโค้ดที่ช่วยให้ระบบโต้ตอบกับระบบภายนอกเพื่อดำเนินการหรือชุดการดำเนินการนอกเหนือจากความรู้และขอบเขตของโมเดล
รหัสถัดไป: 15
functionDeclarations[]
object (FunctionDeclaration)
ไม่บังคับ รายการ FunctionDeclarations ที่พร้อมใช้งานสำหรับโมเดลที่ใช้สำหรับการเรียกใช้ฟังก์ชัน
โมเดลหรือระบบไม่ดำเนินการฟังก์ชัน แต่ระบบอาจแสดงผลฟังก์ชันที่กำหนดเป็น FunctionCall พร้อมอาร์กิวเมนต์ไปยังฝั่งไคลเอ็นต์เพื่อดำเนินการแทน โมเดลอาจตัดสินใจเรียกใช้ฟังก์ชันย่อยเหล่านี้โดยการป้อนข้อมูล FunctionCall ในการตอบกลับ การสนทนาครั้งถัดไปอาจมี FunctionResponse พร้อมบริบทการสร้าง Content.role "ฟังก์ชัน" สำหรับการสนทนาครั้งถัดไปของโมเดล
googleSearchRetrieval
object (GoogleSearchRetrieval)
ไม่บังคับ เครื่องมือดึงข้อมูลที่ขับเคลื่อนโดย Google Search
codeExecution
object (CodeExecution)
ไม่บังคับ ช่วยให้โมเดลสามารถเรียกใช้โค้ดเป็นส่วนหนึ่งของการสร้าง
googleSearch
object (GoogleSearch)
ไม่บังคับ ประเภทเครื่องมือ GoogleSearch เครื่องมือที่รองรับ Google Search ในโมเดล ขับเคลื่อนโดย Google
computerUse
object (ComputerUse)
ไม่บังคับ เครื่องมือที่รองรับโมเดลที่โต้ตอบกับคอมพิวเตอร์โดยตรง หากเปิดใช้ ระบบจะสร้างประกาศฟังก์ชันที่เฉพาะเจาะจงสำหรับการใช้งานคอมพิวเตอร์โดยอัตโนมัติ
urlContext
object (UrlContext)
ไม่บังคับ เครื่องมือที่รองรับการดึงข้อมูลบริบทของ URL
fileSearch
object (FileSearch)
ไม่บังคับ ประเภทเครื่องมือ FileSearch เครื่องมือดึงข้อมูลความรู้จากคลังข้อมูลการดึงข้อมูลเชิงความหมาย
mcpServers[]
object (McpServer)
ไม่บังคับ เซิร์ฟเวอร์ MCP ที่จะเชื่อมต่อ
googleMaps
object (GoogleMaps)
ไม่บังคับ เครื่องมือที่ช่วยให้สามารถอ้างอิงคำตอบของโมเดลกับบริบทเชิงพื้นที่ที่เกี่ยวข้องกับคำค้นหาของผู้ใช้
| การแสดง JSON |
|---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
การแสดงการประกาศฟังก์ชันที่มีโครงสร้างตามที่กำหนดโดยข้อกำหนด OpenAPI 3.03 โดยการประกาศนี้จะรวมชื่อฟังก์ชันและพารามิเตอร์ FunctionDeclaration คือการแสดงบล็อกโค้ดที่โมเดลใช้เป็น Tool และไคลเอ็นต์ดำเนินการได้
name
string
ต้องระบุ ชื่อฟังก์ชัน ต้องเป็น a-z, A-Z, 0-9 หรือมีขีดล่าง โคลอน จุด และขีดกลาง โดยมีความยาวสูงสุด 128 อักขระ
description
string
ต้องระบุ คำอธิบายสั้นๆ ของฟังก์ชัน
behavior
enum (Behavior)
ไม่บังคับ ระบุลักษณะการทำงานของฟังก์ชัน ปัจจุบันรองรับเฉพาะเมธอด BidiGenerateContent
parameters
object (Schema)
ไม่บังคับ อธิบายพารามิเตอร์ของฟังก์ชันนี้ แสดงคีย์สตริงของออบเจ็กต์พารามิเตอร์ Open API 3.03: ชื่อของพารามิเตอร์ ชื่อพารามิเตอร์จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ค่าสคีมา: สคีมาที่กำหนดประเภทที่ใช้สำหรับพารามิเตอร์
parametersJsonSchema
value (Value format)
ไม่บังคับ อธิบายพารามิเตอร์ของฟังก์ชันในรูปแบบสคีมา JSON สคีมาต้องอธิบายออบเจ็กต์ที่พร็อพเพอร์ตี้เป็นพารามิเตอร์ของฟังก์ชัน เช่น
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"additionalProperties": false,
"required": ["name", "age"],
"propertyOrdering": ["name", "age"]
}
ฟิลด์นี้ใช้กับ parameters ไม่ได้
response
object (Schema)
ไม่บังคับ อธิบายเอาต์พุตจากฟังก์ชันนี้ในรูปแบบ JSON Schema แสดงออบเจ็กต์การตอบกลับของ Open API 3.03 สคีมาจะกำหนดประเภทที่ใช้สำหรับค่าการตอบกลับของฟังก์ชัน
responseJsonSchema
value (Value format)
ไม่บังคับ อธิบายเอาต์พุตจากฟังก์ชันนี้ในรูปแบบ JSON Schema ค่าที่ระบุโดยสคีมาคือค่าการตอบกลับของฟังก์ชัน
ฟิลด์นี้ใช้กับ response ไม่ได้
สคีมา
ออบเจ็กต์ Schema ช่วยให้กำหนดประเภทข้อมูลอินพุตและเอาต์พุตได้ ประเภทเหล่านี้อาจเป็นออบเจ็กต์ แต่ก็อาจเป็นค่าดั้งเดิมและอาร์เรย์ได้เช่นกัน แสดงถึงชุดย่อยที่เลือกของออบเจ็กต์สคีมา OpenAPI 3.0
type
enum (Type)
ต้องระบุ ประเภทข้อมูล
format
string
ไม่บังคับ รูปแบบของข้อมูล อนุญาตให้ใช้ค่าใดก็ได้ แต่ส่วนใหญ่จะไม่ทริกเกอร์ฟังก์ชันพิเศษใดๆ
title
string
ไม่บังคับ ชื่อของสคีมา
description
string
ไม่บังคับ คำอธิบายพารามิเตอร์โดยย่อ ซึ่งอาจมีตัวอย่างการใช้งาน คำอธิบายพารามิเตอร์อาจจัดรูปแบบเป็นมาร์กดาวน์
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
minProperties
string (int64 format)
ไม่บังคับ จำนวนพร็อพเพอร์ตี้ขั้นต่ำสำหรับ Type.OBJECT
maxProperties
string (int64 format)
ไม่บังคับ จำนวนพร็อพเพอร์ตี้สูงสุดสำหรับ Type.OBJECT
minLength
string (int64 format)
ไม่บังคับ ฟิลด์สคีมาสำหรับประเภทสตริง ความยาวขั้นต่ำของ Type.STRING
maxLength
string (int64 format)
ไม่บังคับ ความยาวสูงสุดของ Type.STRING
pattern
string
ไม่บังคับ รูปแบบของ Type.STRING เพื่อจำกัดสตริงให้นิพจน์ทั่วไป
example
value (Value format)
ไม่บังคับ ตัวอย่างออบเจ็กต์ จะมีการป้อนข้อมูลเมื่อออบเจ็กต์เป็นรูทเท่านั้น
anyOf[]
object (Schema)
ไม่บังคับ ค่าควรได้รับการตรวจสอบกับสคีมาย่อย (อย่างน้อย 1 รายการ) ในรายการ
propertyOrdering[]
string
ไม่บังคับ ลำดับของพร็อพเพอร์ตี้ ไม่ใช่ฟิลด์มาตรฐานในข้อกำหนดของ Open API ใช้เพื่อกำหนดลำดับของพร็อพเพอร์ตี้ในการตอบกลับ
default
value (Value format)
ไม่บังคับ ค่าเริ่มต้นของช่อง ตามสคีมา JSON ฟิลด์นี้มีไว้สำหรับเครื่องมือสร้างเอกสารและไม่มีผลต่อการตรวจสอบ ดังนั้น เราจึงรวมไว้ที่นี่และละเว้นเพื่อให้ผู้พัฒนาที่ส่งสคีมาที่มีฟิลด์ default ไม่ได้รับข้อผิดพลาดเกี่ยวกับฟิลด์ที่ไม่รู้จัก
items
object (Schema)
ไม่บังคับ สคีมาขององค์ประกอบของ Type.ARRAY
minimum
number
ไม่บังคับ ฟิลด์สคีมาสำหรับประเภทจำนวนเต็มและตัวเลข ค่าต่ำสุดของ Type.INTEGER และ Type.NUMBER
maximum
number
ไม่บังคับ ค่าสูงสุดของ Type.INTEGER และ Type.NUMBER
| การแสดง JSON |
|---|
{ "type": enum ( |
ประเภท
ประเภทประกอบด้วยรายการประเภทข้อมูล OpenAPI ตามที่กำหนดโดย https://spec.openapis.org/oas/v3.0.3#data-types
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
ไม่ควรใช้เนื่องจากไม่ได้ระบุ |
STRING |
ประเภทสตริง |
NUMBER |
ประเภทหมายเลข |
INTEGER |
ประเภทจำนวนเต็ม |
BOOLEAN |
ประเภทบูลีน |
ARRAY |
ประเภทอาร์เรย์ |
OBJECT |
ประเภทออบเจ็กต์ |
NULL |
ประเภท Null |
พฤติกรรม
กำหนดลักษณะการทำงานของฟังก์ชัน ค่าเริ่มต้นคือ BLOCKING
| Enum | |
|---|---|
UNSPECIFIED |
ค่านี้ไม่ได้ใช้ |
BLOCKING |
หากตั้งค่าไว้ ระบบจะรอรับการตอบกลับฟังก์ชันก่อนที่จะสนทนาต่อ |
NON_BLOCKING |
หากตั้งค่าไว้ ระบบจะไม่รอรับการตอบกลับของฟังก์ชัน แต่จะพยายามจัดการคำตอบของฟังก์ชันเมื่อพร้อมใช้งานในขณะที่ยังคงการสนทนาระหว่างผู้ใช้กับโมเดล |
GoogleSearchRetrieval
เครื่องมือดึงข้อมูลเว็บสาธารณะเพื่อการอ้างอิง ซึ่งขับเคลื่อนโดย Google
dynamicRetrievalConfig
object (DynamicRetrievalConfig)
ระบุการกำหนดค่าการดึงข้อมูลแบบไดนามิกสำหรับแหล่งที่มาที่ระบุ
| การแสดง JSON |
|---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
โหมด
โหมดของตัวทำนายที่จะใช้ในการดึงข้อมูลแบบไดนามิก
| Enum | |
|---|---|
MODE_UNSPECIFIED |
ทริกเกอร์การดึงข้อมูลเสมอ |
MODE_DYNAMIC |
เรียกใช้การดึงข้อมูลเมื่อระบบพิจารณาว่าจำเป็นเท่านั้น |
CodeExecution
ประเภทนี้ไม่มีฟิลด์
เครื่องมือที่เรียกใช้โค้ดที่โมเดลสร้างขึ้น และส่งคืนผลลัพธ์ไปยังโมเดลโดยอัตโนมัติ
ดูExecutableCodeและCodeExecutionResultด้วย ซึ่งจะสร้างขึ้นเมื่อใช้เครื่องมือนี้เท่านั้น
GoogleSearch
ประเภทเครื่องมือ GoogleSearch เครื่องมือที่รองรับ Google Search ในโมเดล ขับเคลื่อนโดย Google
timeRangeFilter
object (Interval)
ไม่บังคับ กรองผลการค้นหาตามช่วงเวลาที่เฉพาะเจาะจง หากลูกค้าตั้งค่าเวลาเริ่มต้น ก็ต้องตั้งค่าเวลาสิ้นสุดด้วย (และในทางกลับกัน)
searchTypes
object (SearchTypes)
ไม่บังคับ ชุดประเภทการค้นหาที่จะเปิดใช้ หากไม่ได้ตั้งค่าไว้ ระบบจะเปิดใช้การค้นเว็บโดยค่าเริ่มต้น
| การแสดง JSON |
|---|
{ "timeRangeFilter": { object ( |
ช่วงเวลา
แสดงช่วงเวลาที่เข้ารหัสเป็นเวลาเริ่มต้นของการประทับเวลา (รวม) และเวลาสิ้นสุดของการประทับเวลา (ไม่รวม)
ค่าเริ่มต้นต้องน้อยกว่าหรือเท่ากับค่าสิ้นสุด เมื่อเวลาเริ่มต้นเท่ากับเวลาสิ้นสุด ช่วงเวลาจะว่างเปล่า (ไม่ตรงกับเวลาใดๆ) เมื่อไม่ได้ระบุทั้งจุดเริ่มต้นและจุดสิ้นสุด ช่วงเวลาจะตรงกับเวลาใดก็ได้
startTime
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"
endTime
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"
| การแสดง JSON |
|---|
{ "startTime": string, "endTime": string } |
SearchTypes
ประเภทการค้นหาต่างๆ ที่เปิดใช้ได้ในเครื่องมือ GoogleSearch
webSearch
object (WebSearch)
ไม่บังคับ เปิดใช้การค้นเว็บ ระบบจะแสดงเฉพาะผลการค้นหาที่เป็นข้อความ
imageSearch
object (ImageSearch)
ไม่บังคับ เปิดใช้การค้นหารูปภาพ ระบบจะแสดงไบต์ของรูปภาพ
| การแสดง JSON |
|---|
{ "webSearch": { object ( |
WebSearch
ประเภทนี้ไม่มีฟิลด์
การค้นหาเว็บมาตรฐานสำหรับการอ้างอิงและการกำหนดค่าที่เกี่ยวข้อง
ImageSearch
ประเภทนี้ไม่มีฟิลด์
การค้นหารูปภาพสำหรับการอ้างอิงและการกำหนดค่าที่เกี่ยวข้อง
ComputerUse
ประเภทเครื่องมือการใช้งานคอมพิวเตอร์
environment
enum (Environment)
ต้องระบุ สภาพแวดล้อมที่ดำเนินการ
excludedPredefinedFunctions[]
string
ไม่บังคับ โดยค่าเริ่มต้น ระบบจะรวมฟังก์ชันที่กำหนดไว้ล่วงหน้าไว้ในการเรียกโมเดลสุดท้าย คุณสามารถยกเว้นบางรายการอย่างชัดเจนไม่ให้รวมโดยอัตโนมัติได้ ซึ่งมีวัตถุประสงค์ 2 ประการ ได้แก่ 1. ใช้พื้นที่การดำเนินการที่จำกัดมากขึ้น / แตกต่างกัน 2. ปรับปรุงคำจำกัดความ / วิธีการของฟังก์ชันที่กำหนดไว้ล่วงหน้า
| การแสดง JSON |
|---|
{
"environment": enum ( |
สภาพแวดล้อม
แสดงถึงสภาพแวดล้อมที่กำลังดำเนินการ เช่น เว็บเบราว์เซอร์
| Enum | |
|---|---|
ENVIRONMENT_UNSPECIFIED |
ค่าเริ่มต้นคือเบราว์เซอร์ |
ENVIRONMENT_BROWSER |
ทำงานในเว็บเบราว์เซอร์ |
UrlContext
ประเภทนี้ไม่มีฟิลด์
เครื่องมือที่รองรับการดึงข้อมูลบริบทของ URL
FileSearch
เครื่องมือ FileSearch ที่ดึงความรู้จากคลังข้อมูลการดึงข้อมูลเชิงความหมาย ระบบจะนำเข้าไฟล์ไปยังคลังข้อมูลการดึงข้อมูลเชิงความหมายโดยใช้ ImportFile API
fileSearchStoreNames[]
string
ต้องระบุ ชื่อของ FileSearchStore ที่จะดึงข้อมูล ตัวอย่าง: fileSearchStores/my-file-search-store-123
metadataFilter
string
ไม่บังคับ ตัวกรองข้อมูลเมตาที่จะใช้กับเอกสารและการแบ่งกลุ่มการดึงข้อมูลเชิงความหมาย
topK
integer
ไม่บังคับ จำนวนกลุ่มการดึงข้อมูลเชิงความหมายที่จะดึงข้อมูล
| การแสดง JSON |
|---|
{ "fileSearchStoreNames": [ string ], "metadataFilter": string, "topK": integer } |
McpServer
MCPServer คือเซิร์ฟเวอร์ที่โมเดลเรียกใช้เพื่อดำเนินการได้ ซึ่งเป็นเซิร์ฟเวอร์ที่ใช้โปรโตคอล MCP รหัสถัดไป: 5
name
string
ชื่อของ MCPServer
transport
Union type
transport ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นstreamableHttpTransport
object (StreamableHttpTransport)
การรับส่งข้อมูลที่สตรีมคำขอและการตอบกลับ HTTP ได้
| การแสดง JSON |
|---|
{
"name": string,
// transport
"streamableHttpTransport": {
object ( |
StreamableHttpTransport
การรับส่งข้อมูลที่สตรีมคำขอและการตอบกลับ HTTP ได้ รหัสถัดไป: 6
url
string
URL แบบเต็มสำหรับปลายทาง MCPServer ตัวอย่างเช่น "https://api.example.com/mcp"
headers
map (key: string, value: string)
ไม่บังคับ: ช่องสำหรับส่วนหัวการตรวจสอบสิทธิ์ การหมดเวลา ฯลฯ หากจำเป็น
ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }
timeout
string (Duration format)
หมดเวลา HTTP สำหรับการดำเนินการปกติ
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
sseReadTimeout
string (Duration format)
การหมดเวลาสำหรับการดำเนินการอ่าน SSE
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
terminateOnClose
boolean
จะปิดเซสชันไคลเอ็นต์เมื่อปิดการรับส่งหรือไม่
| การแสดง JSON |
|---|
{ "url": string, "headers": { string: string, ... }, "timeout": string, "sseReadTimeout": string, "terminateOnClose": boolean } |
GoogleMaps
เครื่องมือ GoogleMaps ที่ให้บริบทเชิงพื้นที่สำหรับคำค้นหาของผู้ใช้
enableWidget
boolean
ไม่บังคับ ระบุว่าจะแสดงโทเค็นบริบทของวิดเจ็ตใน GroundingMetadata ของการตอบกลับหรือไม่ นักพัฒนาแอปสามารถใช้โทเค็นบริบทของวิดเจ็ตเพื่อแสดงวิดเจ็ต Google Maps ที่มีบริบทเชิงพื้นที่ที่เกี่ยวข้องกับสถานที่ที่โมเดลอ้างอิงในคำตอบ
| การแสดง JSON |
|---|
{ "enableWidget": boolean } |
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
ออบเจ็กต์ที่แสดงคู่ละติจูด/ลองจิจูด โดยจะแสดงเป็นคู่ของ Double เพื่อแสดงองศาละติจูดและองศาลองจิจูด ออบเจ็กต์นี้ต้องเป็นไปตาม มาตรฐาน WGS84 เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าต้องอยู่ในช่วงที่ทำให้เป็นปกติ
latitude
number
ละติจูดเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]
longitude
number
ลองจิจูดเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
ข้อมูลเมตาเกี่ยวกับการใช้งานเนื้อหาที่แคชไว้
totalTokenCount
integer
จำนวนโทเค็นทั้งหมดที่เนื้อหาที่แคชใช้
| การแสดง JSON |
|---|
{ "totalTokenCount": integer } |