Source: https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/
Canonical: https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/
Language: lt

# Mistral: Mistral Small 3

[Markdown](https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/index.md) · [JSON](https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/facts.json)

## [Mistral: Mistral Small 3](https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/)

Mistral Small 3 Instruct 2501 – 24 mlrd. parametrų teksto modelis pokalbio instrukcijoms, struktūruotam duomenų išgavimui ir įrankiais paremtoms programoms. Jis teikia gamintojo nurodytą 32 tūkst. žetonų kontekstą, daugiakalbius atsakymus, sisteminių užklausų palaikymą, JSON ir savąjį funkcijų kvietimą atskiroje vien tekstinėje laidoje.

- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/#method-0)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/mistralai-mistral-small-24b-instruct-2501/#method-1)

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Mistral Small 3 Instruct 2501 – 24 mlrd. parametrų pagal instrukcijas suderinta Mistral Small 3 laida. Ji papildomai suderinta iš atskirai įvardyto modelio Small 24B Base 2501. Gamintojas ją skiria greitai reaguojančiai pokalbio pagalbai, funkcijų kvietimui ir pritaikymui konkrečiai temai; ir įvestis, ir generuojamas rezultatas yra tekstas.

Pagrindinės savybės ir mokymo skirtumas

Modelio kortelėje dokumentuotas daugiakalbis palaikymas, pokalbio ir samprotavimo galimybės, savasis funkcijų kvietimas, JSON išvestis bei sisteminių užklausų laikymasis. Jo konteksto langas – 32 tūkst. žetonų, o naudojamas Tekken žetonizatorius su žodynu, pažymėtu 131 tūkst. Konteksto žyma susijusi su užduočiai išlaikomu tekstu, o žodyno žyma aprašo žetonizavimą; tai skirtingos specifikacijos.

Gamintojas išvardija tokias kalbas kaip anglų, prancūzų, vokiečių, ispanų, italų, kinų, japonų, korėjiečių, portugalų, olandų ir lenkų, o išleistos kortelės kalbų metaduomenyse taip pat yra rusų. Apibrėžkite galutinę kalbą ir terminiją, kuri turi likti nepakeista. Išverstas paaiškinimas gali išlaikyti identifikatorius, pavadinimus bei vienetus, pritaikydamas aplinkinę prozą skaitytojui.

Laidos pranešime teigiama, kad Small 3 nemokytas pastiprinamuoju mokymu ar sintetiniais duomenimis, ir skiriami iš anksto apmokyti bei pagal instrukcijas suderinti kontroliniai taškai. Modelis aprašomas kaip pagrindas, kurį galima toliau pritaikyti, o ne hibridinis kontrolinis taškas su vėlesniais Small 4 samprotavimo valdikliais. Šis įrašas yra Instruct 2501 versija pokalbio užduočiai vykdyti.

Pokalbio ir struktūruotos užduotys

Pagalbos tarnybos stiliaus asistentui pateikite naudotojo klausimą, aktualią informacinę medžiagą ir atsakymo taisykles. Prašykite veiksmo, atsakančio į klausimą, ir sąlygos, kuriai esant jis taikomas. Praktinė išvestis gali atskirti glaustą atsakymą nuo išgautų laukų, kurių programai reikia kitam žingsniui, užuot sumaišiusi juos nestruktūruotame paaiškinime.

Klasifikavimui pateikite leidžiamas žymas ir skirtumus tarp jų. Duomenims išgauti įvardykite laukus, laukiamus tipus ir trūkstamos informacijos vaizdavimą. Įraše gali būti problemos kategorija, iš pranešimo nukopijuotas identifikatorius ir trumpa prašomo veiksmo santrauka. JSON sutvarko rezultatą, o laukų struktūra ir interpretavimo taisyklės lieka pateiktos užduoties dalis.

Kodo paaiškinimui įtraukite funkciją, aktualias deklaracijas ir konkrečią įvestį. Paklauskite, kuris kodo kelias lemia rezultatą. Matematikos paaiškinimui apibrėžkite kintamuosius ir prielaidas bei įvardykite nustatytiną išraišką ar teiginį. Šios tekstinės užduotys gali grąžinti metodą, paaiškinimą ir galutinį artefaktą, nedarant prielaidos, kad modelis pats vykdo kodą ar išorinį skaičiavimą.

Sisteminės instrukcijos ir rekomenduojami nustatymai

Kortelė rekomenduoja numatytam asistentui pritaikytą sisteminę užklausą ir palyginti žemą temperatūrą, pavyzdžiui, 0.15. Sisteminėje instrukcijoje apibrėžkite vaidmenį, stilių ir atsakymo taisykles, o naudotojo pranešime pateikite faktinę problemą ar šaltinių medžiagą. Dokumente cituojamas instrukcijas laikykite atskirai nuo programos instrukcijos, ką su tuo dokumentu daryti.

Kasdieniam asistentui nurodykite, ar rezultatas turi būti trumpas atsakymas, struktūruotas įrašas ar ilgesnis paaiškinimas. Jei atsakymas bus analizuojamas programiškai, įrašo prašykite atskirai nuo pasirenkamos prozos. Kartotiniame dokumentų procese prie kiekvieno rezultato išsaugokite šaltinio identifikatorių, kad programa galėtų grąžinti naudotojui teisingą medžiagą.

Funkcijų kvietimas ir specializavimas

Modelis gali parinkti aprašytą funkciją ir pateikti jos argumentus. Programa vykdo operaciją ir grąžina rezultatą su atitinkamu įrankio kvietimu, po to kitas atsakymas gali naudoti šią informaciją. Kortelės pavyzdys rodo pokalbį su ankstesniu įrankio naudojimu, po kurio eina naujas klausimas. Tai suteikia asistentui būdą prašyti informacijos iš prijungtų įrankių, nelaikant siūlomo kvietimo užbaigta paieška.

Aiškiai aprašykite kiekvienos funkcijos paskirtį ir privalomas reikšmes. Paieškos užduotis gali įvardyti reikiamą informaciją ir grąžinti į pokalbį faktinį įrankio rezultatą; teksto apdorojimo funkcija gali pateikti pakeistą ištrauką kitam atsakymui. Įrankių rinkinys turi būti susijęs su dabartiniu procesu, o siūloma operacija – susieta su savo rezultatu.

Gamintojas taip pat aprašo papildomą derinimą dalykinei specializacijai. Šis procesas keičia modelį apibrėžtai sričiai; dokumento pateikimas viename pokalbyje yra tos užduoties rėmimasis šaltiniu. Pateikite konkrečiam asistentui reikalingą srities medžiagą ir atsakymo reikalavimus, užuot manę, kad pritaikymas jau atliktas.

Kontekstas ir esminės ribos

Small 3 2501 – vien tekstinis modelis su 32 tūkst. žetonų kontekstu. Small 3.1 įdiegta regos galimybė ir 128 tūkst. žetonų kontekstas priklauso vėlesnei laidai, o Small 4 hibridiniai režimai taip pat neturi būti čia perkeliami. Vaizdo, garso ar vaizdo įrašo aktualus turinys prieš šią tekstinę užduotį turi būti paruoštas per kitą komponentą.

Kortelės 256 ir 512 žetonų generavimo nustatymai yra naudojimo pavyzdžiai, o ne atskiros didžiausios išvesties talpos. Aiškiai išlaikykite tikslią Instruct 2501 tapatybę, žetonizatorių ir prašomą rezultatą. Naudingas galutinis artefaktas – atsakymas, JSON įrašas ar siūlomas kodas, kurio prasmė ir formatas atitinka pradinę rašytinę užduotį.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
Prepare a reference-grounded support answer

Answer this customer question using only the reference: 'Can I change the pickup location after the parcel is handed to the carrier?' Reference: 'Before handover, support may change the pickup location. After handover, the recipient must request a change from the carrier; availability depends on its route.' Return a concise reply and the condition supporting it.
```

#### Laukiamas rezultatas

```
A short customer reply plus the reference condition that determines the next contact.
```

#### Rezultato patikra

```
The reply directs the handed-over parcel's request to the carrier and does not promise that a change is available.
```

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `mistralai/mistral-small-24b-instruct-2501`

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

Mistral /`mistralai/mistral-small-24b-instruct-2501`

### Pradžia

Mistral Small 3 Instruct 2501 – 24 mlrd. parametrų teksto modelis pokalbio instrukcijoms, struktūruotam duomenų išgavimui ir įrankiais paremtoms programoms. Jis teikia gamintojo nurodytą 32 tūkst. žetonų kontekstą, daugiakalbius atsakymus, sisteminių užklausų palaikymą, JSON ir savąjį funkcijų kvietimą atskiroje vien tekstinėje laidoje.

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 |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos mistralai/mistral-small-24b-instruct-2501 | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | 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— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | 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 |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_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)

#### 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.0001** / 1K tokenų Išvestis · Išvesties tokenai **$0.00016** / 1K tokenų Įvestis · Talpyklos skaitymas **—** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 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.0001** / 1K tokenų Išvestis · Išvesties tokenai **$0.00016** / 1K tokenų Įvestis · Talpyklos skaitymas **—** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 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 →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```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/mistral-small-24b-instruct-2501", "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/mistral-small-24b-instruct-2501',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/mistral-small-24b-instruct-2501',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 |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | 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** [`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `mistralai/mistral-small-24b-instruct-2501`

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

Mistral /`mistralai/mistral-small-24b-instruct-2501`

### Pradžia

Mistral Small 3 Instruct 2501 – 24 mlrd. parametrų teksto modelis pokalbio instrukcijoms, struktūruotam duomenų išgavimui ir įrankiais paremtoms programoms. Jis teikia gamintojo nurodytą 32 tūkst. žetonų kontekstą, daugiakalbius atsakymus, sisteminių užklausų palaikymą, JSON ir savąjį funkcijų kvietimą atskiroje vien tekstinėje laidoje.

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 |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos mistralai/mistral-small-24b-instruct-2501 | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | 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 |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_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)

#### 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.0001** / 1K tokenų Išvestis · Išvesties tokenai **$0.00016** / 1K tokenų Įvestis · Talpyklos skaitymas **—** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 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.0001** / 1K tokenų Išvestis · Išvesties tokenai **$0.00016** / 1K tokenų Įvestis · Talpyklos skaitymas **—** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 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 →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "mistralai/mistral-small-24b-instruct-2501",
  "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/mistral-small-24b-instruct-2501', '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/mistral-small-24b-instruct-2501', '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 |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | 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** [`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/lt/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

FAQ · Mistral: Mistral Small 3

Kokios įvestys ir rezultatai prieinami?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `text` → `text` `POST /v1/messages` · `mistralai/mistral-small-24b-instruct-2501`: `text` → `json`, `sse`

Kokius laukus naudoja užklausa?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mistral-small-24b-instruct-2501`: `model`, `messages`, `max_tokens`, `stream`

Kokie apribojimai taikomi?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `messages.min_items`: `1`

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
