Source: https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/
Canonical: https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/
Language: fi

# Mistral: Mixtral 8x22B Instruct

[Markdown](https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/index.md) · [JSON](https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/facts.json)

## [Mistral: Mixtral 8x22B Instruct](https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/)

Mixtral 8x22B Instruct v0.1 on monikielinen tekstimalli keskusteluun, matematiikkaan, koodiin ja funktiokutsuihin. Sen harva mixture-of-experts-arkkitehtuuri käyttää 39 miljardia aktiivista parametria yhteensä 141 miljardista. Siinä on valmistajan ilmoittama 64 tuhannen tokenin konteksti ja oma v3-ohjemuoto.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/mistralai-mixtral-8x22b-instruct/#method-1)

Tietoa mallista

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

Mixtral 8x22B Instruct v0.1 on Mistral AI:n ohjeiden noudattamiseen hienosäädetty versio erikseen nimetystä Mixtral 8x22B v0.1 -perusmallista. Se vastaanottaa tekstikeskustelun ja tuottaa tekstiä, kuten selityksiä, koodia ja ehdotettuja funktiokutsuja. Perheen julkaisu korostaa englantia, ranskaa, italiaa, saksaa ja espanjaa sekä matematiikka- ja ohjelmointikykyjä.

Harvat asiantuntijat ja konteksti

Valmistaja kuvaa harvaa mixture-of-experts-mallia, jossa on yhteensä 141 miljardia parametria ja 39 miljardia aktiivista parametria. Julkaistu Instruct-konfiguraatio sisältää 8 asiantuntijaa, joista valitaan 2 tokenia kohti, 56 kerrosta, 48 query-attention-päätä ja 8 key/value-päätä. Kokonaisparametrimäärä ja valitut asiantuntijat kuvaavat mallin rakennetta eivätkä vastauksen pituutta.

Perheen julkaisu dokumentoi 64 tuhannen tokenin kontekstin, ja nimenomainen Instruct-konfiguraatio asettaa enimmäispositioiksi 65 536. Käytä tilaa lähdekatkelmien, keskustelun ja pyydetyn vastauksen säilyttämiseen yhdessä. Laajaa asiakirjaa koskeva kysymys voi pyytää yhtä ehtoa useista osioista ja palauttaa tiiviin taulukon lähdesijainteineen. Sisällytä tuloksen määrittävä aineisto sen sijaan, että täyttäisit ikkunan asiaan liittymättömällä sisällöllä.

Ohjekeskustelun koodaaminen

Mallikortti aloittaa valmistajan v3-ohjetokenisoijasta ja näyttää sitten viestien muotoilun vastaavalla keskustelumallineella. Julkaistussa sanastossa on 32 768 alkiota. Natiivin ja yhteensopivan tokenisoijan tulee tuottaa vastaavat viestiesitykset; kortti käsittelee nimenomaisesti niiden koodausten vertailua. Tämä eroaa oletuksesta, että myöhempien Mistral-mallien Tekken-muoto olisi vaihdettavissa tähän julkaisuun.

Erota keskustelussa käyttäjän kysymys, avustajan aiempi vastaus ja mahdolliset työkalutulokset. Säilytä olennainen aiempi vastaus jatkokysymystä esitettäessä. Tehtävä voi ensin pyytää lähdekatkelman selitystä ja sitten täsmällisempää vertailua säilyttäen lähdesisällön ja keskustelun tarkoituksen.

Määritä monikieliseen muokkaukseen lähdekieli, lopullinen kieli ja muuttumattomina säilytettävä terminologia. Pyydä muokattu katkelma, joka säilyttää nimet, ehdot ja yksiköt. Määritä matemaattiseen ongelmaan muuttujat ja oletukset sekä se, tuleeko lopputuloksen olla tarkka lauseke, numeerinen likiarvo vai todistus. Lisää ohjelmointitehtävään funktion allekirjoitus, olennaiset määrittelyt ja odotettu toiminta ennen toteutuksen tai selityksen pyytämistä.

Funktiokutsut ja niiden tulokset

Kortti dokumentoi natiivit funktiokutsut työkalukuvauksineen ja parametriskeemoineen. Sovellus antaa toiminnot, malli valmistelee valitun funktion argumentit ja sovellus suorittaa sen. Palautettu tulos täytyy sitten lisätä keskusteluun, jotta malli voi käyttää sitä seuraavassa vastauksessa. Kortti varoittaa, ettei yksi lyhennetty koodiesimerkki havainnollista koko tätä kierrosta.

Hakutehtävässä tulee yksilöidä puuttuva tieto ja annettu funktio, joka voi palauttaa sen. Sisällytä tarvittavat arvot tai pyydä puuttuvat tiedot ennen kuin sovellus suorittaa toiminnon. Pidä ehdotettu kutsu erillään todella palautetusta datasta; lopullinen selitys voi silloin viitata saatuun tulokseen eikä työkalun nimestä pääteltyyn tulokseen.

Valmistajan natiivissa keskustelumuodossa työkalukutsut ja niitä vastaavat tulokset käyttävät täsmälleen yhdeksän aakkosnumeerisen merkin tunnisteita. Tokenisoijassa on myös erikoismerkkejä käytettävissä oleville työkaluille, työkalukutsuille ja työkalutuloksille. Säilytä vastaava esitys natiivimuotoista keskustelua valmisteltaessa; käärekerroksen näkyvä esitys on erillinen rajapintavalinta.

Käytännön koodi- ja asiakirja-artefaktit

Anna koodikorjaukseen kohdefunktio, ongelman paljastava syöte ja odotettu tulos. Pyydä muokattu katkelma, ristiriidan syy ja aiotun toiminnan erottavat esimerkkisyötteet. Koodin tuottaminen on tekstiartefakti; sen kääntäminen, suorittaminen tai soveltaminen koodivarastoon vaatii liitetyn kehitysympäristön.

Pyydä asiakirjan selitykseen kysymykseen vastaava lausuma ja sitä tukeva osio. Vertailu voi erottaa yhteiset ehdot, erot ja avoimet yksityiskohdat. Määritä rajattua tekstitietuetta varten kenttien nimet ja puuttuvien arvojen käsittely. Alkuperäinen perhejulkistus kuvaa funktiokutsuja ja rajoitettua tulostetta valmistajan liitetyssä palvelussa; nämä muotoiluominaisuudet pysyvät erillisinä ulkoisen toiminnon suorittamisesta.

Version ja generoinnin rajat

Kortti näyttää tiettyjen esimerkkien generointibudjetteja, kuten 64 ja 1 000 tokenia. Ne ovat esimerkkiasetuksia eivätkä erillisiä vastauksen enimmäiskapasiteetteja. Pidä kehote ja haluttu vastaus todellisen määritetyn kontekstin sisällä ja pyydä tehtävään sopiva pituus.

Tämä tietue on tekstipohjainen Instruct v0.1 -mallipainojen versio v3-ohjemuotoiluineen. Myöhemmissä Mistral-perheissä esiteltyjä näkö-, puhe- ja hybridipäättelyn ohjaimia ei tule liittää siihen. Säilytä tarkka versio ja lähdeaineisto valmistellessasi seuraavan vaiheen tarvitsemaa selitystä, koodiehdotusta tai työkaluavusteista vastausta.

Käytännön tehtävä

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

Tekninen esimerkki englanniksi

```
Repair integer average division

Fix this Python function for nonempty numeric lists: def average(values): return sum(values) // len(values). Input [1, 2] must produce 1.5. Return the corrected function and assertions for [1, 2] and [2, 4]. State the nonempty-input assumption rather than inventing an empty-list policy.
```

#### Odotettu tulos

```
A focused function correction, two assertions and the retained input assumption.
```

#### Tarkista tulos

```
The function must preserve a fractional average and leave the unspecified empty-list behavior undecided.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mixtral-8x22b-instruct`

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

Mistral /`mistralai/mixtral-8x22b-instruct`

### Aloitus

Mixtral 8x22B Instruct v0.1 on monikielinen tekstimalli keskusteluun, matematiikkaan, koodiin ja funktiokutsuihin. Sen harva mixture-of-experts-arkkitehtuuri käyttää 39 miljardia aktiivista parametria yhteensä 141 miljardista. Siinä on valmistajan ilmoittama 64 tuhannen tokenin konteksti ja oma v3-ohjemuoto.

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 mistralai/mixtral-8x22b-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.004** / 1K tokenia Tuloste · Tulostokenit **$0.012** / 1K tokenia Syöte · Välimuistin luku **$0.0004** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 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.004** / 1K tokenia Tuloste · Tulostokenit **$0.012** / 1K tokenia Syöte · Välimuistin luku **$0.0004** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 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": "mistralai/mixtral-8x22b-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='mistralai/mixtral-8x22b-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='mistralai/mixtral-8x22b-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** [`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mixtral-8x22b-instruct`

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

Mistral /`mistralai/mixtral-8x22b-instruct`

### Aloitus

Mixtral 8x22B Instruct v0.1 on monikielinen tekstimalli keskusteluun, matematiikkaan, koodiin ja funktiokutsuihin. Sen harva mixture-of-experts-arkkitehtuuri käyttää 39 miljardia aktiivista parametria yhteensä 141 miljardista. Siinä on valmistajan ilmoittama 64 tuhannen tokenin konteksti ja oma v3-ohjemuoto.

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 mistralai/mixtral-8x22b-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.004** / 1K tokenia Tuloste · Tulostokenit **$0.012** / 1K tokenia Syöte · Välimuistin luku **$0.0004** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 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.004** / 1K tokenia Tuloste · Tulostokenit **$0.012** / 1K tokenia Syöte · Välimuistin luku **$0.0004** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 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": "mistralai/mixtral-8x22b-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': 'mistralai/mixtral-8x22b-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': 'mistralai/mixtral-8x22b-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** [`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/fi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

FAQ · Mistral: Mixtral 8x22B Instruct

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-instruct`: `text` → `text` `POST /v1/messages` · `mistralai/mixtral-8x22b-instruct`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mixtral-8x22b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-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.
