OpenAI: GPT-4.1 (batch)
OpenAI GPT-4.1 là mô hình không có bước suy luận riêng, dành cho tuân thủ chỉ dẫn chính xác, lập trình và gọi công cụ. Mô hình nhận văn bản, hình ảnh và trả về văn bản, với cửa sổ ngữ cảnh lớn, Structured Outputs và Predicted Outputs để tạo lại văn bản hoặc mã phần lớn không thay đổi.
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.
GPT-4.1 là mô hình của OpenAI không có bước suy luận riêng, dành cho tuân thủ chỉ dẫn và gọi công cụ, với kiến thức rộng trên nhiều lĩnh vực. Mô hình nhận văn bản, hình ảnh và trả về văn bản mà không có bước suy luận chuyên biệt. Ngữ cảnh lớn hữu ích khi nhiệm vụ đã xác định rõ nhưng tài liệu liên quan trải trên nhiều văn bản hoặc mã. Nêu thao tác mong muốn, tài liệu nguồn mà thao tác áp dụng và dạng kết quả cuối.
Khi xử lý tài liệu, tách chỉ dẫn khỏi nội dung bằng tiêu đề hoặc ranh giới rõ khác. Gắn nhãn tài liệu và giữ mã định danh mà câu trả lời cần dẫn đến. Xác định các trường để trích xuất, tiêu chí để so sánh hoặc đối tượng đọc và độ dài khi viết lại. Đầu ra minh họa có thể là bảng yêu cầu cùng vị trí nguồn, bản tóm tắt tổ chức theo tập câu hỏi xác định hoặc bản ghi có cấu trúc phân biệt thông tin thiếu với giá trị được nêu rõ.
Với lập trình, cung cấp tệp liên quan, thay đổi được yêu cầu và hành vi phải giữ nguyên. Xin đúng sản phẩm thực tế cần có: hàm đã sửa, tệp đầy đủ, đối số công cụ đề xuất hoặc phần giải thích logic bị ảnh hưởng. Ví dụ có thể làm rõ quy tắc định dạng hoặc trường hợp biên, nhưng cần tuân theo cùng yêu cầu với nhiệm vụ thật. Hướng dẫn prompt của OpenAI nhấn mạnh chỉ dẫn trực tiếp, vai trò, ranh giới nguồn và ví dụ đại diện, thay vì giả định prompt dài tự động chính xác.
Thông số riêng của GPT-4.1 nêu cửa sổ ngữ cảnh 1 047 576 token, tối đa 32 768 token đầu ra và mốc kiến thức ngày 1 tháng sáu năm 2024. Ngữ cảnh đầu vào lớn không có nghĩa đầu ra cũng lớn tương ứng, nên yêu cầu viết lại tài liệu dài cần xác định phần và sản phẩm cuối mong muốn. Chừa đủ chỗ cho câu trả lời và cung cấp thông tin hiện tại khi nhiệm vụ phụ thuộc vào dữ kiện sau mốc kiến thức. Kiểu mô hình được tài liệu hóa của GPT-4.1 là chat; thiết lập mức nỗ lực suy luận từ các mô hình suy luận mới hơn không thuộc hồ sơ này.
OpenAI tài liệu hóa các giao diện Chat Completions, Responses, Assistants, Batch và tinh chỉnh cho GPT-4.1. Tính năng được liệt kê gồm truyền theo luồng, Structured Outputs, gọi hàm, tải tệp lên, đầu vào hình ảnh, tìm kiếm web và tệp, tinh chỉnh và bộ nhớ đệm prompt. Công cụ gồm trình thông dịch mã, tạo ảnh và kết nối MCP cùng tìm kiếm, hàm. Đầu ra riêng của mô hình là văn bản, còn công cụ có thể trả về sản phẩm hoặc quan sát riêng. Xác định mục đích, đối số của thao tác ứng dụng và dùng kết quả thực tế trả về; yêu cầu do mô hình tạo không xác nhận thao tác bên ngoài đã hoàn thành.
Điểm riêng là Predicted Outputs trong giao diện Chat Completions của OpenAI. Khi phần lớn kết quả văn bản hoặc mã mong muốn đã biết, có thể cung cấp nội dung có sẵn làm dự đoán để giúp tạo lại kết quả đầy đủ với thay đổi nhỏ. Chẳng hạn, cung cấp tệp hiện tại và yêu cầu đổi tên một thuộc tính trong phạm vi hẹp, giữ mã xung quanh. Dự đoán là nội dung đầu ra dự kiến, không phải chỉ dẫn hoặc bảo đảm các phần không đổi vẫn đúng. Đối chiếu sản phẩm tạo lại với thay đổi được yêu cầu và tài liệu gốc.
Predicted Outputs có giới hạn tương thích riêng. OpenAI tài liệu hóa việc chỉ dùng văn bản, không có đầu vào hay đầu ra âm thanh và không gọi hàm trong yêu cầu đó. Cơ chế này không hỗ trợ nhiều lựa chọn với n lớn hơn 1, xác suất logarit, mức phạt presence hoặc frequency dương hay tham số max_completion_tokens. Giữ quy trình tạo lại này tách biệt với nhiệm vụ cần gọi công cụ. Văn bản dự đoán có thể khớp các phần đầu ra, và nhà sản xuất báo cáo token dự đoán được chấp nhận, bị từ chối; dự đoán không phù hợp có thể bị bỏ qua một phần, nên tính năng không bảo đảm mức tăng tốc hoặc kết quả cụ thể.
Với nhiệm vụ tuân thủ chỉ dẫn thông thường, kết quả GPT-4.1 hữu ích là tài liệu hoặc sản phẩm mã đáp ứng yêu cầu đã xác định, nội dung trích xuất với trường rõ ràng hoặc yêu cầu công cụ có đối số phù hợp thao tác được cung cấp. Với thay đổi nhỏ trong tệp phần lớn giữ nguyên, quy trình đầu ra dự đoán cho cách chuẩn bị kết quả dự kiến cụ thể hơn. Trong cả hai trường hợp, giữ tài liệu nguồn cần để kiểm tra câu trả lời và nêu rõ điểm mơ hồ. Dung lượng ngữ cảnh và công cụ của mô hình hỗ trợ quy trình; yêu cầu nhiệm vụ vẫn quyết định câu trả lời đầy đủ, dùng được cần có gì.
Ailoot Ultra · Xử lý hàng loạt POST /v1/batches openai/gpt-4.1:batch
openai/gpt-4.1:batchBắt đầu
OpenAI GPT-4.1 là mô hình không có bước suy luận riêng, dành cho tuân thủ chỉ dẫn chính xác, lập trình và gọi công cụ. Mô hình nhận văn bản, hình ảnh và trả về văn bản, với cửa sổ ngữ cảnh lớn, Structured Outputs và Predicted Outputs để tạo lại văn bản hoặc mã phần lớn không thay đổi.
- Đầ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 openai/gpt-4.1: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 openai/gpt-4.1:batch, openai/gpt-4.1 | Mặc định— |
Trườngprovider.only | Loạistring[] | Yêu cầuKhông bắt buộc | Giá trị & giới hạn openai | 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.008 / 1K token Đầu vào · Đọc bộ nhớ đệm $0.0005 / 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ồ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.008 / 1K token Đầu vào · Đọc bộ nhớ đệm $0.0005 / 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":"openai/gpt-4.1: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 ['openai/gpt-4.1:batch', 'openai/gpt-4.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4.1: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 openai/gpt-4.1: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 · OpenAI: GPT-4.1 (batch)
- Có những đầu vào và kết quả nào?
POST /v1/batches·openai/gpt-4.1:batch:text→text- Yêu cầu sử dụng những trường nào?
POST /v1/batches·openai/gpt-4.1:batch:endpoint,model,requests,completion_window,provider- Áp dụng những giới hạn nào?
POST /v1/batches·openai/gpt-4.1:batch:requests.min_items:1