Gemini API รองรับโหมดแบตช์ ซึ่งช่วยให้คุณประมวลผลคำขอหลายรายการในการเรียกใช้ครั้งเดียวได้ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือโหมดเป็นชุด
เมธอด: models.batchGenerateContent
จัดคิวคำขอ models.generateContent เป็นกลุ่มเพื่อการประมวลผลแบบกลุ่ม
ปลายทาง
posthttps:
พารามิเตอร์เส้นทาง
batch.model
string
ต้องระบุ ชื่อของ Model ที่จะใช้ในการสร้างข้อความเติม
รูปแบบ: models/{model} ซึ่งจะอยู่ในรูปแบบ models/{model}
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
batch.name
string
เอาต์พุตเท่านั้น ตัวระบุ ชื่อทรัพยากรของกลุ่ม
รูปแบบ: batches/{batch_id}
batch.displayName
string
ต้องระบุ ชื่อที่ผู้ใช้กำหนดของกลุ่มนี้
batch.inputConfig
object (InputConfig)
ต้องระบุ การกำหนดค่าอินพุตของอินสแตนซ์ที่ใช้ประมวลผลแบบเป็นชุด
batch.output
object (GenerateContentBatchOutput)
เอาต์พุตเท่านั้น เอาต์พุตของคำขอแบบกลุ่ม
batch.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"
batch.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"
batch.updateTime
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"
batch.batchStats
object (BatchStats)
เอาต์พุตเท่านั้น สถิติเกี่ยวกับแบทช์
batch.state
enum (BatchState)
เอาต์พุตเท่านั้น สถานะของกลุ่ม
batch.priority
string (int64 format)
ไม่บังคับ ลำดับความสำคัญของกลุ่ม ระบบจะประมวลผลกลุ่มที่มีค่าลำดับความสำคัญสูงกว่าก่อนกลุ่มที่มีค่าลำดับความสำคัญต่ำกว่า อนุญาตให้ใช้ค่าลบได้ ค่าเริ่มต้นคือ 0
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
GenerateContentRequest
ขอให้โมเดลสร้างข้อความที่สมบูรณ์
model
string
ต้องระบุ ชื่อของ Model ที่จะใช้ในการสร้างข้อความเติม
รูปแบบ: models/{model}
tools[]
object (Tool)
ไม่บังคับ รายการToolsที่Modelอาจใช้เพื่อสร้างคำตอบถัดไป
Tool คือโค้ดที่ช่วยให้ระบบโต้ตอบกับระบบภายนอกเพื่อดำเนินการหรือชุดการดำเนินการนอกเหนือจากความรู้และขอบเขตของ Model Tool ที่รองรับคือ Function และ codeExecution ดูข้อมูลเพิ่มเติมได้ที่คู่มือการเรียกใช้ฟังก์ชันและการเรียกใช้โค้ด
toolConfig
object (ToolConfig)
ไม่บังคับ การกำหนดค่าเครื่องมือสำหรับToolที่ระบุในคำขอ ดูตัวอย่างการใช้งานได้ที่คำแนะนำในการเรียกใช้ฟังก์ชัน
safetySettings[]
object (SafetySetting)
ไม่บังคับ รายการSafetySettingอินสแตนซ์ที่ไม่ซ้ำกันสำหรับการบล็อกเนื้อหาที่ไม่ปลอดภัย
โดยจะมีผลบังคับใช้ในวันที่ GenerateContentRequest.contents และ GenerateContentResponse.candidates ไม่ควรมีการตั้งค่ามากกว่า 1 รายการสำหรับSafetyCategory แต่ละประเภท API จะบล็อกเนื้อหาและการตอบกลับที่ไม่เป็นไปตามเกณฑ์ที่กำหนดโดยการตั้งค่าเหล่านี้ รายการนี้จะลบล้างการตั้งค่าเริ่มต้นสำหรับแต่ละรายการที่SafetyCategoryระบุไว้ใน safetySettings หากไม่มี SafetySetting สำหรับ SafetyCategory ที่ระบุในรายการ API จะใช้การตั้งค่าความปลอดภัยเริ่มต้นสำหรับหมวดหมู่นั้น ระบบรองรับหมวดหมู่ที่เป็นอันตราย HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY ดูข้อมูลโดยละเอียดเกี่ยวกับการตั้งค่าความปลอดภัยที่มีได้ในคำแนะนำ นอกจากนี้ โปรดดูคำแนะนำด้านความปลอดภัยเพื่อดูวิธีรวมข้อควรพิจารณาด้านความปลอดภัยในแอปพลิเคชัน AI
systemInstruction
object (Content)
ไม่บังคับ นักพัฒนาแอปตั้งค่าคำสั่งของระบบ ปัจจุบันมีเฉพาะข้อความ
generationConfig
object (GenerationConfig)
ไม่บังคับ ตัวเลือกการกำหนดค่าสำหรับการสร้างโมเดลและเอาต์พุต
cachedContent
string
ไม่บังคับ ชื่อของเนื้อหาที่แคชไว้เพื่อใช้เป็นบริบทในการแสดงผลการคาดคะเน รูปแบบ: cachedContents/{cachedContent}
| การแสดง JSON | 
|---|
| { "model": string, "contents": [ { object ( | 
GenerateContentBatch
- การแสดง JSON
- InputConfig
- InlinedRequests
- InlinedRequest
- GenerateContentBatchOutput
- InlinedResponses
- InlinedResponse
- BatchStats
- BatchState
ทรัพยากรที่แสดงถึงคำขอ GenerateContent แบบกลุ่ม
model
string
ต้องระบุ ชื่อของ Model ที่จะใช้ในการสร้างข้อความเติม
รูปแบบ: models/{model}
name
string
เอาต์พุตเท่านั้น ตัวระบุ ชื่อทรัพยากรของกลุ่ม
รูปแบบ: batches/{batch_id}
displayName
string
ต้องระบุ ชื่อที่ผู้ใช้กำหนดของกลุ่มนี้
inputConfig
object (InputConfig)
ต้องระบุ การกำหนดค่าอินพุตของอินสแตนซ์ที่ใช้ประมวลผลแบบเป็นชุด
output
object (GenerateContentBatchOutput)
เอาต์พุตเท่านั้น เอาต์พุตของคำขอแบบกลุ่ม
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"
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"
updateTime
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"
batchStats
object (BatchStats)
เอาต์พุตเท่านั้น สถิติเกี่ยวกับแบทช์
state
enum (BatchState)
เอาต์พุตเท่านั้น สถานะของกลุ่ม
priority
string (int64 format)
ไม่บังคับ ลำดับความสำคัญของกลุ่ม ระบบจะประมวลผลกลุ่มที่มีค่าลำดับความสำคัญสูงกว่าก่อนกลุ่มที่มีค่าลำดับความสำคัญต่ำกว่า อนุญาตให้ใช้ค่าลบได้ ค่าเริ่มต้นคือ 0
| การแสดง JSON | 
|---|
| { "model": string, "name": string, "displayName": string, "inputConfig": { object ( | 
InputConfig
กำหนดค่าอินพุตสำหรับคำขอแบบกลุ่ม
source
Union type
source ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นfileName
string
ชื่อของ File ที่มีคำขออินพุต
requests
object (InlinedRequests)
คำขอที่จะประมวลผลในกลุ่ม
| การแสดง JSON | 
|---|
| {
  // source
  "fileName": string,
  "requests": {
    object ( | 
InlinedRequests
คำขอที่จะประมวลผลในกลุ่มหากระบุเป็นส่วนหนึ่งของคำขอสร้างกลุ่ม
requests[]
object (InlinedRequest)
ต้องระบุ คำขอที่จะประมวลผลในกลุ่ม
| การแสดง JSON | 
|---|
| {
  "requests": [
    {
      object ( | 
InlinedRequest
คำขอที่จะประมวลผลในกลุ่ม
request
object (GenerateContentRequest)
ต้องระบุ คำขอที่จะประมวลผลในกลุ่ม
metadata
object (Struct format)
ไม่บังคับ ข้อมูลเมตาที่จะเชื่อมโยงกับคำขอ
| การแสดง JSON | 
|---|
| {
  "request": {
    object ( | 
GenerateContentBatchOutput
เอาต์พุตของคำขอแบบกลุ่ม โดยจะแสดงใน BatchGenerateContentResponse หรือฟิลด์ GenerateContentBatch.output
output
Union type
output ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นresponsesFile
string
เอาต์พุตเท่านั้น รหัสไฟล์ของไฟล์ที่มีคำตอบ ไฟล์จะเป็นไฟล์ JSONL ที่มีคำตอบเดียวต่อบรรทัด การตอบกลับจะเป็นข้อความ GenerateContentResponse ที่จัดรูปแบบเป็น JSON คำตอบจะเขียนตามลำดับเดียวกับคำขอที่ป้อน
inlinedResponses
object (InlinedResponses)
เอาต์พุตเท่านั้น คำตอบสำหรับคำขอในกลุ่ม แสดงผลเมื่อสร้างกลุ่มโดยใช้คำขอแบบอินไลน์ การตอบกลับจะอยู่ในลำดับเดียวกับคำขออินพุต
| การแสดง JSON | 
|---|
| {
  // output
  "responsesFile": string,
  "inlinedResponses": {
    object ( | 
InlinedResponses
คำตอบสำหรับคำขอในกลุ่ม
inlinedResponses[]
object (InlinedResponse)
เอาต์พุตเท่านั้น คำตอบสำหรับคำขอในกลุ่ม
| การแสดง JSON | 
|---|
| {
  "inlinedResponses": [
    {
      object ( | 
InlinedResponse
การตอบกลับคำขอเดียวในกลุ่ม
metadata
object (Struct format)
เอาต์พุตเท่านั้น ข้อมูลเมตาที่เชื่อมโยงกับคำขอ
output
Union type
output ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นerror
object (Status)
เอาต์พุตเท่านั้น ข้อผิดพลาดที่พบขณะประมวลผลคำขอ
response
object (GenerateContentResponse)
เอาต์พุตเท่านั้น การตอบกลับคำขอ
| การแสดง JSON | 
|---|
| { "metadata": { object }, // output "error": { object ( | 
BatchStats
สถิติเกี่ยวกับแบทช์
requestCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนคำขอในกลุ่ม
successfulRequestCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนคำขอที่ประมวลผลสำเร็จ
failedRequestCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนคำขอที่ประมวลผลไม่สำเร็จ
pendingRequestCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนคำขอที่ยังคงรอดำเนินการ
| การแสดง JSON | 
|---|
| { "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } | 
BatchState
สถานะของกลุ่ม
| Enum | |
|---|---|
| BATCH_STATE_UNSPECIFIED | ไม่ได้ระบุสถานะของกลุ่ม | 
| BATCH_STATE_PENDING | บริการกำลังเตรียมที่จะเรียกใช้ชุด | 
| BATCH_STATE_RUNNING | การประมวลผลแบบกลุ่มกำลังดำเนินการ | 
| BATCH_STATE_SUCCEEDED | การประมวลผลแบบกลุ่มเสร็จสมบูรณ์แล้ว | 
| BATCH_STATE_FAILED | การประมวลผลแบบกลุ่มล้มเหลว | 
| BATCH_STATE_CANCELLED | ระบบยกเลิกแบทช์แล้ว | 
| BATCH_STATE_EXPIRED | แบทช์หมดอายุแล้ว | 
ทรัพยากร REST: batches
ทรัพยากร: การดำเนินการ
ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลลัพธ์ของการเรียก API เครือข่าย
name
string
ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะไม่ซ้ำกันภายในบริการเดียวกันที่แสดงผลชื่อนั้นในตอนแรกเท่านั้น หากใช้การแมป HTTP เริ่มต้น name ควรเป็นชื่อทรัพยากรที่ลงท้ายด้วย operations/{unique_id}
metadata
object
ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วไฟล์นี้จะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาที่สร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี)
ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
หากค่าเป็น false แสดงว่าการดำเนินการยังอยู่ระหว่างดำเนินการ หากเป็น true การดำเนินการจะเสร็จสมบูรณ์ และจะมี error หรือ response ให้ใช้งาน
result
Union type
error หรือ response ที่ถูกต้อง หาก done == false จะไม่มีการตั้งค่า error หรือ response หาก done == true จะตั้งค่า error หรือ response ได้เพียงอย่างเดียว บริการบางอย่างอาจไม่แสดงผลลัพธ์ result ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นerror
object (Status)
ผลลัพธ์ข้อผิดพลาดของการดำเนินการในกรณีที่ล้มเหลวหรือยกเลิก
response
object
การตอบกลับตามปกติที่สำเร็จของการดำเนินการ หากเมธอดเดิมไม่แสดงข้อมูลเมื่อสำเร็จ เช่น Delete การตอบกลับจะเป็น google.protobuf.Empty หากเมธอดเดิมเป็นมาตรฐาน Get/Create/Update การตอบกลับควรเป็นทรัพยากร สำหรับเมธอดอื่นๆ การตอบกลับควรมีประเภท XxxResponse โดยที่ Xxx คือชื่อเมธอดเดิม เช่น หากชื่อเมธอดเดิมคือ TakeSnapshot() ประเภทการตอบกลับที่อนุมานได้คือ TakeSnapshotResponse
ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }
| การแสดง JSON | 
|---|
| {
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,
  // result
  "error": {
    object ( | 
เมธอด: batches.get
รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ
ปลายทาง
gethttps:
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรการดำเนินการ ซึ่งจะอยู่ในรูปแบบ batches/{batches}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
เมธอด: batches.list
แสดงการดำเนินการในรายการที่ตรงกับตัวกรองที่ระบุในคำขอ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง UNIMPLEMENTED
ปลายทาง
gethttps:
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรหลักของการดำเนินการ ซึ่งจะอยู่ในรูปแบบ batches
พารามิเตอร์การค้นหา
filter
string
ตัวกรองรายการมาตรฐาน
pageSize
integer
ขนาดหน้าของรายการมาตรฐาน
pageToken
string
โทเค็นหน้ารายการมาตรฐาน
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ ListOperationsResponse
วิธีการ: batches.cancel
เริ่มการยกเลิกแบบไม่พร้อมกันในการดำเนินการที่ใช้เวลานาน เซิร์ฟเวอร์จะพยายามยกเลิกการดำเนินการอย่างเต็มที่ แต่ไม่รับประกันว่าจะสำเร็จ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง google.rpc.Code.UNIMPLEMENTED ไคลเอ็นต์สามารถใช้ Operations.GetOperation หรือวิธีอื่นๆ เพื่อตรวจสอบว่าการยกเลิกสำเร็จหรือไม่ หรือการดำเนินการเสร็จสมบูรณ์แม้จะมีการยกเลิกหรือไม่ เมื่อยกเลิกสำเร็จ ระบบจะไม่ลบการดำเนินการ แต่จะเปลี่ยนเป็นการดำเนินการที่มีค่า Operation.error โดยมี google.rpc.Status.code เป็น 1 ซึ่งสอดคล้องกับ Code.CANCELLED
ปลายทาง
posthttps:
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรการดำเนินการที่จะยกเลิก ซึ่งจะอยู่ในรูปแบบ batches/{batches}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะเป็นออบเจ็กต์ JSON ว่าง
วิธีการ: batches.delete
ลบการดำเนินการที่ใช้เวลานาน วิธีนี้บ่งบอกว่าไคลเอ็นต์ไม่สนใจผลการดำเนินการอีกต่อไป แต่จะไม่ยกเลิกการดำเนินการ หากเซิร์ฟเวอร์ไม่รองรับวิธีนี้ ระบบจะแสดง google.rpc.Code.UNIMPLEMENTED
ปลายทาง
ลบhttps:
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรการดำเนินการที่จะลบ ซึ่งจะอยู่ในรูปแบบ batches/{batches}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะเป็นออบเจ็กต์ JSON ว่าง