Source: https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/
Canonical: https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/
Language: fi

# Qwen: Qwen3 Next 80B A3B Instruct

[Markdown](https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/index.md) · [JSON](https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/facts.json)

## [Qwen: Qwen3 Next 80B A3B Instruct](https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/)

Qwen3-Next-80B-A3B-Instruct on Qwenin ei-ajatteluversio tekstille. Siinä on yhteensä 80 miljardia ja 3 miljardia aktivoitua parametria. Se yhdistää hybridihuomioinnin, harvat asiantuntijat ja työkalukutsut natiiviin 262 144 tokenin kontekstiin, joka voidaan asetuksilla laajentaa 1 010 000 tokeniin.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/qwen-qwen3-next-80b-a3b-instruct/#method-1)

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

Qwen3-Nextin keskeiset ominaisuudet: suorat tekstiohjeet

Qwen3-Next-80B-A3B-Instruct on Qwen3-Nextin ohjeita noudattava, ei-ajatteluun perustuva tekstiversio. Se ottaa vastaan tekstiä ja palauttaa tekstiä, myös selityksiä, koodiehdotuksia ja pyydettyjä asiakirjatuotoksia. Se ei generoi nimenomaisia ajattelulohkoja. Pidä se erillään Thinking-versiosta ja ohjelmointiin erikoistuneesta Qwen3-Coder-Nextistä; yhteinen perhearkkitehtuuri ei tee niiden vastaustoimintatavoista keskenään vaihdettavia.

Perhe tuo hybridihuomioinnin, joka yhdistää Gated DeltaNetin ja portitetun huomioinnin, erittäin harvan asiantuntijarakenteen, vakausoptimointeja, kuten nollakeskitetyn ja painon vaimennusta käyttävän kerrosnormalisoinnin, sekä usean tokenin ennustamisen. Nämä muutokset koskevat pitkien sekvenssien esitystä ja koulutusta. Niiden päättelytehokkuus riippuu toteutuksesta, joten arkkitehtuuriluvuista ei tulisi tehdä kiinteää viive- tai läpäisykykytakuuta.

Mallin yleiskuva

Tarkistuspisteessä on yhteensä 80 miljardia parametria, ja se aktivoi kolme miljardia. Siinä on 48 kerrosta toistuvassa asiantuntijamallissa, jossa kolmea DeltaNet-kerrosta seuraa yksi portitetun huomioinnin kerros. Valmistaja luettelee 512 asiantuntijaa, kymmenen aktivoitua asiantuntijaa ja yhden jaetun asiantuntijan sekä 15 biljoonan tokenin esikoulutuksen ja sitä seuraavan jälkikoulutuksen. Aktivoidut parametrit eivät ole koko tarkistuspisteen koko.

Natiivi konteksti on 262 144 tokenia, ja dokumentoitu laajennus yltää 1 010 000 tokeniin. Valmistajan käyttöönottoesimerkit sallivat pienemmän kontekstin, kuten 32 768, kun resurssirajoitukset estävät suurempaa asetusta toimimasta. Teksti, keskusteluhistoria, työkaluhavainnot ja generoitu sisältö jakavat määritetyn sekvenssibudjetin. Laajennus on lisäasetuspolku, ei oletusarvoinen rajaton syöte.

Ohjerajapinnan käyttö

Tämä malli tukee vain ohjeita noudattavaa ei-ajattelutilaa. Se voi selittää algoritmin, näyttää laskelmia tai perustella johtopäätöksen tavallisena tekstinä tuottamatta omaa ajattelulohkoa. Pyydä tuotoksen muotoa ja rajoja: kokonainen funktio, tiivis raportti, näyttötaulukko tai vastaus perusteluineen. Pitkän selityksen pyytäminen ei muuta sitä erikseen nimetyksi Thinking-tarkistuspisteeksi.

Säilytä asiakirjatehtävässä osiotunnisteet ja määrittele kysymykset, joihin raportin on vastattava. Anna koodille olennainen funktio tai moduuli, syötteen rajoitteet ja odotettu tuloste. Anna matematiikassa koko tehtävänanto ja pyydä rajattu lopputulos. Vertaa palautettuja laskelmia, koodia tai selitystä annettuihin ehtoihin ja todellisiin tuloksiin.

Toteutus ja työkalut

Valmistaja dokumentoi työkalukutsut ja suosittelee Qwen-Agentia mallineisiin ja jäsentämiseen käyttäen määritettyjä tai MCP:n kautta liitettyjä työkaluja. Liitetty työnkulku voi tarjota tiedonhakua, tarkastusta tai sallittua suorittamista ja palauttaa todellisia havaintoja. Ilmoita työkalut, sallitut toimet ja näkyvät valmistumisen ehdot ja pyydä sitten loppuraporttia erottamaan ehdotukset todella palautetuista tuloksista.

Usean tokenin ennustaminen kuuluu koulutukseen, mutta sen käyttö päättelyssä riippuu toteutuksesta eikä ole yleisesti saatavilla kaikissa kevyissä työnkuluissa. Malline tai arkkitehtuuriominaisuus ei itsessään vahvista pääsyä ajantasaisiin lähteisiin, tiedostoihin tai koodiympäristöön. Säilytä valitun rajapinnan käyttämä täsmällinen malli ja keskustelumuoto.

Erittäin pitkä teksti

Valmistaja vahvistaa noin miljoonan tokenin kontekstin YaRNilla ja antaa nelinkertaisen skaalauksen ohjeen, joka perustuu 262 144 natiiviin sijaintiin. 524 288 tokenin työkuormille se ehdottaa kaksinkertaista kerrointa. Staattinen skaalaus voi heikentää lyhyempien tekstien suorituskykyä, joten asetusten tulisi seurata todellista pidemmän syötteen tarvetta.

Pidä pitkä aineisto järjestettynä asiakirjan, koodipolun tai osion mukaan ja poista asiaan kuulumaton toisto. Pyydä vastausta yksilöimään tukevat katkelmat tai ehdot. Varaa tilaa vastaukselle sen sijaan, että käsittelisit suurinta kontekstilukua kaikkien annettujen yksityiskohtien täydellisenä muistamisena. Julkaistu 1 010 000 tokenin laajennusluku ja noin miljoonan tokenin validointi rajautuvat edelleen valmistajan pitkän kontekstin työnkulkuun.

Generointiohjeet

Best Practices suosittelee asetuksia temperature 0.7, top\_p 0.8, top\_k 20 ja min\_p 0. Siellä, missä se on tuettu, presence penalty välillä nolla–kaksi voi vähentää toistuvaa tekstiä, mutta suuremmat arvot voivat sekoittaa kieliä tai heikentää laatua hieman. Valmistaja suosittelee useimmille kyselyille 16 384 tokenin tulostebudjettia. Tämä on suositeltu generointibudjetti, ei erillinen pakottava enimmäismäärä; sen ei tulisi periä Thinking-version pidempiä budjetteja.

Määrittele tuloksen muoto nimenomaisesti, kuten matemaattinen erotin tai vastauskenttä. Pidä lopullinen tuotos helposti tarkastettavana ja tarkista sen laskelmat, lainaukset tai koodi lähdettä vasten. Tämä pelkkää tekstiä käyttävä versio ei hyväksy kuvia, ääntä tai videota omana syötteenään, joten nämä aineistot tarvitsevat sopivan erillisen esitysmuodon ennen kuin ne voivat tukea tehtävää.

Käytännön tulos

Hyödyllinen tuloste on annettuihin ehtoihin perustuva konkreettinen tekstimuotoinen tuotos: asiakirjan selitys, koodiehdotus tai suora vastaus vaadittuine tukitietoineen. Pitkä konteksti ja työkalukutsut voivat auttaa kuljettamaan enemmän näyttöä työnkulun läpi, kun taas ei-ajattelutoimintatapa pitää juuri tämän version tulostustyylin selkeänä. Tarkista tulos todellisessa tehtäväympäristössä sen sijaan, että päättelisit oikeellisuuden pituudesta tai vakuuttavista sanamuodoista.

Käytännön tehtävä

### Käytännön tehtävä

Tekninen esimerkki englanniksi

```
Explain a section-specific decision

Answer only from these procedure sections. Section 2: standard purchases need a manager's approval. Section 4: emergency safety purchases may proceed first, but must be reported to that manager within one day. Case: a broken emergency exit light needs replacement today. Give a concise recommendation with section references and identify the follow-up obligation. Do not invent an approval already granted.
```

#### Odotettu tulos

```
A direct recommendation with supporting sections and the one-day reporting obligation.
```

#### Tarkista tulos

```
The emergency exception retains its reporting condition and is not generalised to all purchases.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-next-80b-a3b-instruct`

[`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=chat)

Alibaba /`qwen/qwen3-next-80b-a3b-instruct`

### Aloitus

Qwen3-Next-80B-A3B-Instruct on Qwenin ei-ajatteluversio tekstille. Siinä on yhteensä 80 miljardia ja 3 miljardia aktivoitua parametria. Se yhdistää hybridihuomioinnin, harvat asiantuntijat ja työkalukutsut natiiviin 262 144 tokenin kontekstiin, joka voidaan asetuksilla laajentaa 1 010 000 tokeniin.

Hyväksytyt syötteet

Teksti

Tulokset

Teksti

### Saatavilla Ailootissa · syötteet & menetelmät

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Syötetyypit

`text`

Tulostyypit

`text`

Tulosteen muoto

json tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat qwen/qwen3-next-80b-a3b-instruct | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Esimerkit: system, user, assistant, tool, function Ehdot: Nämä roolit esitetään nimenomaisesti lähdekoodin yhteensopivuustyypeissä; mallin täsmällinen roolijoukko pysyy mallikohtaisena. Riippuu mallista | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string\|content_part[]\|null` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_calls` | Tyyppi`tool_call[]` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_call_id` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: role=tool; käytä todella palautettua ID:tä | Oletus— |
| Kenttä`messages[].name` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].reasoning_content` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Palauta todella saatu päättely takaisin mallille, kun kyseinen malli käyttää sitä | Oletus— |
| Kenttä`messages[].reasoning_details` | Tyyppi`object\|array` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`max_completion_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
| Kenttä`stream_options.include_usage` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`temperature` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`top_p` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`stop` | Tyyppi`string\|string[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools` | Tyyppi`function_tool[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools[].type` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat function Riippuu mallista | Oletus— |
| Kenttä`tools[].function.name` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Sovelletaan, kun: funktiotyökalu annettu | Oletus— |
| Kenttä`tools[].function.description` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tools[].function.parameters` | Tyyppi`JSON_schema` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tool_choice` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`parallel_tool_calls` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`response_format` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning_effort` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`service_tier` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`instructions` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Yhteensopivuuskenttä | Oletus— |
| Kenttä`functions` | Tyyppi`function[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`function_call` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`prompt_cache_options` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`modalities` | Tyyppi`string[]` | VaatimusValinnainen | Arvot & rajat text | Oletus— |
| Kenttä`provider` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Ehdot: provider.options hylätään tällä Ultran tekstireitillä | Oletus— |
| Kenttä`cache_control.ttl` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Ehdot: 1h hylätään varsinaisissa kehotevälimuistin kohdissa | Oletus— |

Syöteaineistojen yhdistelmät

**Teksti** · UTF8-teksti

`messages[].content`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages |
| Parametri`material_types` | Sopimustext |
| Parametri`messages` | Sopimusviestitaulukko role/content-rakenteella |
| Parametri`file_material` | Sopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä |
| Parametri`optional_controls` | Sopimusstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametri`control_scope` | Sopimusmallikohtainen; käyttäjän funktiotyökalut eroavat palvelun isännöimistä työkaluista |
| Parametri`output_modalities` | Sopimustext |
| Parametri`hosted_operations` | Sopimusfalse |
| Parametri`multimodal_input_binding` | Sopimusnull |

Elinkaari: `synchronous_or_streamed`

Lähetä mallin täsmällinen ID yhdessä messages-kentän kanssa.

Kontekstin pituus ei ole tuloksen yläraja.

Tekstitiedosto voi antaa tekstiä sellaisenaan; kuva-, ääni- ja tiedosto-objektisyötteet tarvitsevat täsmällisen sidonnan.

### Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Vakiohinta Kun nopea tila on valittu

Flex-tila

Vakiohinta Kun flex-tila on valittu

Päättelyn enimmäisteho

Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
| --- | --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.000286** / 1K tokenia Tuloste · Tulostokenit **$0.0022** / 1K tokenia Syöte · Välimuistin luku **$0.00014** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.000286** / 1K tokenia Tuloste · Tulostokenit **$0.0022** / 1K tokenia Syöte · Välimuistin luku **$0.00014** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-suoratoisto

```bash
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-next-80b-a3b-instruct", "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
```

```python
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-next-80b-a3b-instruct',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"))
```

```python
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-next-80b-a3b-instruct',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")
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · OpenAI Chat

json tai SSE

##### Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä jokainen vastausvaihtoehto sisältöineen, työkalukutsuineen ja päättelyineen. Kokoa SSE:ssä muutokset vastausvaihtoehdon ja työkalun indeksin mukaan ja säilytä lopullinen päättymissyy sekä käyttötiedot.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`choices[].index` | Tyyppiinteger |
| Kenttä`choices[].message.content` | Tyyppistring\|null |
| Kenttä`choices[].message.tool_calls` | Tyyppitool\_call\[\] |
| Kenttä`choices[].message.reasoning_content` | Tyyppistring |
| Kenttä`choices[].message.reasoning_details` | Tyyppiobject\|array |
| Kenttä`choices[].finish_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

**Ailoot Ultra** [`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=chat)

#### Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

#### Liittyvät kutsujan ID:t

[`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-next-80b-a3b-instruct`

[`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=messages)

Alibaba /`qwen/qwen3-next-80b-a3b-instruct`

### Aloitus

Qwen3-Next-80B-A3B-Instruct on Qwenin ei-ajatteluversio tekstille. Siinä on yhteensä 80 miljardia ja 3 miljardia aktivoitua parametria. Se yhdistää hybridihuomioinnin, harvat asiantuntijat ja työkalukutsut natiiviin 262 144 tokenin kontekstiin, joka voidaan asetuksilla laajentaa 1 010 000 tokeniin.

Hyväksytyt syötteet

Teksti

Tulokset

json · sse

### Saatavilla Ailootissa · syötteet & menetelmät

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Syötetyypit

`text`

Tulostyypit

`json`, `sse`

Tulosteen muoto

JSON tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat qwen/qwen3-next-80b-a3b-instruct | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat user, assistant | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF-8-teksti

`messages[].content-merkkijono`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages, max\_tokens |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`material_types` | Sopimustext |
| Parametri`text_file_material` | SopimusLue varsinainen UTF-8-asiakirja ja sijoita sen teksti ilmoitettuun syöte- tai viestisisällön merkkijonoon. |

Elinkaari: `synchronous_or_streamed`

### Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Vakiohinta Kun nopea tila on valittu

Flex-tila

Vakiohinta Kun flex-tila on valittu

Päättelyn enimmäisteho

Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
| --- | --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.000286** / 1K tokenia Tuloste · Tulostokenit **$0.0022** / 1K tokenia Syöte · Välimuistin luku **$0.00014** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.000286** / 1K tokenia Tuloste · Tulostokenit **$0.0022** / 1K tokenia Syöte · Välimuistin luku **$0.00014** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Anthropic Messages

Täydellinen minimaalinen JSON-runkocurl · käytä omaa UTF-8-dokumenttiasiPython · tallenna koko tulos

```json
{
  "model": "qwen/qwen3-next-80b-a3b-instruct",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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-next-80b-a3b-instruct', '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
```

```python
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-next-80b-a3b-instruct', '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))
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · Anthropic Messages

JSON tai SSE

##### Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä kaikki sisältölohkot, päättelyallekirjoitukset ja todelliset työkalukäytön ID:t. Kokoa kaikki SSE-lohkomuutokset; ensimmäinen tekstilohko ei ole koko tulos.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`id` | Tyyppistring |
| Kenttä`model` | Tyyppistring |
| Kenttä`content[]` | Tyyppitext\|thinking\|tool\_use\|other content block |
| Kenttä`stop_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

**Ailoot Ultra** [`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=messages)

#### Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

#### Liittyvät kutsujan ID:t

[`qwen/qwen3-next-80b-a3b-instruct`](https://ailoot.ai/models/fi/#m=qwen%2Fqwen3-next-80b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-instruct&fmt=messages)

FAQ · Qwen: Qwen3 Next 80B A3B Instruct

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-instruct`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-next-80b-a3b-instruct`: `text` → `json`, `sse`

Mitä kenttiä pyyntö käyttää?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-next-80b-a3b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-instruct`: `messages.min_items`: `1`

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

## Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

## Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus

Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.

Kampanjakoodi jopa 50%

Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.

Kulut historiassa

Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

[Valitse tilaus](https://ailoot.ai/docs/fi/billing/subscriptions/) · [Katso mallihinnat](https://ailoot.ai/models/fi/)

## Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus

Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.

Jälleenmyyjälisenssi

Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.

Asiakirjat verkkosivustolla

Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

[Pyydä jälleenmyyjälisenssi](mailto:support@ailoot.ai) · [Palveluehdot ja lisenssisopimus](https://ailoot.ai/legal/offer?lang=fi)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
