Google: Gemini 3.1 Pro Preview (batch)
Gemini 3.1 Pro Preview – tai „Google“ multimodalus samprotavimo modelis sudėtingoms programinės įrangos, algoritmų ir žinių užduotims. Jis priima tekstą, vaizdus, garsą, vaizdo įrašus ir PDF, o grąžina tekstą ar kodą, su įrankiais ir struktūruota išvestimi. Low, medium ir high samprotavimo lygiai valdo pastangas; dokumentuotas numatytasis yra high.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Gemini 3.1 Pro Preview – Google į samprotavimą orientuotas tekstinis modelis sudėtingoms užduotims, kurioms reikia programinės įrangos inžinerijos, algoritmų kūrimo arba skirtingų rūšių įrodymų sintezės. Jis sukurtas Gemini 3 Pro pagrindu, akcentuojant tikslų įrankių naudojimą, efektyvesnį samprotavimą ir patikimą kelių etapų vykdymą. Tekstas, vaizdai, garsas, vaizdo įrašai ir PDF gali prisidėti prie rašytinio atsakymo, kodo artefakto arba struktūrizuoto rezultato.
Sudėtingai programavimo užduočiai pateikite tikslą, susijusią saugyklos medžiagą, pastebėtą elgseną ir išsaugotinus apribojimus. Užduoties kontekstą gali suteikti ištisos kodo saugyklos. Tikrindami kodo sutartį paprašykite modelio palyginti, kaip du moduliai tvarko bendrą duomenų sutartį, nustatyti neatitikimą ir pasiūlyti tikslingą pataisą su pagrindžiančiomis nuorodomis į kodą. Naudingoje išvestyje analizė, siūloma pataisa ir įrodymai atskiriami nuo bet kokios prijungtos programos atliktos patikros.
Pristatymo medžiagoje demonstruojami kodu paremti vizualiniai paaiškinimai ir interaktyvūs projektai, įskaitant iš tekstinės užduoties gautą animuotą SVG. Tai kodo artefaktai, o ne rastrinių vaizdų generavimas. Aiški užduotis gali apibrėžti, ką reikia paaiškinti, kaip vizualizacija turi veikti ir kokius duomenis atvaizduoti. Patikrinkite gautą kodą ir jo atvaizdavimą pagal šiuos reikalavimus. Duomenų sintezės užduočiai pateikite tikruosius šaltinius ir paprašykite vieno vaizdo, išsaugančio juose esančius ryšius ir patikslinimus.
Dokumentuoti samprotavimo lygiai yra low, medium ir high; 3.1 Pro Preview numatytasis lygis – high. Šiame Pro profilyje samprotavimo negalima visiškai išjungti. Ribotos apimties atsakymui rinkitės mažesnes pastangas, o sudėtingam kelių etapų darbui – daugiau samprotavimo, palikdami pakankamą išvesties biudžetą galutiniam artefaktui. Maža išvesties riba gali nutraukti samprotavimą dar nepateikus tinkamo galutinio atsakymo. Samprotavimo vadove jo santrauka atskiriama nuo viso vidinio proceso ir paaiškinama pokalbio samprotavimo parašų konteksto svarba.
Tikslioje Preview lentelėje nurodyti funkcijų iškvietimas, kodo vykdymas, atsakymų pagrindimas paieška, pagrindimas Maps duomenimis, URL kontekstas ir struktūrizuota išvestis. File Search joje apribota AI Studio. Apibrėžkite funkcijų paskirtį ir parametrus bei tęskite darbą nuo tikro grąžinto rezultato. Atskiras Custom Tools Preview profilis optimizuotas teikti pirmenybę pasirinktiniams įrankiams ir bash; tai atskiras pavadintas gamintojo galinis taškas, todėl šios specializacijos nereikėtų tyliai priskirti kiekvienai 3.1 Pro užklausai. Kai užduočiai reikia apibrėžtų įrašų, o ne laisvo teksto, pasirinkite struktūrizuoto rezultato schemą.
Daugiarūšei analizei nurodykite reikiamą puslapį, vaizdą, garso įrašo intervalą ar vaizdo įrašo įvykį. Dokumentų analizėje palyginkite schemą su jos rašytine specifikacija ir grąžinkite kiekvieną neatitikimą su jį pagrindžiančia ištrauka. Sakytinis šaltinis gali pateikti transkriptą arba tekstinę interpretaciją. Išvadoms, kurias reikia patikrinti, išsaugokite nuorodas į šaltinius ir atskirkite tai, kas matoma ar pasakyta, nuo to, kas numanoma. Šio profilio išvestis išlieka tekstinė, įskaitant kodą; įtaisytasis vaizdų ar kalbos generavimas nėra tikslios jo galimybių lentelės dalis.
Gamintojo 3.1 Pro kortelėje nurodytas iki 1M kontekstas ir 64K tekstinė išvestis, o tikslioje Preview API lentelėje – 1,048,576 įvesties žetonų ir 65,536 išvesties žetonų. Instrukcijas, pokalbio istoriją ir mediją įskaičiuokite į įvesties biudžetą. Dokumentuoti podėlis ir paketinis apdorojimas, taip pat gamintojo profiliui pateiktos Flex ir Priority parinktys. Keliems nepriklausomiems elementams apibrėžkite reikalingą išvestį ir išsaugokite kiekvieno šaltinio identifikatorių, užuot nesusijusius įrodymus sujungę į vieną neatsekamą atsakymą.
Pavadinta Preview versija išlieka atskira nuo Pro Custom Tools profilio ir vėlesnių Flash ar Pro leidimų. Jos stiprybės susijusios su sudėtingu samprotavimu, programavimu ir įrodymų sinteze; galutinį artefaktą vis tiek reikia tikrinti pagal šaltinį ir tikrus įrankių rezultatus. Išsaugokite neišspręstą dviprasmybę, kai pateikta informacija neleidžia daryti tvirtos išvados. Naudingas rezultatas yra pagrįstas atsakymas, kodas ar įrašas, kurio prašė užduotis, su pakankamais įrodymais jo praktinėms riboms įvertinti.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batchPradžia
Gemini 3.1 Pro Preview – tai „Google“ multimodalus samprotavimo modelis sudėtingoms programinės įrangos, algoritmų ir žinių užduotims. Jis priima tekstą, vaizdus, garsą, vaizdo įrašus ir PDF, o grąžina tekstą ar kodą, su įrankiais ir struktūruota išvestimi. Low, medium ir high samprotavimo lygiai valdo pastangas; dokumentuotas numatytasis yra high.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
- Įvestis
text- Išvestis
text- Išvesties formatas
- tiesiogiai įterptas results[].response.body JSON
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasendpoint | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos /v1/chat/completions | Numatyta— |
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos google/gemini-3.1-pro-preview:batch | Numatyta— |
Laukasrequests | Tipasbatch_item[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasrequests[].custom_id | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.messages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukascompletion_window | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 24h | Numatyta— |
Laukasprovider | Tipasobject|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.model | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos google/gemini-3.1-pro-preview:batch, google/gemini-3.1-pro-preview | Numatyta— |
Laukasprovider.only | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos google-vertex/global | Numatyta— |
Laukasprovider.allow_fallbacks | Tipasboolean|null | ReikalavimasNeprivaloma | Reikšmės ir ribos false, null | Numatyta— |
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijaendpoint, model, requests |
Parametrasmaterial_types | Specifikacijatext |
Parametrasrepresentation | Specifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus |
Parametrasrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parametrasfile_material | SpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST. |
Parametrasserialization_order | Specifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai |
Parametrasoptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parametrasschema_scope | SpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje. |
Gyvavimo ciklas: asynchronous
GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Išreikštinio podėlio kainodara
- Neįjungta Kai prašoma išreikštinio podėlio
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.002 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai200 000 | Mokestis Įvestis · Įvesties tokenai $0.002 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei200 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.004 / 1K tokenų Išvestis · Išvesties tokenai $0.018 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Paketinis apdorojimas
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.
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Paketinis apdorojimas
tiesiogiai įterptas results[].response.body JSON
GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
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
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasresults[].custom_id | Tipasstring |
Laukasresults[].response.body.choices[].message.content | Tipasstring|null |
Laukasresults[].error | Tipasobject|null |
Laukasusage | Tipasobject|null |
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukasendpoint | Tipasstring |
Laukasstatus | Tipasstring |
Laukasrequest_counts | Tipasobject |
Laukasresults[].id | Tipasstring |
Laukasresults[].response.status_code | Tipasinteger |
Laukasresults[].response.request_id | Tipasstring |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis. | Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus. |
Atsakymas401 · authentication_error | SąlygaNegaliojantis API raktas. | Kitas žingsnisNaudokite leistiną Ailoot raktą. |
Atsakymas403 · permission_error | SąlygaPaketinio apdorojimo grupė neprieinama. | Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises. |
Atsakymas422 · invalid_request_error | SąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos. | Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso. |
Atsakymas422 · price_unavailable | SąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos. | Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį. |
Atsakymas402 · billing_error | SąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas. | Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą. |
Atsakymas503 · price_unavailable | SąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami. | Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis. |
Atsakymas503 · api_error | SąlygaKonkretus tiekėjo maršrutas neprieinamas. | Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti. |
Atsakymas503 · result_pending_check | SąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false. | Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos. |
Atsakymas404 · not_found | SąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe. | Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra google/gemini-3.1-pro-preview:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Google: Gemini 3.1 Pro Preview (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:requests.min_items:1