Qwen: Qwen3.8 2.4T A95B
Qwen3.8-2.4T-A95B – retasis Qwen ekspertų mišinio tekstinio samprotavimo modelis, iš viso turintis 2.4 trilijono parametrų ir aktyvinantis 95 milijardus. Šis atviras kontrolinis taškas visada mąsto, palaiko reguliuojamą samprotavimo intensyvumą ir išlaiko samprotavimo kontekstą ilgalaikiam programavimui bei profesinėms užduotims.
- Ailoot Ultra · OpenAI pokalbis
POST /v1/chat/completionsqwen/qwen3.8-2.4t-a95b - Ailoot Ultra · Anthropic pranešimai
POST /v1/messagesqwen/qwen3.8-2.4t-a95b
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Qwen3.8 privalumai: ilgalaikis tekstinis samprotavimas
Qwen3.8-2.4T-A95B – atviras Qwen3.8 kontrolinis taškas tekstiniam samprotavimui. Qwen aprašo programavimo, profesinio darbo, tyrimų ir ilgalaikių agentų užduočių patobulinimus, įskaitant planavimą bei aplinkos grįžtamojo ryšio naudojimą. Jis priima ir grąžina tekstą. Gamintojas aiškiai atskiria jį nuo valdomos Qwen3.8-Max paslaugos: regos įvestis ir nemąstymo palaikymas yra papildomos tos paslaugos funkcijos, o ne šio konkretaus atviro kontrolinio taško gebėjimai.
Programavimo užduočiai pateikite susijusius modulius, reikalavimą ir dabartinį veikimą atskleidžiančią įvestį. Prašykite paaiškinto pakeitimo ir peržiūrimo galutinio rezultato. Tyrimo ar profesinei ataskaitai pateikite įrodymus, reikiamus skyrius ir vertinimo kriterijus, tada prašykite modelio atskirti pagrįstas išvadas nuo prielaidų. Tai praktiniai dokumentuotos užduočių aprėpties pritaikymai, o ne pažadai apie įvykdytą kodą ar ekspertų patvirtintas išvadas.
Modelio apžvalga
Retasis ekspertų mišinio modelis iš viso turi 2.4 trilijono parametrų ir aktyvina 95 milijardus. Jame yra 92 sluoksniai ir 512 maršrutizuojamų ekspertų; parenkama dešimt maršrutizuojamų ekspertų kartu su vienu bendru ekspertu. Hibridiniai blokai derina Gated DeltaNet ir valdomą dėmesį su ekspertų sluoksniais pagal trijų ir vieno santykį. Kelių žetonų prognozavimas yra mokymo dalis. Aktyvinamų parametrų skaičius nėra visas kontrolinio taško dydis, o didelis bendras skaičius nepatvirtina atsakymo laiko garantijos.
Savasis kontekstas yra 262,144 žetonai; dokumentuotas išplėtimas iki 1,010,000. Tai skiriasi nuo valdomo Max žinyno numatytojo milijono žetonų konteksto. Pradiniam tekstui, pokalbio istorijai, samprotavimui ir galutiniam atsakymui naudokite tikrą sukonfigūruotą sekos apimtį, užuot manę, kad visi didžiausi skaičiai taikomi kartu.
Konkretaus mąstymo kontrolinio taško naudojimas
Mąstymas privalomas kiekvienai sąveikai ir negali būti išjungtas. Dokumentuota išvestis prasideda samprotavimo bloku prieš galutinį tekstą. reasoning_effort palaiko xhigh, medium ir low; numatytasis – xhigh. Low sumažina numatytą gylį, bet lieka mąstymo režimu. Prašymas pateikti glaustą galutinį atsakymą gali valdyti pageidaujamą rezultatą, nepaversdamas šio modelio nemąstymo laida.
preserve_thinking įjungtas pagal numatytąsias nuostatas. Ankstesnių ėjimų samprotavimo išlaikymas padeda iteracinei užduočiai perkelti sprendimų kontekstą į priekį. Pataisas, įrankių rezultatus ir galutinį atsakymą laikykite susietus su juos sukūrusiais ėjimais. Šis modelis turi laikytis savo istorijos sutarties, o ne perimti senesnį patarimą iš ankstesnių pranešimų pašalinti visus samprotavimo blokus. Tikslus intensyvumo ir išlaikymo valdiklių prieinamumas priklauso nuo kontrolinio taško receptą įgyvendinančios sąsajos.
Vykdymo karkasai ir aplinkos grįžtamasis ryšys
Qwen aprašo suderinamumą su kūrimo vykdymo karkasais ir įrankiais. Ilgalaikę užduotį galima išreikšti tikslu, leidžiamais veiksmais ir užbaigimo įrodymais; programa tada gali pateikti peržiūros ar vykdymo stebėjimus. Paprašykite modelio paaiškinti, kaip kiekvienas naujas rezultatas keičia planą, ir nurodyti, kas lieka neišspręsta. Veiksmo planavimas ir tikro rezultato gavimas yra skirtingos šio proceso dalys.
Kortelės valdomo Max pavyzdžiuose yra papildomų įtaisytųjų įrankių. Jų nereikėtų paversti automatine šio atviro modelio paieška žiniatinklyje, kodo vykdymu ar vaizdine įvestimi. Naudingas jo vaidmuo – tekstinio samprotavimo komponentas prijungtame procese; įrankiai ir išorinis poveikis priklauso juos suteikiančiai programai.
Generavimo rekomendacijos
Gamintojas rekomenduoja temperature 1.0, top_p 0.95, top_k 20, min_p 0, baudą už jau pavartotus žetonus 0 ir kartojimo baudą 1.0. Jei palaikoma, nuo nulio iki dviejų nustatyta bauda už jau pavartotus žetonus gali sumažinti pasikartojantį tekstą, tačiau didesnės reikšmės gali sukelti kalbų maišymą ar šiek tiek pabloginti kokybę. Parametrų palaikymas priklauso nuo realizacijos.
Sukonfigūruotam milijono žetonų procesui su atskiromis samprotavimo ir galutinio atsakymo ribomis Qwen rekomenduoja 262,144 žetonų samprotavimui ir 131,072 galutiniam atsakymui. Tai sąlyginės apimtys, o ne atskirai nustatytos griežtos ribos ar biudžetai, kartu telpantys į savąjį 262,144 žetonų kontekstą. Skirkite pakankamai vietos išsamiam rezultatui ir prašykite galutinio rezultato, kurį po samprotavimo lengva rasti.
Praktinės ribos
Šis kontrolinis taškas nepriima vaizdų, garso ar vaizdo įrašų. Prireikus atskiru procesu paverskite susijusius įrodymus tinkama tekstine forma, išlaikydami identifikatorius, leidžiančius patikrinti atsakymą. Kortelėje nurodomas išplėstas kontekstas, bet nepateikiamas išsamus kiekvienos užduoties išplėtimo receptas ar universali medijos riba šiam vien tekstiniam modeliui. Išlaikykite tikslų kontrolinio taško identifikatorių ir konfigūraciją, tikrinkite skaičiavimus bei kodo pasiūlymus pagal šaltinį, o galutinį rezultatą laikykite peržiūrėtinu rezultatu, ne visos išorinės užduoties užbaigimo įrodymu.
Praktinė užduotis
Praktinė užduotis
Techninis pavyzdys anglų kalba
Review a resumable migration plan
Review this migration design against the requirement that every row is copied exactly once. Step 1 copies 100 rows after last_id. Step 2 saves last_id. A crash can occur between steps. Explain the duplicate risk after restart and propose a minimal idempotent write or atomic checkpoint design. Include a test that interrupts precisely between the two steps.Laukiamas rezultatas
A cause analysis, one concrete correction strategy and a crash-point regression scenario.Rezultato patikra
Rerunning after the interruption cannot produce duplicate destination rows or skip uncopied source rows.Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions qwen/qwen3.8-2.4t-a95b
qwen/qwen3.8-2.4t-a95bPradžia
Qwen3.8-2.4T-A95B – retasis Qwen ekspertų mišinio tekstinio samprotavimo modelis, iš viso turintis 2.4 trilijono parametrų ir aktyvinantis 95 milijardus. Šis atviras kontrolinis taškas visada mąsto, palaiko reguliuojamą samprotavimo intensyvumą ir išlaiko samprotavimo kontekstą ilgalaikiam programavimui bei profesinėms užduotims.
- 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 qwen/qwen3.8-2.4t-a95b | 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
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Samprotavimo pastangos · low
- Standartinis įkainis Kai samprotavimo pastangų lygis yra low
- Samprotavimo pastangos · medium
- Standartinis įkainis Kai samprotavimo pastangų lygis yra medium
- Samprotavimo pastangos · xhigh
- Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh
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.004 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 1K tokenų Įvestis · Rašymas į talpyklą $0.005 / 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 imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.004 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 1K tokenų Įvestis · Rašymas į talpyklą $0.005 / 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": "qwen/qwen3.8-2.4t-a95b", "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='qwen/qwen3.8-2.4t-a95b',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='qwen/qwen3.8-2.4t-a95b',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 qwen/qwen3.8-2.4t-a95b
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
Ailoot Ultra · Anthropic pranešimai POST /v1/messages qwen/qwen3.8-2.4t-a95b
qwen/qwen3.8-2.4t-a95bPradžia
Qwen3.8-2.4T-A95B – retasis Qwen ekspertų mišinio tekstinio samprotavimo modelis, iš viso turintis 2.4 trilijono parametrų ir aktyvinantis 95 milijardus. Šis atviras kontrolinis taškas visada mąsto, palaiko reguliuojamą samprotavimo intensyvumą ir išlaiko samprotavimo kontekstą ilgalaikiam programavimui bei profesinėms užduotims.
- 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 qwen/qwen3.8-2.4t-a95b | 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
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Samprotavimo pastangos · low
- Standartinis įkainis Kai samprotavimo pastangų lygis yra low
- Samprotavimo pastangos · medium
- Standartinis įkainis Kai samprotavimo pastangų lygis yra medium
- Samprotavimo pastangos · xhigh
- Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh
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.004 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 1K tokenų Įvestis · Rašymas į talpyklą $0.005 / 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 imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.004 / 1K tokenų Išvestis · Išvesties tokenai $0.012 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 1K tokenų Įvestis · Rašymas į talpyklą $0.005 / 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": "qwen/qwen3.8-2.4t-a95b",
"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': 'qwen/qwen3.8-2.4t-a95b', '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': 'qwen/qwen3.8-2.4t-a95b', '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 qwen/qwen3.8-2.4t-a95b
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Qwen: Qwen3.8 2.4T A95B
- Kokios įvestys ir rezultatai prieinami?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:text→textPOST /v1/messages·qwen/qwen3.8-2.4t-a95b:text→json,sse- Kokius laukus naudoja užklausa?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3.8-2.4t-a95b:model,messages,max_tokens,stream- Kokie apribojimai taikomi?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:messages.min_items:1