OpenAI: GPT-6.1 Sol Pro (batch)
GPT-6.1 Sol ที่ใช้การให้เหตุผล Pro สำหรับการเขียนโค้ดซับซ้อน การใช้คอมพิวเตอร์ และการวิเคราะห์เชิงวิชาชีพ Pro เพิ่มการทำงานของโมเดลก่อนคำตอบสุดท้าย ขณะที่โมเดลพื้นฐานจัดการข้อความและภาพแล้วสร้างข้อความ
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
GPT-6.1 Sol Pro หมายถึง GPT-6.1 Sol ของ OpenAI ที่ใช้การให้เหตุผล Pro โมเดลพื้นฐานออกแบบสำหรับการเขียนโค้ดซับซ้อน การใช้คอมพิวเตอร์ และงานวิชาชีพ รับข้อความและภาพแล้วสร้างข้อความ Pro เพิ่มการทำงานของโมเดลเพื่อพัฒนาคำตอบสุดท้าย โดยอธิบายว่าโมเดลที่เลือกทำงานกับคำขออย่างไร ส่วนระดับความพยายามให้เหตุผลควบคุมปริมาณการให้เหตุผลภายในโหมดนั้น ความแตกต่างนี้แยกอัตลักษณ์ของ GPT-6.1 Sol ออกจากการตั้งค่าประมวลผล Pro
สำหรับงานวิศวกรรมที่ยาก ให้พฤติกรรมที่ต้องการ ไฟล์หรือส่วนโค้ดที่เกี่ยวข้อง และข้อจำกัดที่การเปลี่ยนแปลงต้องรักษา ตัวอย่างคำขอคือพิจารณาวิธีเขียนโค้ดสองแบบที่เป็นไปได้ ระบุส่วนที่พึ่งพากันซึ่งแต่ละแบบส่งผลกระทบ และสร้างข้อเสนอเปลี่ยนแปลงพร้อมคำอธิบายข้อแลกเปลี่ยนอย่างกระชับ สำหรับการวิเคราะห์เชิงวิชาชีพ ให้เอกสาร การตัดสินใจที่ต้องทำ และเกณฑ์เปรียบเทียบทางเลือก หากภาพมีหลักฐานสำคัญ ระบุองค์ประกอบอินเทอร์เฟซ แผนภาพ หรือรายละเอียดที่คำตอบควรกล่าวถึง
OpenAI ระบุหน้าต่างบริบทของโมเดลพื้นฐาน 1,050,000 โทเคน อินพุตสูงสุด 922,000 โทเคน และเอาต์พุตสูงสุด 128,000 โทเคน ข้อมูลความรู้ตามเอกสารถึงวันที่ 30 เมษายน 2026 การให้เหตุผลใช้พื้นที่โทเคนด้วย อินพุตยาวและคำตอบที่มองเห็นยาวจึงต้องเผื่อที่ให้การวิเคราะห์ของโมเดล เตรียมข้อมูลที่เกี่ยวข้องพร้อมป้ายกำกับและนิยามชัดเจน แล้วระบุผลงานที่ต้องการ เช่น การแก้โค้ด บันทึกการตัดสินใจ ขั้นตอน หรือชุดข้อค้นพบแบบมีโครงสร้าง
ระดับความพยายามให้เหตุผลของโมเดลพื้นฐานที่เอกสารระบุคือ low, medium, high, xhigh และ max โดย medium เป็นค่าเริ่มต้น ไม่รองรับ none หรือ minimal OpenAI อธิบาย Pro ใน Responses API สำหรับงานยากที่ยอมรับความหน่วงและการทำงานของโมเดลเพิ่มเติมได้ สำหรับ GPT-6.1 Sol การเรียกเครื่องมือใช้ Responses ส่วนอินเทอร์เฟซ Chat Completions ของผู้พัฒนารับคำขอที่ไม่ใช้เครื่องมือ ความแตกต่างเหล่านี้สำคัญเมื่อออกแบบขั้นตอนงานรอบโมเดล แทนการถือว่าทุกอินเทอร์เฟซและการตั้งค่าการให้เหตุผลใช้แทนกันได้
ผู้พัฒนาระบุสตรีมมิง Structured Outputs และการเรียกฟังก์ชัน พร้อมการค้นเว็บและไฟล์ เครื่องมือสร้างภาพ ตัวแปลโค้ด เครื่องมือ shell และ patch สกิล การใช้คอมพิวเตอร์ การเชื่อมต่อ MCP และการค้นหาเครื่องมือ เอาต์พุตของโมเดลพื้นฐานยังเป็นข้อความ เครื่องมือสร้างภาพเป็นการดำเนินการแยกต่างหาก แอปพลิเคชันกำหนดเครื่องมือที่มี ลงมือทำการดำเนินการของตน แล้วคืนผลเพื่อให้โมเดลทำต่อได้ เอกสาร GPT-6 ยังอธิบายงานเครื่องมือแบบอะซิงโครนัส การปรับทิศทางกลางเทิร์นที่กำลังทำงาน การเก็บการให้เหตุผลไว้ระหว่างการเรียก และการย่อบทสนทนาที่ยาว
ให้เกณฑ์เสร็จสิ้นชัดเจนและหลักฐานที่โมเดลควรใช้ตรวจผล สำหรับการรีวิวโค้ด ขอพฤติกรรมที่ได้รับผลกระทบและคำอธิบายเป็นรูปธรรมของปัญหาสำคัญแต่ละข้อ สำหรับการตัดสินใจจากเอกสาร ขอข้อเท็จจริงที่ส่งให้ แนวทางที่เลือก และเงื่อนไขที่ข้อสรุปขึ้นอยู่กับ ผลงานสุดท้ายที่มีประโยชน์ระบุการตัดสินใจพร้อมเหตุผลรองรับอย่างชัดเจน เพื่อให้คนหรือขั้นตอนแอปพลิเคชันถัดไปดำเนินการต่อจากผลที่เจาะจงได้
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches openai/gpt-6.1-sol-pro:batch
openai/gpt-6.1-sol-pro:batchเริ่มต้น
GPT-6.1 Sol ที่ใช้การให้เหตุผล Pro สำหรับการเขียนโค้ดซับซ้อน การใช้คอมพิวเตอร์ และการวิเคราะห์เชิงวิชาชีพ Pro เพิ่มการทำงานของโมเดลก่อนคำตอบสุดท้าย ขณะที่โมเดลพื้นฐานจัดการข้อความและภาพแล้วสร้างข้อความ
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- ข้อความ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches
- ขาเข้า
text- ขาออก
text- รูปแบบเอาต์พุต
- JSON ของ results[].response.body ที่ส่งกลับโดยตรง
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์endpoint | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด /v1/chat/completions | ค่าเริ่มต้น— |
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด openai/gpt-6.1-sol-pro:batch | ค่าเริ่มต้น— |
ฟิลด์requests | ประเภทbatch_item[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์requests[].custom_id | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.messages | ประเภทmessage[] | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์completion_window | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 24h | ค่าเริ่มต้น— |
ฟิลด์provider | ประเภทobject|null | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์requests[].body.model | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด openai/gpt-6.1-sol-pro:batch, openai/gpt-6.1-sol-pro | ค่าเริ่มต้น— |
ฟิลด์provider.only | ประเภทstring[] | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด openai | ค่าเริ่มต้น— |
ฟิลด์provider.allow_fallbacks | ประเภทboolean|null | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด false, null | ค่าเริ่มต้น— |
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดendpoint, model, requests |
พารามิเตอร์material_types | ข้อกำหนดtext |
พารามิเตอร์representation | ข้อกำหนดส่ง requests[] ไว้ในคำขอโดยตรง โดยแต่ละรายการมี custom_id และ body |
พารามิเตอร์request_endpoint_profile | ข้อกำหนด/v1/chat/completions |
พารามิเตอร์file_material | ข้อกำหนดผู้เรียกใช้อาจอ่านไฟล์ JSONL ที่เข้ารหัส UTF-8 จากเครื่องของตนลงใน requests[] ได้ ไม่มีการใช้ค่าระบุวัตถุประสงค์การอัปโหลด input_file_id หรือการอ้างอิงไฟล์ หากไม่มีข้อมูลของลูกค้าหรือข้อมูลว่าง ให้หยุดการเตรียมก่อนส่ง POST |
พารามิเตอร์serialization_order | ข้อกำหนดendpoint, model, provider (หากระบุมา), completion_window (หากระบุมา), requests อยู่ท้ายสุด |
พารามิเตอร์optional_controls | ข้อกำหนดprovider.only, provider.allow_fallbacks, completion_window |
พารามิเตอร์schema_scope | ข้อกำหนดเนื้อหาคำขอ Chat Completions แบบข้อความ ภายในโครงสร้างคำขอแบบชุดที่ส่งโดยตรงตามที่ระบุในเอกสาร |
วงจรการทำงาน: asynchronous
GET /v1/batches/{operation_id} · ค่า response.id จริงจากการตอบกลับคำขอสร้างครั้งเดิม โดยใช้ผู้ใช้/คีย์/กลุ่มเดิม
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
- การคิดราคาแคชแบบระบุชัด
- ไม่ได้เปิดใช้ เมื่อร้องขอแคชแบบระบุชัด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | โทเค็นบริบท มากกว่า | โทเค็นบริบท ไม่เกินและรวมค่า | ค่าบริการ |
|---|---|---|---|---|
| การตั้งค่าอัตราราคาพื้นฐานของโทเคน | ตารางอัตราค่าบริการอัตราพื้นฐาน | โทเค็นบริบท มากกว่า— | โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุด | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.002 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.01 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0001 / 1K โทเค็น ขาเข้า · การเขียนแคช $0.0025 / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าระดับความยาวคำขอ 1 | ตารางอัตราค่าบริการ— | โทเค็นบริบท มากกว่า0 | โทเค็นบริบท ไม่เกินและรวมค่า272,000 | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.002 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.01 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0001 / 1K โทเค็น ขาเข้า · การเขียนแคช $0.0025 / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าระดับความยาวคำขอ 2 | ตารางอัตราค่าบริการ— | โทเค็นบริบท มากกว่า272,000 | โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุด | ค่าบริการ ขาเข้า · โทเค็นอินพุต $0.004 / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต $0.015 / 1K โทเค็น ขาเข้า · การอ่านแคช $0.0002 / 1K โทเค็น ขาเข้า · การเขียนแคช $0.005 / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · การประมวลผลแบบชุด
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-6.1-sol-pro: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-6.1-sol-pro:batch', 'openai/gpt-6.1-sol-pro']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-6.1-sol-pro: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.
รับและบันทึกผลลัพธ์
Ailoot Ultra · การประมวลผลแบบชุด
JSON ของ results[].response.body ที่ส่งกลับโดยตรง
GET /v1/batches/{operation_id}
ตรวจสอบสถานะงาน
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
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน
เก็บ JSON สถานะเดิมให้ครบถ้วน รวมถึงผลลัพธ์/custom_id ทุกรายการ และเนื้อหาการตอบกลับหรือข้อผิดพลาดทั้งหมด บันทึก results[] ที่เสร็จสมบูรณ์เป็น JSONL โดยไม่กรองข้อมูล
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ ID การดำเนินการเดิมไว้ การตอบกลับ 503 result_pending_check มี X-Should-Retry:false ห้ามส่งงานแบบชุดเดิมซ้ำเด็ดขาดเมื่อยังไม่ทราบสถานะของงาน
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์results[].custom_id | ประเภทstring |
ฟิลด์results[].response.body.choices[].message.content | ประเภทstring|null |
ฟิลด์results[].error | ประเภทobject|null |
ฟิลด์usage | ประเภทobject|null |
ฟิลด์id | ประเภทstring |
ฟิลด์model | ประเภทstring |
ฟิลด์endpoint | ประเภทstring |
ฟิลด์status | ประเภทstring |
ฟิลด์request_counts | ประเภทobject |
ฟิลด์results[].id | ประเภทstring |
ฟิลด์results[].response.status_code | ประเภทinteger |
ฟิลด์results[].response.request_id | ประเภทstring |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขโครงสร้างคำขอแบบส่งโดยตรงตามเอกสารไม่ถูกต้อง มีคีย์ซ้ำ หรือมีข้อขัดแย้งเกี่ยวกับตัวตนของรายการหรือความสามารถของโมเดลที่กำหนดไว้ | ขั้นตอนถัดไปแก้ไขฟิลด์ที่ระบุให้ถูกต้องก่อนส่งคำขอใหม่ทุกครั้ง |
การตอบกลับ401 · authentication_error | เงื่อนไขคีย์ API ไม่ถูกต้อง | ขั้นตอนถัดไปใช้คีย์ Ailoot ที่ได้รับอนุญาต |
การตอบกลับ403 · permission_error | เงื่อนไขกลุ่มสำหรับการประมวลผลแบบชุดไม่พร้อมใช้งาน | ขั้นตอนถัดไปตรวจสอบสิทธิ์ของคีย์/กลุ่ม |
การตอบกลับ422 · invalid_request_error | เงื่อนไขการประมวลผลแบบชุดเรียกเก็บเงินจากยอดเงินคงเหลือ คำขอสร้างที่ใช้การเรียกเก็บผ่านการสมัครสมาชิกจะถูกปฏิเสธ | ขั้นตอนถัดไปใช้กลุ่มที่ได้รับอนุญาตให้เรียกเก็บเงินจากยอดเงินคงเหลือ |
การตอบกลับ422 · price_unavailable | เงื่อนไขไม่สามารถคำนวณราคาล่วงหน้าสำหรับข้อมูลนำเข้าของงานแบบชุดได้ | ขั้นตอนถัดไปเก็บการตอบกลับไว้ และใช้ข้อมูลนำเข้าตามเอกสารของ API ประเภทนั้น |
การตอบกลับ402 · billing_error | เงื่อนไขไม่สามารถกันยอดเงินสำรองสำหรับการประมวลผลแบบชุดได้ | ขั้นตอนถัดไปแก้ไขเงื่อนไขการรับคำขอให้เรียบร้อยก่อนส่งคำขอใหม่ |
การตอบกลับ503 · price_unavailable | เงื่อนไขราคาของวิธีประมวลผลแบบชุด/อัตราราคาของระบบไม่พร้อมใช้งาน | ขั้นตอนถัดไปเก็บการตอบกลับไว้ ห้ามแทนที่ด้วยราคาอื่น |
การตอบกลับ503 · api_error | เงื่อนไขเส้นทางที่ระบุไว้ของผู้ให้บริการต้นทางไม่พร้อมใช้งาน | ขั้นตอนถัดไปเก็บการตอบกลับไว้เพื่อแก้ไขเส้นทางการส่งคำขอ |
การตอบกลับ503 · result_pending_check | เงื่อนไขผลลัพธ์เดิมต้องได้รับการตรวจสอบ โดยมี X-Should-Retry:false | ขั้นตอนถัดไปเก็บค่า operation_id/id เดิมไว้แล้วอ่านสถานะของการดำเนินการนั้น ห้ามส่ง POST เดิมซ้ำเด็ดขาด |
การตอบกลับ404 · not_found | เงื่อนไขไม่พบการดำเนินการตรวจสอบสถานะงานแบบชุด หรือการดำเนินการนั้นเป็นของตัวตนอื่น | ขั้นตอนถัดไปใช้ค่า id เดิมให้ตรงทุกตัว พร้อมผู้ใช้/คีย์/กลุ่มเดิม |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra openai/gpt-6.1-sol-pro:batch
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · OpenAI: GPT-6.1 Sol Pro (batch)
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/batches·openai/gpt-6.1-sol-pro:batch:text→text- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/batches·openai/gpt-6.1-sol-pro:batch:endpoint,model,requests,completion_window,provider- มีข้อจำกัดใดบ้าง?
POST /v1/batches·openai/gpt-6.1-sol-pro:batch:requests.min_items:1