Google: Gemma 4 31B
A Gemma 4 31B IT a Google utasításokra hangolt, sűrű modellje szöveges és vizuális következtetéshez. 256K méretű kontextusa, konfigurálható gondolkodása, kép- és képkockaalapú videómegértése, valamint natív függvényhívása kódolási, dokumentum- és ágensfeladatokat támogat szöveges kimenettel.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgoogle/gemma-4-31b-it - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgoogle/gemma-4-31b-it
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
A Gemma 4 31B IT a Google DeepMind nyílt Gemma 4 családjának utasításokra hangolt sűrű kiadása. A Google a 31B modellt a modellminőség és feladathoz igazítás köré pozicionálja, míg a külön 26B A4B kiadás szakértők keverékével növeli a következtetés hatékonyságát. Ez a kártya az elnevezett, utasításokra hangolt 31B kiadásról szól, nem az előtanított súlyairól vagy kvantált származékáról.
A hivatalos sűrű architektúratáblázat 30.7 milliárd paramétert, 60 réteget, 1,024 tokenes csúszóablakot és 256K tokenes kontextust sorol fel. A család a helyi csúszóablakos figyelmet globális figyelemmel kombinálja, globális réteggel zár, és ehhez a modellhez külön vizuális kódolót használ. Az így létrejött profil szöveges és képi bemenetre, szöveges kimenettel készült. Ezek architekturális modelljellemzők; nem rögzítik egy alkalmazás válaszidejét, és nem jelentik más Gemma 4 méretek hangtámogatását.
A 256K tokenes kontextus jelentős szöveget és vizuális bizonyítékot egyesítő feladatot támogat. Egy prompton belül képek és szöveg váltakozhatnak; a gyártó jobb eredményhez a képtartalmat a kapcsolódó szöveg elé javasolja tenni. Vizuális feladat lehet tárgyfelismerés, dokumentumoldal értelmezése, képernyő és felület megértése, diagramok, többnyelvű OCR, kézírás és rámutatás. A kimenet szöveg: kinyert tartalom, magyarázat, kód vagy javasolt eszközművelet.
A videómegértés képkockasorozatot dolgoz fel. A modellkártya legfeljebb 60 másodpercet ad meg másodpercenként egy képkocka feldolgozásakor. Készítse elő a releváns jelenetsort, őrizze meg a képkockák sorrendjét, és adjon kérdést a látható sorozatról. Ez a 26B/31B vizuális profil nem fogad hangot; a kisebb, hangképes Gemma 4 változatok beszédképességei itt nem érvényesek. Ha a feladathoz beszélt információ kell, adja hozzá szövegként az átiratát.
A konfigurálható gondolkodás lehetővé teszi, hogy a modell válasz előtt következtessen vagy közvetlen választ adjon. A Gemma 4 a user és assistant szerepek mellé natív system szerepet ad. A Google promptformátuma a system promptban szereplő <|think|> vezérlőtokennel kapcsolja be a gondolkodást, és elkülöníti a gondolatcsatornát a végső választól; dokumentált processzora kezeli ezt a sablont. Többfordulós beszélgetésnél tartsa az előzményekben a korábbi végső válaszokat, a korábbi gondolatokat pedig hagyja ki, kivéve az eszközhívásos fordulókat, ahol a gyártó szerint meg kell őrizni őket.
A Native Function Calling támogatja a strukturált eszközhasználatot, és a Google bejelentése strukturált JSON-kimenetet is dokumentál. Határozza meg a feladatot, az elérhető függvényt és a várt eredményt; a kért műveletet az alkalmazás hajtja végre, és a következő lépéshez visszaadja a kimenetét. Programozási feladat kérhet generálást, kiegészítést vagy javítást, egy vizuális asszisztens pedig a visszaadott szöveggel magyarázhat diagramot vagy képernyőt. A függvényhívási utasítás különbözik egy ténylegesen végrehajtott összekapcsolt művelettől.
A változtatható képfelbontást a vizuális tokenkeret vezérli. A dokumentált értékek 70, 140, 280, 560 és 1,120 token. A kisebb keret osztályozásra, képaláírásra vagy képkockasorozatra alkalmas; nagyobb keret több részletet őriz meg OCR-hez, dokumentumfeldolgozáshoz és apró szöveghez, további számítás mellett. A kép előkészítése előtt döntse el, a teljes jelenet vagy a pontos betűzés szükséges-e. Egy címke jól látható kivágása hasznosabb lehet egy kinyerési feladathoz, mint egy teljes oldal minden részletének meghatározatlan vizsgálata.
A Google a család mintavételi konfigurációjaként temperature 1.0, top-p 0.95 és top-k 64 értéket ajánl. A modellkártya különbséget tesz a több mint 140 nyelven végzett képzés és a több mint 35 nyelven elérhető azonnali támogatás között. Adja meg a válasz nyelvét, és a feladatleírásban kifejezetten őrizze meg a tartományneveket, mezőneveket vagy képleteket. A 256K kontextusspecifikáció; az idézett modellkártya ehhez a kiadáshoz nem állapít meg külön, univerzális maximális kimeneti értéket.
Dokumentum- és kódfeladathoz adja meg a releváns oldal képét, az írott követelményt és a forrásrészletet: „Olvasd el a címkéket, magyarázd el, miben tér el ez a képernyő a specifikációtól, és javasolj célzott javítást a megadott kódhoz.” Diagramnál kérje, hogy a válasz különítse el a látható értékeket a következtetett trendtől. A Gemma modellkártyája korlátokat említ a kétértelmű nyelv, nagyon összetett feladatok és helytelen vagy elavult tényállítások kapcsán, ezért mellékelje azokat a hiteles tényeket, amelyeket a kért eredménynek használnia kell, ne várja, hogy ezeket a tanítási tudás önmagában biztosítsa.
Gyakorlati feladat
Gyakorlati feladat
Technikai példa angolul
Match a form to its written specification
Compare this textual form specification and code. Spec: Email is required and uses email validation; nickname is optional. Code: <input name="email" type="text"><input name="nickname" required>. Return a discrepancy table and corrected HTML. Preserve both field names and add visible labels for each field.Várt eredmény
A spec-to-code discrepancy table and an editable HTML fragment with corrected attributes and labels.Az eredmény ellenőrzése
Check that only email is required, its type is email and each label points to its matching input.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions google/gemma-4-31b-it
google/gemma-4-31b-itKezdő lépések
A Gemma 4 31B IT a Google utasításokra hangolt, sűrű modellje szöveges és vizuális következtetéshez. 256K méretű kontextusa, konfigurálható gondolkodása, kép- és képkockaalapú videómegértése, valamint natív függvényhívása kódolási, dokumentum- és ágensfeladatokat támogat szöveges kimenettel.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- Szöveg
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Bemenet
text- Kimenet
text- Kimeneti formátum
- json vagy SSE
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok google/gemma-4-31b-it | Alapértelmezett— |
Mezőmessages | Típusmessage[] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
Mezőmessages[].role | Típusstring | KövetelményKötelező | Értékek és korlátok Példák: system, user, assistant, tool, function Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus. Modelltől függ | Alapértelmezett— |
Mezőmessages[].content | Típusstring|content_part[]|null | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].tool_calls | Típustool_call[] | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].tool_call_id | Típusstring | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t | Alapértelmezett— |
Mezőmessages[].name | Típusstring | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].reasoning_content | Típusstring | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja | Alapértelmezett— |
Mezőmessages[].reasoning_details | Típusobject|array | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőmax_tokens | Típusinteger | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Modelltől függ | Alapértelmezett— |
Mezőmax_completion_tokens | Típusinteger | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Modelltől függ | Alapértelmezett— |
Mezőstream | Típusboolean | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
Mezőstream_options.include_usage | Típusboolean | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtemperature | Típusnumber | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtop_p | Típusnumber | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőstop | Típusstring|string[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtools | Típusfunction_tool[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtools[].type | Típusstring | KövetelményOpcionális | Értékek és korlátok function Modelltől függ | Alapértelmezett— |
Mezőtools[].function.name | Típusstring | KövetelményKötelező | Értékek és korlátok Akkor alkalmazandó, ha: Függvényeszköz megadva | Alapértelmezett— |
Mezőtools[].function.description | Típusstring | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőtools[].function.parameters | TípusJSON_schema | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőtool_choice | Típusstring|object | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőparallel_tool_calls | Típusboolean | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőresponse_format | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőreasoning_effort | Típusstring | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőreasoning | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőservice_tier | Típusstring | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőinstructions | Típusstring | KövetelményOpcionális | Értékek és korlátok Kompatibilitási mező | Alapértelmezett— |
Mezőfunctions | Típusfunction[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőfunction_call | Típusstring|object | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőprompt_cache_options | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőmodalities | Típusstring[] | KövetelményOpcionális | Értékek és korlátok text | Alapértelmezett— |
Mezőprovider | Típusobject | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasításra kerül ezen az Ultra szöveges útvonalon | Alapértelmezett— |
Mezőcache_control.ttl | Típusstring | KövetelményOpcionális | Értékek és korlátok Feltételek: Az 1h elutasításra kerül a tényleges prompt-gyorsítótárazási helyeken | Alapértelmezett— |
Bemeneti anyagok kombinációi
Szöveg · UTF8 szöveg
messages[].content
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, messages |
Paramétermaterial_types | Szerződéstext |
Paramétermessages | Szerződésüzenettömb role/content szerkezettel |
Paraméterfile_material | Szerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító |
Paraméteroptional_controls | Szerződésstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Paramétercontrol_scope | Szerződésmodellspecifikus; a felhasználói függvényeszközök eltérnek a hosztolt eszközöktől |
Paraméteroutput_modalities | Szerződéstext |
Paraméterhosted_operations | Szerződésfalse |
Paramétermultimodal_input_binding | Szerződésnull |
Életciklus: synchronous_or_streamed
Küldje el a pontos modellazonosítót a messages mellett.
A kontextushossz nem kimeneti felső korlát.
Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Normál díjszabás Ha a gyors mód van kiválasztva
- Flex mód
- Normál díjszabás Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
- Explicit gyorsítótárazás díjai
- Nincs engedélyezve Ha explicit gyorsítótárazást kérnek
Ailoot-díjak
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Kontextustokenek, több mint | Kontextustokenek, legfeljebb | Díj |
|---|---|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Kontextustokenek, több mint— | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.0002 / 1K token Kimenet · Kimeneti tokenek $0.00068 / 1K token Bemenet · Gyorsítótár olvasása $0.0002 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
| BeállításA kéréshossz szerinti 1. ársáv | Díjtáblázat— | Kontextustokenek, több mint0 | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.0002 / 1K token Kimenet · Kimeneti tokenek $0.00068 / 1K token Bemenet · Gyorsítótár olvasása $0.0002 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemma-4-31b-it", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='google/gemma-4-31b-it',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='google/gemma-4-31b-it',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Eredmények fogadása és mentése
Ailoot Ultra · OpenAI Chat
json vagy SSE
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőchoices[].index | Típusinteger |
Mezőchoices[].message.content | Típusstring|null |
Mezőchoices[].message.tool_calls | Típustool_call[] |
Mezőchoices[].message.reasoning_content | Típusstring |
Mezőchoices[].message.reasoning_details | Típusobject|array |
Mezőchoices[].finish_reason | Típusstring|null |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra google/gemma-4-31b-it
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
Ailoot Ultra · Anthropic Messages POST /v1/messages google/gemma-4-31b-it
google/gemma-4-31b-itKezdő lépések
A Gemma 4 31B IT a Google utasításokra hangolt, sűrű modellje szöveges és vizuális következtetéshez. 256K méretű kontextusa, konfigurálható gondolkodása, kép- és képkockaalapú videómegértése, valamint natív függvényhívása kódolási, dokumentum- és ágensfeladatokat támogat szöveges kimenettel.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- json · sse
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Bemenet
text- Kimenet
json,sse- Kimeneti formátum
- JSON vagy SSE
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok google/gemma-4-31b-it | Alapértelmezett— |
Mezőmessages | Típusmessage[] | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].role | Típusstring | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
Mezőmessages[].content | Típusstring | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőmax_tokens | Típusinteger | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőstream | Típusboolean | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
Bemeneti anyagok kombinációi
Szöveg · UTF-8 szöveg
messages[].content karakterlánc
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, messages, max_tokens |
Paraméteroptional_controls | Szerződésstream |
Paramétermaterial_types | Szerződéstext |
Paramétertext_file_material | SzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába. |
Életciklus: synchronous_or_streamed
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Normál díjszabás Ha a gyors mód van kiválasztva
- Flex mód
- Normál díjszabás Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
- Explicit gyorsítótárazás díjai
- Nincs engedélyezve Ha explicit gyorsítótárazást kérnek
Ailoot-díjak
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Kontextustokenek, több mint | Kontextustokenek, legfeljebb | Díj |
|---|---|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Kontextustokenek, több mint— | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.0002 / 1K token Kimenet · Kimeneti tokenek $0.00068 / 1K token Bemenet · Gyorsítótár olvasása $0.0002 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
| BeállításA kéréshossz szerinti 1. ársáv | Díjtáblázat— | Kontextustokenek, több mint0 | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.0002 / 1K token Kimenet · Kimeneti tokenek $0.00068 / 1K token Bemenet · Gyorsítótár olvasása $0.0002 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Anthropic Messages
{
"model": "google/gemma-4-31b-it",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemma-4-31b-it', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemma-4-31b-it', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Eredmények fogadása és mentése
Ailoot Ultra · Anthropic Messages
JSON vagy SSE
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőid | Típusstring |
Mezőmodel | Típusstring |
Mezőcontent[] | Típustext|thinking|tool_use|other content block |
Mezőstop_reason | Típusstring|null |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra google/gemma-4-31b-it
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · Google: Gemma 4 31B
- Milyen bemenetek és eredmények érhetők el?
POST /v1/chat/completions·google/gemma-4-31b-it:text→textPOST /v1/messages·google/gemma-4-31b-it:text→json,sse- Mely mezőket használja a kérés?
POST /v1/chat/completions·google/gemma-4-31b-it:model,messages,stream,modalities,providerPOST /v1/messages·google/gemma-4-31b-it:model,messages,max_tokens,stream- Milyen korlátok érvényesek?
POST /v1/chat/completions·google/gemma-4-31b-it:messages.min_items:1