Source: https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/
Canonical: https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/
Language: fi

# DeepSeek R1 Distill Qwen 32B

[Markdown](https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/index.md) · [JSON](https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/facts.json)

## [DeepSeek R1 Distill Qwen 32B](https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/)

DeepSeek-R1-Distill-Qwen-32B on tiheä tekstipäättelymalli, joka on hienosäädetty Qwen2.5-32B:stä DeepSeek-R1:n esimerkeillä. Se on tarkoitettu monivaiheisiin matematiikka-, ohjelmointi- ja logiikkatehtäviin. Sen käytössä noudatetaan valmistajakohtaisia kehoteohjeita, ja julkaisukokoonpanossa on 131,072 paikkaa.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/deepseek-ai-deepseek-r1-distill-qwen-32b/#method-1)

Tietoa mallista

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

DeepSeek-R1-Distill-Qwen-32B on DeepSeekin 32B-kokoinen tiheä päättelyn tarkistuspiste, joka on rakennettu Qwen2.5-32B-mallin pohjalta. DeepSeek hienosäätää pohjaa DeepSeek-R1:n tuottamilla päättelyesimerkeillä. Tuloksena on erillinen tekstimalli useita toisiinsa liittyviä vaiheita vaativiin ongelmiin, kuten matemaattisiin johtotehtäviin, algoritmikysymyksiin tai rajoitteiden pohjalta päättelyyn.

Miten tämä tislaus eroaa täydestä R1-mallista

Valmistajan julkaisu erottaa DeepSeek-R1-Zero-, DeepSeek-R1- ja Qwen- tai Llama-pohjaiset tislatut mallit toisistaan. Täysi R1-mallilinja kehittää päättelyä oman koulutusputkensa kautta; tislausvaihe siirtää R1:n tuottamissa esimerkeissä esiintyviä malleja erillisiin tiheisiin tarkistuspisteisiin. Tämä mallikuvaus koskee Qwen-pohjaista 32B-tislausversiota, ei täyttä R1-mallia, R1-Zeroa tai muuttamatonta Qwen2.5-32B-pohjaa.

Julkaistut Qwen-tislausmallit on hienosäädetty 800 000 kuratoidulla näytteellä. DeepSeek muuttaa myös niiden kokoonpanoja ja tokenisoijia ja ohjeistaa käyttäjiä säilyttämään nämä asetukset. Koulutuksen alkuperä selittää päättelypainotuksen, kun taas nimetty tarkistuspiste ja sen oma kokoonpano määrittävät todellisen julkaisun. Tämä ei tarkoita, että suuremmalta opettajamallilta kysyttäisiin automaattisesti vastausta jokaiseen uuteen kysymykseen.

32B-tarkistuspisteen kokoonpano käyttää kausaalista kielimalliarkkitehtuuria, jossa on 64 kerrosta, 40 query-attention-päätä ja 8 key/value-päätä. Se asettaa positioiden enimmäismääräksi 131 072. Tämä kokoonpanoluku koskee julkaistua mallia; esimerkin tarjoilukomentoa tai toista R1-perheen jäsentä ei tule pitää samana kontekstiasetuksena. Malli vastaanottaa tekstiä ja tuottaa tekstiä sen sijaan, että se hyväksyisi kuvan tai tuottaisi visuaalisen tai äänituotoksen.

Matemaattisen tai ohjelmointitehtävän valmistelu

Anna matemaattiseen ongelmaan kaikki ehdot, määritä muuttujat ja ilmoita määrittelyjoukko tai oletukset. Kerro, tuleeko lopputuloksen olla täsmällinen lauseke, numeerinen likiarvo vai väitteen todistus. Hyödyllinen pyyntö voi pyytää johdon ja sen jälkeen lopullisen lausekkeen sekä tarkistuksen alkuperäisiä ehtoja vasten. Valmistaja suosittelee matemaattista vastausta välivaiheineen ja lopullisen vastauksen sijoittamista LaTeX-laatikkoon.

Anna algoritmiongelmaan syötealue, vaadittu tuloste ja ratkaisun rajoitteet. Pyydä lähestymistapa, toteutus ja selitys sille, miksi se säilyttää vaaditun ominaisuuden. Jos ongelma koskee olemassa olevaa koodia, anna olennainen funktio, odottamattoman toiminnan tuottava syöte ja odotettu tulos. Vastaus voi verrata todellista suorituspolkua tarkoitettuun ja ehdottaa korjausta; ohjelman suoritus ja varmennus ovat erillisiä sovellusvaiheita.

Luettele rajoiteongelmassa sallitut valinnat ja suhteet nimenomaisesti. Esimerkiksi aikataulutuspyyntö voi antaa osallistujat, saatavuuden ja säännöt, jotka tekevät kahdesta sijoituksesta yhteensopimattomia. Pyydä ehdotettu sijoittelu ja kutakin päätöstä tukeva sääntö ja vaadi, että ratkaisemattomat ehdot säilyvät näkyvissä. Näin päättelytehtävä on tarkasteltavissa sen sijaan, että mallia pyydettäisiin valitsemaan ilman taustalla olevia rajoitteita.

Valmistajakohtaiset käyttösuositukset

DeepSeek suosittelee kaikkien ohjeiden sijoittamista käyttäjäkehotteeseen ja erillisen järjestelmäkehotteen välttämistä tässä sarjassa. Tämä eroaa yleisestä keskustelumallipohjasta, joka käyttää järjestelmäviestiä tehtävän määrittämiseen. Sijoita pyydetty vastausmuoto, lähdeaineisto ja varsinainen kysymys yhteen selkeästi rajattuina.

Suositeltu temperature-väli on 0.5–0.7, ja arvoa 0.6 pidetään ensisijaisena. Valmistaja liittää suosituksen toiston ja epäjohdonmukaisen tulosteen välttämiseen. Se huomauttaa myös, että jotkin kyselyt voivat tuottaa tyhjän päättelylohkon, ja suosittelee tulosteen aloittamista päättelyn avaavalla merkillä. Nämä ovat julkaistua päättelytyönkulkua koskevia suosituksia eivätkä takuu siitä, että yksi asetus osoittaisi oikeellisuuden.

Käytännön vastaussopimus voi pyytää menetelmän selityksen, tärkeät perustellut vaiheet ja erillisen lopputuotoksen. Käytä matemaattisessa tehtävässä lopputulokseen laatikkoon sijoitettua lauseketta. Erota ohjelmointitehtävässä koodi sen oletuksista ja esimerkkisyötteistä. Pidä loogisessa tehtävässä jokainen päätelmä yhteydessä sitä tukevaan sääntöön tai annettuun faktaan. Näin päättelyteksti ja sovelluksen tarvitsema tulos voivat palvella eri tarkoituksia.

Kontekstin, tulosteen ja integraation rajat

Julkaistun kokoonpanon 131 072 position enimmäismäärää tulee tarkastella yhdessä koko kehotteen ja tuotetun päättelyn kanssa. Valmistaja käyttää arvioinnissa 32 768 tokenin generointiasetusta, mutta tämä kokeellinen asetus ei ole julkaistu erillinen tulostekapasiteetin määritys tälle tarkistuspisteelle. Älä johda vastauksen ylärajaa vertailutestiasetuksista tai kopioi alkuperäisen Qwen Instruct -version 8 192 tokenin tulostelukua muokattuun tislausjulkaisuun.

Pidä syötteet kohdistettuina varsinaiseen matemaattiseen, ohjelmointiin liittyvään tai loogiseen kysymykseen ja määritä haluttu lopullinen muoto. Ulkoisen laskimen, koodivaraston, asiakirjajäsentimen tai hakufunktion on tultava ympäröivältä sovellukselta; sitä ei sisällytetä vain valitsemalla tekstipäättelyn tarkistuspiste. Hyödyllinen tulos on kirjallinen ratkaisu tai ehdotettu toteutus, jonka oletukset, menetelmä ja lopullinen vastaus vastaavat annettua ongelmaa.

Käytännön tehtävä

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

Tekninen esimerkki englanniksi

```
Solve a bounded scheduling problem

Schedule three one-hour interviews in slots 09:00, 10:00 and 11:00. Ada cannot attend 09:00; Ben cannot attend 11:00; Chen must be before Ada. Each person gets one distinct slot. Give a valid schedule, explain how each constraint is satisfied and state whether another schedule is possible.
```

#### Odotettu tulos

```
A person-to-slot table, a constraint check and a justified uniqueness or non-uniqueness conclusion.
```

#### Tarkista tulos

```
Check all three constraints and distinct slots directly against the proposed schedule.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=chat)

DeepSeek /`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`

### Aloitus

DeepSeek-R1-Distill-Qwen-32B on tiheä tekstipäättelymalli, joka on hienosäädetty Qwen2.5-32B:stä DeepSeek-R1:n esimerkeillä. Se on tarkoitettu monivaiheisiin matematiikka-, ohjelmointi- ja logiikkatehtäviin. Sen käytössä noudatetaan valmistajakohtaisia kehoteohjeita, ja julkaisukokoonpanossa on 131,072 paikkaa.

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 deepseek-ai/DeepSeek-R1-Distill-Qwen-32B | 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

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.00036** / 1K tokenia Tuloste · Tulostokenit **$0.00036** / 1K tokenia Syöte · Välimuistin luku **$0** / 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": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", "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='deepseek-ai/DeepSeek-R1-Distill-Qwen-32B',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='deepseek-ai/DeepSeek-R1-Distill-Qwen-32B',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** [`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=chat)

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=messages)

DeepSeek /`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`

### Aloitus

DeepSeek-R1-Distill-Qwen-32B on tiheä tekstipäättelymalli, joka on hienosäädetty Qwen2.5-32B:stä DeepSeek-R1:n esimerkeillä. Se on tarkoitettu monivaiheisiin matematiikka-, ohjelmointi- ja logiikkatehtäviin. Sen käytössä noudatetaan valmistajakohtaisia kehoteohjeita, ja julkaisukokoonpanossa on 131,072 paikkaa.

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 deepseek-ai/DeepSeek-R1-Distill-Qwen-32B | 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

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.00036** / 1K tokenia Tuloste · Tulostokenit **$0.00036** / 1K tokenia Syöte · Välimuistin luku **$0** / 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": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
  "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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B', '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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B', '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** [`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=messages)

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`](https://ailoot.ai/models/fi/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-32B&fmt=messages)

FAQ · deepseek-ai/DeepSeek-R1-Distill-Qwen-32B

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`: `text` → `text` `POST /v1/messages` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`: `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.
