Qwen3-4B
Qwen3-4B – keturių milijardų parametrų teksto modelis, skirtas instrukcijoms vykdyti, daugiakalbiams pokalbiams ir kodui. Hibridinė sandara palaiko tiesioginius atsakymus ir mąstymo režimą; konkrečiai laidai pateiktos kartojimosi valdymo rekomendacijos.
- Ailoot Ultra · OpenAI pokalbis
POST /v1/chat/completionsqwen3-4b - Ailoot Ultra · Anthropic pranešimai
POST /v1/messagesqwen3-4b
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Qwen3-4B taiko Qwen3 hibridinį atsakymo principą kompaktiškam tankiajam kalbiniam modeliui. Gamintojas aprašo matematinį ir loginį samprotavimą, kodo generavimą, kūrybinį rašymą, vaidmenimis paremtą sąveiką ir kelių ėjimų dialogą, taip pat instrukcijų laikymąsi daugiau nei 100 kalbų ir tarmių. Konkreti redakcinė ar techninė užduotis yra naudingas darbo būdas: pateikite tikslų šaltinio fragmentą ir paprašykite vieno aiškiai apibrėžto pakeitimo, o ne atviros apžvalgos.
Leidimas turi keturis milijardus parametrų, iš jų 3.6 milijardo be įterpinių, ir 36 sluoksnius. Grupuotų užklausų dėmesys naudoja 32 užklausų galvutes ir aštuonias raktų bei reikšmių galvutes. Tekstas yra tiek įvestis, tiek išvestis. Ši kortelė aprašo pradinį hibridinį Qwen3-4B leidimą, o ne vėlesnį datuotą Thinking ar Instruct modelį. Praktinis pavyzdys – trumpą incidento pastabą paversti operaciniu perdavimo įrašu, kuriame būtų pastebėta klaida, žinomas poveikis ir kitas tyrimo žingsnis. Šiuos faktus pateikite atskirais laukais ir reikalaukite, kad modelis pažymėtų trūkstamą informaciją, o ne ją užpildytų.
Instrukciją ir šaltinį paruoškite kaip atskiras pokalbio žinutės dalis. Programavimui pridėkite nedidelę funkciją, tipišką įvestį ir norimą grąžinamą reikšmę, tada paprašykite paaiškinimo ar siauro pakeitimo. Paprašykite išvestyje pateikti įprastą ir kraštinį atvejį. Rašymo užduočiai nurodykite auditoriją, ilgį ir žodyną, kuris turi išlikti nepakitęs. Klasifikavimo užduočiai pateikite leidžiamas žymas, jų apibrėžimus ir išvesties pavyzdį; grąžintą pasirinkimą vėliau reikia patikrinti pagal šį sąrašą. Paskelbta integracija tikisi Qwen3 atpažįstančios vykdymo aplinkos; kortelė įspėja, kad senesnės nei 4.51.0 Transformers versijos neatpažįsta reikiamos architektūros.
Samprotavimo ir nesamprotavimo režimai įdiegti tame pačiame leidime. Gamintojo šablone samprotavimas įjungtas pagal numatytąjį nustatymą, o griežtas jungiklis jį išjungia. Kai samprotavimas įjungtas, /think ir /no_think yra švelnios instrukcijos, kurios gali pakeisti elgesį tarp ėjimų; taikoma naujausia instrukcija. Jos neįjungia griežtai išjungto režimo. Trumpam teksto pakeitimui galima prašyti tiesioginio atsakymo, o prieštaringų sąlygų paaiškinimui – samprotavimo. Kaip naudingą pokalbio ėjimo rezultatą išsaugokite galutinį atsakymą, o ne ankstesnį samprotavimo tekstą. Įjungus samprotavimą, net švelnus prašymas nesamprotauti išlaiko samprotavimo bloką; jo turinys gali būti tuščias. Griežtas išjungimas tą bloką pašalina.
Modelio kortelė apima agentinį naudojimą ir įrankių apibrėžimams bei analizavimui rekomenduoja Qwen-Agent. Pagalbininkui, kuris klasifikuoja gautą pagalbos užklausą, o tada ieško kategorijos aprašymo, programa pateiktų paieškos įrankį, įvykdytų priimtą iškvietimą ir grąžintų rezultatą. Iš anksto apibrėžkite argumentus ir laukiamus laukus. Paprašykite galutinio užklausos įrašo su pasirinkta kategorija, trumpu pagrindimu ir nežinomais laukais. Patikrinkite įrašą ir išsaugokite jam sukurti naudotą įrankio rezultatą. Qwen3 vadove taip pat aprašyti lygiagretūs ir daugiapakopiai įrankių iškvietimai, kuriuose argumentai pateikiami kaip objektai, o rezultatai grąžinami į pokalbį.
Tikslioje kortelėje nurodyti 32,768 vietinio konteksto žetonai ir dokumentuotas išplėtimas iki 131,072 naudojant YaRN. Didesnė reikšmė susieta su konfigūracija; statinis mastelio keitimas gali paveikti trumpesnes įvestis. Visą užklausą ir atsakymą planuokite kartu. Trumpų pastabų rinkinyje pažymėkite kiekvieną elementą, paprašykite atitinkamo išvesties identifikatoriaus ir naudokite glaustą schemą, kad sugeneruotas rezultatas vis dar tilptų. Kortelės išvesties ilgio pavyzdžiai ir rekomendacijos nėra universali griežta generavimo riba. Qwen3 dokumentacijoje, aiškinant mokymo ilgius, aptariamas 38,912 žetonų assistant žinučių ilgis samprotavimo režime ir 16,384 – nesamprotavimo režime; rekomenduojama įvertinti ilgesnio generavimo kokybę. Šie skaičiai skiriasi nuo bendro konteksto lango ir nėra konkretaus galinio taško griežta riba. Kortelė taip pat paaiškina numatytąjį 40,960 žetonų pozicijų paskirstymą: 8,192 tipiškoms užklausoms ir 32,768 išvesčiai; tai gamintojo konfigūravimo gairės, atskiros nuo vietinio mokymo konteksto ir bet kurios galinio taško ribos.
Šis leidimas turi papildomą įspėjimą dėl nuolatinio pasikartojimo. Gamintojas nurodo rekomenduojamą atrankos sąranką ir siūlo presence_penalty 1.5, jei pastebimas didelis pasikartojimas. Bendrosiose rekomendacijose pažymima, kad stipresnės baudos gali sukelti mišrią kalbinę išvestį ar sumažinti kokybę, todėl tai tikslinis nustatymas, o ne garantija. Samprotavimo režimas naudoja temperature 0.6, top-p 0.95, top-k 20 ir min-p 0; nesamprotavimo režimas – 0.7, 0.8, 20 ir 0. Samprotavimui venkite godžiojo dekodavimo, reikalaukite aiškiai atskirto galutinio atsakymo ir patikrinkite, ar rezultatas nekartoja sakinio dalių, nepraleidžia laukų ir nekeičia terminijos.
Praktinė užduotis
Praktinė užduotis
Techninis pavyzdys anglų kalba
Turn an incident note into a handoff
Turn these facts into an operational handoff. Observed failure: report export stops with Disk full. Known impact: exports for Team C failed; other teams were not checked. Last completed step: temporary files listed, none deleted. Next step: identify approved cleanup candidates. Use four labelled lines and do not invent a restoration time or wider impact.Laukiamas rezultatas
Four labelled lines: Failure, Confirmed impact, Completed work and Next step.Rezultato patikra
Check that listing files is not reported as deleting them and untested teams remain outside confirmed impact.Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions qwen3-4b
qwen3-4bPradžia
Qwen3-4B – keturių milijardų parametrų teksto modelis, skirtas instrukcijoms vykdyti, daugiakalbiams pokalbiams ir kodui. Hibridinė sandara palaiko tiesioginius atsakymus ir mąstymo režimą; konkrečiai laidai pateiktos kartojimosi valdymo rekomendacijos.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions
- Įvestis
text- Išvestis
text- Išvesties formatas
- json arba SSE
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos qwen3-4b | Numatyta— |
Laukasmessages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasmessages[].role | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
Laukasmessages[].content | Tipasstring|content_part[]|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].tool_calls | Tipastool_call[] | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].tool_call_id | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
Laukasmessages[].name | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].reasoning_content | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
Laukasmessages[].reasoning_details | Tipasobject|array | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasmax_tokens | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
Laukasmax_completion_tokens | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
Laukasstream | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Laukasstream_options.include_usage | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastemperature | Tipasnumber | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastop_p | Tipasnumber | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasstop | Tipasstring|string[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastools | Tipasfunction_tool[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastools[].type | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
Laukastools[].function.name | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
Laukastools[].function.description | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukastools[].function.parameters | TipasJSON_schema | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukastool_choice | Tipasstring|object | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasparallel_tool_calls | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasresponse_format | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasreasoning_effort | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasreasoning | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasservice_tier | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasinstructions | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
Laukasfunctions | Tipasfunction[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasfunction_call | Tipasstring|object | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasprompt_cache_options | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasmodalities | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
Laukasprovider | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
Laukascache_control.ttl | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |
Įvesties medžiagos deriniai
Tekstas · UTF8 tekstas
messages[].content
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, messages |
Parametrasmaterial_types | Specifikacijatext |
Parametrasmessages | Specifikacijapranešimų masyvas su role/content struktūra |
Parametrasfile_material | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
Parametrasoptional_controls | Specifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrascontrol_scope | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
Parametrasoutput_modalities | Specifikacijatext |
Parametrashosted_operations | Specifikacijafalse |
Parametrasmultimodal_input_binding | Specifikacijanull |
Gyvavimo ciklas: synchronous_or_streamed
Siųskite tikslų modelio ID kartu su messages.
Konteksto ilgis nėra išvesties limitas.
Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.
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)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.0001 / 1K tokenų Išvestis · Išvesties tokenai $0.001 / 1K tokenų Įvestis · Talpyklos skaitymas $0 / 1K tokenų Įvestis · Rašymas į talpyklą $0 / 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 · OpenAI pokalbis
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen3-4b", "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='qwen3-4b',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='qwen3-4b',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")
Gauti ir išsaugoti rezultatus
Ailoot Ultra · OpenAI pokalbis
json arba SSE
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukaschoices[].index | Tipasinteger |
Laukaschoices[].message.content | Tipasstring|null |
Laukaschoices[].message.tool_calls | Tipastool_call[] |
Laukaschoices[].message.reasoning_content | Tipasstring |
Laukaschoices[].message.reasoning_details | Tipasobject|array |
Laukaschoices[].finish_reason | Tipasstring|null |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra qwen3-4b
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
Ailoot Ultra · Anthropic pranešimai POST /v1/messages qwen3-4b
qwen3-4bPradžia
Qwen3-4B – keturių milijardų parametrų teksto modelis, skirtas instrukcijoms vykdyti, daugiakalbiams pokalbiams ir kodui. Hibridinė sandara palaiko tiesioginius atsakymus ir mąstymo režimą; konkrečiai laidai pateiktos kartojimosi valdymo rekomendacijos.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- json · sse
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Anthropic pranešimai POST /v1/messages
- Įvestis
text- Išvestis
json,sse- Išvesties formatas
- JSON arba SSE
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos qwen3-4b | Numatyta— |
Laukasmessages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].role | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
Laukasmessages[].content | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmax_tokens | Tipasinteger | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasstream | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Įvesties medžiagos deriniai
Tekstas · UTF-8 tekstas
messages[].content eilutė
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, messages, max_tokens |
Parametrasoptional_controls | Specifikacijastream |
Parametrasmaterial_types | Specifikacijatext |
Parametrastext_file_material | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |
Gyvavimo ciklas: synchronous_or_streamed
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)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.0001 / 1K tokenų Išvestis · Išvesties tokenai $0.001 / 1K tokenų Įvestis · Talpyklos skaitymas $0 / 1K tokenų Įvestis · Rašymas į talpyklą $0 / 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 · Anthropic pranešimai
{
"model": "qwen3-4b",
"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': 'qwen3-4b', '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': 'qwen3-4b', '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))
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Anthropic pranešimai
JSON arba SSE
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukascontent[] | Tipastext|thinking|tool_use|other content block |
Laukasstop_reason | Tipasstring|null |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra qwen3-4b
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Qwen3-4B
- Kokios įvestys ir rezultatai prieinami?
POST /v1/chat/completions·qwen3-4b:text→textPOST /v1/messages·qwen3-4b:text→json,sse- Kokius laukus naudoja užklausa?
POST /v1/chat/completions·qwen3-4b:model,messages,stream,modalities,providerPOST /v1/messages·qwen3-4b:model,messages,max_tokens,stream- Kokie apribojimai taikomi?
POST /v1/chat/completions·qwen3-4b:messages.min_items:1