Batch Mode

Gemini API hỗ trợ chế độ hàng loạt, cho phép bạn xử lý nhiều yêu cầu trong một lệnh gọi. Để biết thêm thông tin chi tiết, hãy xem Hướng dẫn về chế độ hàng loạt.

Phương thức: models.batchGenerateContent

Đưa một loạt yêu cầu models.generateContent vào hàng đợi để xử lý hàng loạt.

Điểm cuối

post https://generativelanguage.googleapis.com/v1beta/{batch.model=models/*}:batchGenerateContent

Tham số đường dẫn

batch.model string

Bắt buộc. Tên của Model dùng để tạo phần hoàn thành.

Định dạng: models/{model}. Địa chỉ này có dạng models/{model}.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Trường
batch.name string

Chỉ có đầu ra. Giá trị nhận dạng. Tên tài nguyên của lô.

Định dạng: batches/{batchId}.

batch.displayName string

Bắt buộc. Tên do người dùng xác định của lô này.

batch.inputConfig object (InputConfig)

Bắt buộc. Cấu hình đầu vào của các phiên bản mà quy trình xử lý hàng loạt được thực hiện.

batch.output object (GenerateContentBatchOutput)

Chỉ có đầu ra. Đầu ra của yêu cầu theo lô.

batch.createTime string (Timestamp format)

Chỉ có đầu ra. Thời gian tạo lô.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

batch.endTime string (Timestamp format)

Chỉ có đầu ra. Thời điểm hoàn tất quá trình xử lý hàng loạt.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

batch.updateTime string (Timestamp format)

Chỉ có đầu ra. Thời gian cập nhật gần đây nhất của lô.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

batch.batchStats object (BatchStats)

Chỉ có đầu ra. Số liệu thống kê về lô.

batch.state enum (BatchState)

Chỉ có đầu ra. Trạng thái của lô.

batch.priority string (int64 format)

Không bắt buộc. Mức độ ưu tiên của lô. Các lô có giá trị ưu tiên cao hơn sẽ được xử lý trước các lô có giá trị ưu tiên thấp hơn. Bạn có thể dùng giá trị âm. Giá trị mặc định là 0.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của Operation.

GenerateContentRequest

Yêu cầu tạo câu hoàn chỉnh từ mô hình.

Trường
model string

Bắt buộc. Tên của Model dùng để tạo phần hoàn thành.

Định dạng: models/{model}.

contents[] object (Content)

Bắt buộc. Nội dung của cuộc trò chuyện hiện tại với mô hình.

Đối với các truy vấn một lượt, đây là một phiên bản duy nhất. Đối với các truy vấn nhiều lượt như chat, đây là một trường lặp lại chứa nhật ký trò chuyện và yêu cầu mới nhất.

tools[] object (Tool)

Không bắt buộc. Danh sách ToolsModel có thể dùng để tạo câu trả lời tiếp theo.

Tool là một đoạn mã cho phép hệ thống tương tác với các hệ thống bên ngoài để thực hiện một hành động hoặc một nhóm hành động nằm ngoài kiến thức và phạm vi của Model. Các Tool được hỗ trợ là FunctioncodeExecution. Hãy tham khảo hướng dẫn về Gọi hàmThực thi mã để tìm hiểu thêm.

toolConfig object (ToolConfig)

Không bắt buộc. Cấu hình công cụ cho mọi Tool được chỉ định trong yêu cầu. Hãy tham khảo Hướng dẫn gọi hàm để xem ví dụ về cách sử dụng.

safetySettings[] object (SafetySetting)

Không bắt buộc. Danh sách các thực thể SafetySetting riêng biệt để chặn nội dung không an toàn.

Quy định này sẽ được thực thi trên GenerateContentRequest.contentsGenerateContentResponse.candidates. Không được có nhiều hơn một chế độ cài đặt cho mỗi loại SafetyCategory. API sẽ chặn mọi nội dung và phản hồi không đáp ứng các ngưỡng do những chế độ cài đặt này đặt ra. Danh sách này sẽ ghi đè các chế độ cài đặt mặc định cho từng SafetyCategory được chỉ định trong safetySettings. Nếu không có SafetySetting cho một SafetyCategory nhất định được cung cấp trong danh sách, thì API sẽ sử dụng chế độ cài đặt an toàn mặc định cho danh mục đó. Chúng tôi hỗ trợ các danh mục nội dung gây hại HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY. Hãy tham khảo hướng dẫn để biết thông tin chi tiết về các chế độ cài đặt an toàn hiện có. Bạn cũng có thể tham khảo Hướng dẫn về an toàn để tìm hiểu cách đưa các yếu tố cần cân nhắc về an toàn vào ứng dụng AI của mình.

systemInstruction object (Content)

Không bắt buộc. Nhà phát triển đặt (các) chỉ dẫn hệ thống. Hiện tại, chỉ có văn bản.

generationConfig object (GenerationConfig)

Không bắt buộc. Các lựa chọn cấu hình để tạo mô hình và đầu ra.

cachedContent string

Không bắt buộc. Tên của nội dung được lưu vào bộ nhớ đệm để dùng làm bối cảnh phân phát thông tin dự đoán. Định dạng: cachedContents/{cachedContent}

Biểu diễn dưới dạng JSON
{
  "model": string,
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "toolConfig": {
    object (ToolConfig)
  },
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],
  "systemInstruction": {
    object (Content)
  },
  "generationConfig": {
    object (GenerationConfig)
  },
  "cachedContent": string
}

GenerateContentBatch

Một tài nguyên đại diện cho một nhóm yêu cầu GenerateContent.

Trường
model string

Bắt buộc. Tên của Model dùng để tạo phần hoàn thành.

Định dạng: models/{model}.

name string

Chỉ có đầu ra. Giá trị nhận dạng. Tên tài nguyên của lô.

Định dạng: batches/{batchId}.

displayName string

Bắt buộc. Tên do người dùng xác định của lô này.

inputConfig object (InputConfig)

Bắt buộc. Cấu hình đầu vào của các phiên bản mà quy trình xử lý hàng loạt được thực hiện.

output object (GenerateContentBatchOutput)

Chỉ có đầu ra. Đầu ra của yêu cầu theo lô.

createTime string (Timestamp format)

Chỉ có đầu ra. Thời gian tạo lô.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

endTime string (Timestamp format)

Chỉ có đầu ra. Thời điểm hoàn tất quá trình xử lý hàng loạt.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

updateTime string (Timestamp format)

Chỉ có đầu ra. Thời gian cập nhật gần đây nhất của lô.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

batchStats object (BatchStats)

Chỉ có đầu ra. Số liệu thống kê về lô.

state enum (BatchState)

Chỉ có đầu ra. Trạng thái của lô.

priority string (int64 format)

Không bắt buộc. Mức độ ưu tiên của lô. Các lô có giá trị ưu tiên cao hơn sẽ được xử lý trước các lô có giá trị ưu tiên thấp hơn. Bạn có thể dùng giá trị âm. Giá trị mặc định là 0.

Biểu diễn dưới dạng JSON
{
  "model": string,
  "name": string,
  "displayName": string,
  "inputConfig": {
    object (InputConfig)
  },
  "output": {
    object (GenerateContentBatchOutput)
  },
  "createTime": string,
  "endTime": string,
  "updateTime": string,
  "batchStats": {
    object (BatchStats)
  },
  "state": enum (BatchState),
  "priority": string
}

InputConfig

Định cấu hình dữ liệu đầu vào cho yêu cầu hàng loạt.

Trường
source Union type
Bắt buộc. Nguồn của dữ liệu đầu vào. source chỉ có thể là một trong những trạng thái sau:
fileName string

Tên của File chứa các yêu cầu đầu vào.

requests object (InlinedRequests)

Các yêu cầu cần xử lý trong lô.

Biểu diễn dưới dạng JSON
{

  // source
  "fileName": string,
  "requests": {
    object (InlinedRequests)
  }
  // Union type
}

InlinedRequests

Các yêu cầu cần được xử lý theo lô nếu được cung cấp trong yêu cầu tạo lô.

Trường
requests[] object (InlinedRequest)

Bắt buộc. Các yêu cầu cần xử lý trong lô.

Biểu diễn dưới dạng JSON
{
  "requests": [
    {
      object (InlinedRequest)
    }
  ]
}

InlinedRequest

Yêu cầu cần được xử lý trong lô.

Trường
request object (GenerateContentRequest)

Bắt buộc. Yêu cầu cần được xử lý trong lô.

metadata object (Struct format)

Không bắt buộc. Siêu dữ liệu sẽ được liên kết với yêu cầu.

Biểu diễn dưới dạng JSON
{
  "request": {
    object (GenerateContentRequest)
  },
  "metadata": {
    object
  }
}

GenerateContentBatchOutput

Đầu ra của một yêu cầu theo lô. Tham số này được trả về trong trường BatchGenerateContentResponse hoặc GenerateContentBatch.output.

Trường
output Union type
Đầu ra của yêu cầu theo lô. output chỉ có thể là một trong những trạng thái sau:
responsesFile string

Chỉ có đầu ra. Mã nhận dạng tệp của tệp chứa các câu trả lời. Tệp này sẽ là một tệp JSONL có một phản hồi trên mỗi dòng. Các phản hồi sẽ là thông báo GenerateContentResponse được định dạng dưới dạng JSON. Các câu trả lời sẽ được viết theo thứ tự giống như các yêu cầu đầu vào.

inlinedResponses object (InlinedResponses)

Chỉ có đầu ra. Các phản hồi cho các yêu cầu trong lô. Trả về khi lô được tạo bằng các yêu cầu nội tuyến. Các phản hồi sẽ theo cùng thứ tự với các yêu cầu đầu vào.

Biểu diễn dưới dạng JSON
{

  // output
  "responsesFile": string,
  "inlinedResponses": {
    object (InlinedResponses)
  }
  // Union type
}

InlinedResponses

Các phản hồi cho các yêu cầu trong lô.

Trường
inlinedResponses[] object (InlinedResponse)

Chỉ có đầu ra. Các phản hồi cho các yêu cầu trong lô.

Biểu diễn dưới dạng JSON
{
  "inlinedResponses": [
    {
      object (InlinedResponse)
    }
  ]
}

InlinedResponse

Phản hồi cho một yêu cầu trong lô.

Trường
metadata object (Struct format)

Chỉ có đầu ra. Siêu dữ liệu liên kết với yêu cầu.

output Union type
Kết quả của yêu cầu. output chỉ có thể là một trong những trạng thái sau:
error object (Status)

Chỉ có đầu ra. Đã xảy ra lỗi trong khi xử lý yêu cầu.

response object (GenerateContentResponse)

Chỉ có đầu ra. Phản hồi cho yêu cầu.

Biểu diễn dưới dạng JSON
{
  "metadata": {
    object
  },

  // output
  "error": {
    object (Status)
  },
  "response": {
    object (GenerateContentResponse)
  }
  // Union type
}

BatchStats

Số liệu thống kê về lô.

Trường
requestCount string (int64 format)

Chỉ có đầu ra. Số lượng yêu cầu trong lô.

successfulRequestCount string (int64 format)

Chỉ có đầu ra. Số yêu cầu đã được xử lý thành công.

failedRequestCount string (int64 format)

Chỉ có đầu ra. Số lượng yêu cầu không xử lý được.

pendingRequestCount string (int64 format)

Chỉ có đầu ra. Số lượng yêu cầu vẫn đang chờ xử lý.

Biểu diễn dưới dạng JSON
{
  "requestCount": string,
  "successfulRequestCount": string,
  "failedRequestCount": string,
  "pendingRequestCount": string
}

BatchState

Trạng thái của lô.

Enum
BATCH_STATE_UNSPECIFIED Trạng thái lô chưa được chỉ định.
BATCH_STATE_PENDING Dịch vụ này đang chuẩn bị chạy lô.
BATCH_STATE_RUNNING Đang xử lý hàng loạt.
BATCH_STATE_SUCCEEDED Đã hoàn tất hàng loạt thành công.
BATCH_STATE_FAILED Lô không thành công.
BATCH_STATE_CANCELLED Lô đã bị huỷ.
BATCH_STATE_EXPIRED Lô này đã hết hạn.

Tài nguyên REST: batches

Tài nguyên: Thao tác

Tài nguyên này đại diện cho một thao tác diễn ra trong thời gian dài, là kết quả của một lệnh gọi API mạng.

Trường
name string

Tên do máy chủ chỉ định, chỉ có tính duy nhất trong cùng một dịch vụ ban đầu trả về tên đó. Nếu bạn sử dụng ánh xạ HTTP mặc định, name phải là tên tài nguyên kết thúc bằng operations/{unique_id}.

metadata object

Siêu dữ liệu dành riêng cho dịch vụ liên quan đến thao tác. Thường thì tệp này chứa thông tin về tiến trình và siêu dữ liệu chung, chẳng hạn như thời gian tạo. Một số dịch vụ có thể không cung cấp siêu dữ liệu như vậy. Mọi phương thức trả về một thao tác diễn ra trong thời gian dài đều phải ghi lại loại siêu dữ liệu (nếu có).

Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung "@type" chứa một URI xác định loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

done boolean

Nếu giá trị là false, tức là thao tác vẫn đang diễn ra. Nếu true, thao tác sẽ hoàn tất và có thể dùng error hoặc response.

result Union type
Kết quả của thao tác, có thể là error hoặc response hợp lệ. Nếu done == false, thì errorresponse đều không được đặt. Nếu done == true, bạn chỉ có thể đặt một trong hai tham số error hoặc response. Một số dịch vụ có thể không cung cấp kết quả. result chỉ có thể là một trong những trạng thái sau:
error object (Status)

Kết quả lỗi của thao tác trong trường hợp thất bại hoặc huỷ.

response object

Phản hồi bình thường, thành công của thao tác. Nếu phương thức ban đầu không trả về dữ liệu khi thành công, chẳng hạn như Delete, thì phản hồi sẽ là google.protobuf.Empty. Nếu phương thức ban đầu là Get/Create/Update tiêu chuẩn, thì phản hồi phải là tài nguyên. Đối với các phương thức khác, phản hồi phải có kiểu XxxResponse, trong đó Xxx là tên phương thức ban đầu. Ví dụ: nếu tên phương thức ban đầu là TakeSnapshot(), thì loại phản hồi được suy luận là TakeSnapshotResponse.

Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung "@type" chứa một URI xác định loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // result
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

Phương thức: batches.get

Lấy trạng thái mới nhất của một thao tác diễn ra trong thời gian dài. Ứng dụng có thể dùng phương thức này để thăm dò kết quả của thao tác theo khoảng thời gian mà dịch vụ API đề xuất.

Điểm cuối

get https://generativelanguage.googleapis.com/v1beta/{name=batches/*}

Tham số đường dẫn

name string

Tên của tài nguyên thao tác. Địa chỉ này có dạng batches/{batches}.

Nội dung yêu cầu

Nội dung yêu cầu phải trống.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của Operation.

Phương thức: batches.list

Liệt kê các thao tác khớp với bộ lọc đã chỉ định trong yêu cầu. Nếu máy chủ không hỗ trợ phương thức này, thì máy chủ sẽ trả về UNIMPLEMENTED.

Điểm cuối

get https://generativelanguage.googleapis.com/v1beta/{name=batches}

Tham số đường dẫn

name string

Tên của tài nguyên mẹ của thao tác. Địa chỉ này có dạng batches.

Tham số truy vấn

filter string

Bộ lọc danh sách tiêu chuẩn.

pageSize integer

Kích thước trang danh sách tiêu chuẩn.

pageToken string

Mã thông báo trang danh sách chuẩn.

Nội dung yêu cầu

Nội dung yêu cầu phải trống.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của ListOperationsResponse.

Phương thức: batches.cancel

Bắt đầu huỷ không đồng bộ trên một thao tác chạy trong thời gian dài. Máy chủ sẽ cố gắng hết sức để huỷ thao tác, nhưng không đảm bảo thành công. Nếu máy chủ không hỗ trợ phương thức này, thì máy chủ sẽ trả về google.rpc.Code.UNIMPLEMENTED. Các ứng dụng có thể dùng Operations.GetOperation hoặc các phương thức khác để kiểm tra xem việc huỷ có thành công hay không hoặc liệu thao tác có hoàn tất hay không mặc dù đã huỷ. Khi huỷ thành công, thao tác sẽ không bị xoá; thay vào đó, thao tác sẽ trở thành một thao tác có giá trị Operation.error với google.rpc.Status.code1, tương ứng với Code.CANCELLED.

Điểm cuối

post https://generativelanguage.googleapis.com/v1beta/{name=batches/*}:cancel

Tham số đường dẫn

name string

Tên của tài nguyên thao tác cần huỷ. Địa chỉ này có dạng batches/{batches}.

Nội dung yêu cầu

Nội dung yêu cầu phải trống.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ là một đối tượng JSON trống.

Phương thức: batches.delete

Xoá một thao tác kéo dài. Phương thức này cho biết rằng ứng dụng không còn quan tâm đến kết quả của thao tác nữa. Thao tác này không huỷ thao tác. Nếu máy chủ không hỗ trợ phương thức này, thì máy chủ sẽ trả về google.rpc.Code.UNIMPLEMENTED.

Điểm cuối

xoá https://generativelanguage.googleapis.com/v1beta/{name=batches/*}

Tham số đường dẫn

name string

Tên của tài nguyên thao tác cần xoá. Địa chỉ này có dạng batches/{batches}.

Nội dung yêu cầu

Nội dung yêu cầu phải trống.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ là một đối tượng JSON trống.