Google: Gemini 3.1 Pro Preview (batch)
Gemini 3.1 Pro Preview là mô hình suy luận đa phương thức của Google cho tác vụ phần mềm, thuật toán và tri thức phức tạp. Mô hình nhận văn bản, hình ảnh, âm thanh, video và PDF, trả về văn bản hoặc mã, với công cụ và đầu ra có cấu trúc. Các mức suy luận Low, medium và high định hướng nỗ lực; high là mặc định được tài liệu ghi nhận.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
Gemini 3.1 Pro Preview là mô hình văn bản hướng đến suy luận của Google cho tác vụ phức tạp cần kỹ thuật phần mềm, phát triển thuật toán hoặc tổng hợp bằng chứng đa phương thức. Mô hình phát triển từ Gemini 3 Pro, nhấn mạnh sử dụng công cụ chính xác, suy luận hiệu quả hơn và thực thi nhiều bước đáng tin cậy. Văn bản, hình ảnh, âm thanh, video và PDF có thể đóng góp vào câu trả lời viết, sản phẩm mã hoặc kết quả có cấu trúc.
Với nhiệm vụ lập trình đòi hỏi cao, cung cấp mục tiêu, tài liệu kho mã liên quan, hành vi quan sát được và ràng buộc cần giữ. Toàn bộ kho mã có thể cung cấp ngữ cảnh cho nhiệm vụ. Với đánh giá quy ước mã, yêu cầu mô hình so sánh cách hai mô-đun xử lý quy ước dữ liệu dùng chung, xác định điểm không khớp và đề xuất sửa tập trung với tham chiếu mã làm căn cứ. Đầu ra hữu ích phân biệt phân tích, sửa đổi đề xuất và bằng chứng với mọi hoạt động xác thực do ứng dụng kết nối thực hiện.
Tài liệu ra mắt minh họa giải thích trực quan dựa trên mã và dự án tương tác, gồm đầu ra SVG động từ đề bài văn bản. Đây là sản phẩm mã thay vì tạo ảnh raster. Đề bài rõ có thể xác định điều cần giải thích, cách hình ảnh hoạt động và dữ liệu cần biểu diễn. Đối chiếu mã tạo ra và bản hiển thị với những yêu cầu đó. Với tác vụ tổng hợp dữ liệu, cung cấp nguồn thực tế và yêu cầu một góc nhìn giữ các quan hệ cùng những điều kiện đi kèm được nêu trong nguồn.
Các mức suy luận được ghi trong tài liệu là low, medium và high, mặc định high cho 3.1 Pro Preview. Không thể tắt hoàn toàn suy luận trong cấu hình Pro này. Chọn nỗ lực thấp hơn cho câu trả lời có giới hạn và suy luận nhiều hơn cho công việc nhiều bước khó, đồng thời chừa đủ hạn mức đầu ra cho sản phẩm cuối. Giới hạn đầu ra nhỏ có thể ngắt suy luận trước khi xuất hiện câu trả lời cuối dùng được. Hướng dẫn về suy luận phân biệt bản tóm tắt suy luận với toàn bộ quá trình nội bộ và giải thích vì sao ngữ cảnh chữ ký suy luận của hội thoại quan trọng.
Bảng Preview cụ thể liệt kê gọi hàm, thực thi mã, sử dụng kết quả tìm kiếm làm căn cứ, sử dụng thông tin Maps làm căn cứ, ngữ cảnh URL và đầu ra có cấu trúc. Bảng giới hạn File Search ở AI Studio. Cung cấp mục đích hàm và định nghĩa tham số, rồi tiếp tục từ kết quả thực tế trả về. Cấu hình Custom Tools Preview riêng được tối ưu để ưu tiên công cụ tùy chỉnh và bash; đây là điểm cuối có tên riêng của nhà sản xuất, nên không âm thầm coi sự chuyên biệt đó là thuộc tính của mọi yêu cầu 3.1 Pro. Chọn lược đồ kết quả có cấu trúc khi tác vụ cần bản ghi được định nghĩa thay vì văn xuôi không giới hạn.
Với phân tích đa phương thức, xác định trang, hình ảnh, khoảng bản ghi hoặc sự kiện video liên quan. Với phân tích tài liệu, so sánh sơ đồ với đặc tả viết và trả từng sai khác cùng đoạn trích làm căn cứ. Nguồn lời nói có thể đóng góp bản chép lời hoặc diễn giải dạng văn bản. Giữ tham chiếu nguồn cho kết luận cần kiểm tra và tách điều nhìn thấy hoặc được nêu khỏi điều suy ra. Đầu ra cấu hình này vẫn là văn bản, gồm mã; tạo hình ảnh hoặc giọng nói gốc không thuộc bảng khả năng cụ thể của nó.
Thẻ 3.1 Pro gốc quy định ngữ cảnh đến 1M và đầu ra văn bản 64K, còn bảng API Preview cụ thể ghi 1,048,576 token đầu vào và 65,536 token đầu ra. Tính chỉ dẫn, lịch sử hội thoại và phương tiện vào ngân sách đầu vào. Bộ nhớ đệm và xử lý theo lô được ghi trong tài liệu, đồng thời lựa chọn Flex và Priority được liệt kê cho cấu hình nhà sản xuất. Với nhiều mục độc lập, định nghĩa đầu ra bắt buộc và giữ từng định danh nguồn thay vì kết hợp bằng chứng không liên quan thành một câu trả lời không truy vết được.
Phiên bản Preview có tên riêng vẫn tách biệt với cấu hình Custom Tools của Pro và các bản phát hành Flash hoặc Pro sau đó. Thế mạnh liên quan đến suy luận phức tạp, lập trình và tổng hợp bằng chứng; sản phẩm cuối vẫn cần đối chiếu với nguồn và kết quả công cụ thực tế. Giữ sự mơ hồ chưa giải quyết khi thông tin được cung cấp không hỗ trợ kết luận chắc chắn. Sản phẩm bàn giao hữu ích là câu trả lời, mã hoặc bản ghi có căn cứ mà tác vụ yêu cầu, với đủ bằng chứng để đánh giá giới hạn thực tế.
Ailoot Ultra · Xử lý hàng loạt POST /v1/batches google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batchBắt đầu
Gemini 3.1 Pro Preview là mô hình suy luận đa phương thức của Google cho tác vụ phần mềm, thuật toán và tri thức phức tạp. Mô hình nhận văn bản, hình ảnh, âm thanh, video và PDF, trả về văn bản hoặc mã, với công cụ và đầu ra có cấu trúc. Các mức suy luận Low, medium và high định hướng nỗ lực; high là mặc định được tài liệu ghi nhận.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Văn bản
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Xử lý hàng loạt POST /v1/batches
- Đầu vào
text- Đầu ra
text- Định dạng đầu ra
- JSON nội tuyến tại results[].response.body
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngendpoint | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn /v1/chat/completions | Mặc định— |
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn google/gemini-3.1-pro-preview:batch | Mặc định— |
Trườngrequests | Loạibatch_item[] | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 | Mặc định— |
Trườngrequests[].custom_id | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngrequests[].body.messages | Loạimessage[] | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngcompletion_window | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 24h | Mặc định— |
Trườngprovider | Loạiobject|null | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngrequests[].body.model | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn google/gemini-3.1-pro-preview:batch, google/gemini-3.1-pro-preview | Mặc định— |
Trườngprovider.only | Loạistring[] | Yêu cầuKhông bắt buộc | Giá trị & giới hạn google-vertex/global | Mặc định— |
Trườngprovider.allow_fallbacks | Loạiboolean|null | Yêu cầuKhông bắt buộc | Giá trị & giới hạn false, null | Mặc định— |
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngendpoint, model, requests |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốrepresentation | Hợp đồngrequests[] nội tuyến; mỗi phần tử có custom_id và body |
Tham sốrequest_endpoint_profile | Hợp đồng/v1/chat/completions |
Tham sốfile_material | Hợp đồngBên gọi có thể đọc dữ liệu JSONL UTF-8 thực tế trên máy cục bộ vào requests[]. Không sử dụng mục đích tải lên, input_file_id hay tham chiếu tệp. Nếu thiếu tài liệu của khách hàng hoặc tài liệu rỗng, dừng khâu chuẩn bị trước POST. |
Tham sốserialization_order | Hợp đồngendpoint, model, provider (nếu được cung cấp), completion_window (nếu được cung cấp), requests ở cuối |
Tham sốoptional_controls | Hợp đồngprovider.only, provider.allow_fallbacks, completion_window |
Tham sốschema_scope | Hợp đồngPhần thân yêu cầu Chat Completions dạng văn bản trong cấu trúc Batch nội tuyến được mô tả trong tài liệu. |
Vòng đời: asynchronous
GET /v1/batches/{operation_id} · response.id thực tế từ phản hồi tạo gốc; cùng người dùng/khóa/nhóm
Bảng giá
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
- Giá lưu đệm tường minh
- Chưa bật Khi yêu cầu lưu đệm tường minh
Mức phí Ailoot
Giá theo cấu hình
Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.
| Cấu hình | Biểu mức phí | Token ngữ cảnh, lớn hơn | Token ngữ cảnh, tối đa và bao gồm | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Token ngữ cảnh, lớn hơn— | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào $0.002 / 1K token Đầu ra · Token đầu ra $0.012 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
| Cấu hìnhBậc 1 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn0 | Token ngữ cảnh, tối đa và bao gồm200.000 | Phí Đầu vào · Token đầu vào $0.002 / 1K token Đầu ra · Token đầu ra $0.012 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
| Cấu hìnhBậc 2 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn200.000 | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào $0.004 / 1K token Đầu ra · Token đầu ra $0.018 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Xử lý hàng loạt
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"google/gemini-3.1-pro-preview:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['google/gemini-3.1-pro-preview:batch', 'google/gemini-3.1-pro-preview']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.1-pro-preview:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Nhận và lưu kết quả
Ailoot Ultra · Xử lý hàng loạt
JSON nội tuyến tại results[].response.body
GET /v1/batches/{operation_id}
Kiểm tra trạng thái tác vụ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ lại toàn bộ JSON trạng thái gốc, mọi kết quả/custom_id và toàn bộ phần thân phản hồi hoặc lỗi. Lưu results[] đã hoàn tất dưới dạng JSONL mà không lọc.
Nếu cần kiểm tra phản hồi gốc
Giữ nguyên ID thao tác gốc. Phản hồi 503 result_pending_check có X-Should-Retry:false; tuyệt đối không gửi lại lô gốc có trạng thái chưa xác định.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngresults[].custom_id | Loạistring |
Trườngresults[].response.body.choices[].message.content | Loạistring|null |
Trườngresults[].error | Loạiobject|null |
Trườngusage | Loạiobject|null |
Trườngid | Loạistring |
Trườngmodel | Loạistring |
Trườngendpoint | Loạistring |
Trườngstatus | Loạistring |
Trườngrequest_counts | Loạiobject |
Trườngresults[].id | Loạistring |
Trườngresults[].response.status_code | Loạiinteger |
Trườngresults[].response.request_id | Loạistring |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnCấu trúc nội tuyến không đúng tài liệu, có khóa trùng, định danh phần tử không hợp lệ hoặc xung đột với khả năng đã cấu hình của mô hình. | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi bất kỳ yêu cầu mới nào. |
Phản hồi401 · authentication_error | Điều kiệnKhóa API không hợp lệ. | Bước tiếp theoSử dụng khóa Ailoot đã được cấp quyền. |
Phản hồi403 · permission_error | Điều kiệnNhóm xử lý hàng loạt không khả dụng. | Bước tiếp theoKiểm tra quyền sử dụng của khóa/nhóm. |
Phản hồi422 · invalid_request_error | Điều kiệnXử lý hàng loạt tính phí từ số dư; yêu cầu tạo qua gói thuê bao bị từ chối. | Bước tiếp theoSử dụng nhóm đã được cấp quyền và tính phí từ số dư. |
Phản hồi422 · price_unavailable | Điều kiệnKhông thể báo giá cho dữ liệu đầu vào của lô. | Bước tiếp theoGiữ lại phản hồi; sử dụng dữ liệu đầu vào của họ API được mô tả trong tài liệu. |
Phản hồi402 · billing_error | Điều kiệnKhoản dự trữ cho xử lý hàng loạt không khả dụng. | Bước tiếp theoKhắc phục vấn đề về điều kiện tiếp nhận trước khi gửi yêu cầu mới. |
Phản hồi503 · price_unavailable | Điều kiệnGiá phương thức xử lý hàng loạt/đơn giá gốc không khả dụng. | Bước tiếp theoGiữ lại phản hồi; không thay thế đơn giá. |
Phản hồi503 · api_error | Điều kiệnTuyến cụ thể tới nhà cung cấp không khả dụng. | Bước tiếp theoGiữ lại phản hồi để sửa tuyến. |
Phản hồi503 · result_pending_check | Điều kiệnKết quả gốc cần được kiểm tra; X-Should-Retry:false. | Bước tiếp theoGiữ lại operation_id/id gốc và truy xuất trạng thái của thao tác đó; tuyệt đối không lặp lại POST gốc. |
Phản hồi404 · not_found | Điều kiệnKhông tìm thấy thao tác kiểm tra trạng thái lô hoặc thao tác thuộc một danh tính khác. | Bước tiếp theoSử dụng đúng id gốc và cùng người dùng/khóa/nhóm. |
Bí danh
Bí danh mô hình
Ailoot Ultra google/gemini-3.1-pro-preview:batch
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · Google: Gemini 3.1 Pro Preview (batch)
- Có những đầu vào và kết quả nào?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:text→text- Yêu cầu sử dụng những trường nào?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:endpoint,model,requests,completion_window,provider- Áp dụng những giới hạn nào?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:requests.min_items:1