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

# DeepSeek R1 Distill Qwen 14B

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

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

DeepSeek-R1-Distill-Qwen-14B to tekstowy punkt kontrolny rozumowania oparty na Qwen2.5-14B i przykładach wygenerowanych przez DeepSeek-R1. Obsługuje rozpisane odpowiedzi matematyczne, programistyczne i logiczne, z własnym tokenizerem DeepSeek, zaleceniami promptów i konfiguracją wydania.

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

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

DeepSeek-R1-Distill-Qwen-14B to oparty na Qwen punkt kontrolny rozumowania o rozmiarze 14B udostępniony przez DeepSeek. Jego bazą jest Qwen2.5-14B, dostrojony na przykładach przygotowanych przez DeepSeek-R1. Przyjmuje pisemny problem lub rozmowę i zwraca tekst, który może zawierać rozwiązanie matematyczne, wyjaśnienie zachowania programu lub wniosek wyprowadzony z kilku dostarczonych warunków.

Transfer rozumowania i nazwane wydanie

DeepSeek odróżnia pełne modele R1 i R1-Zero od gęstych modeli uzyskanych przez destylację na bazie modeli Qwen i Llama. W wydaniach destylowanych dane treningowe przenoszą wzorce rozumowania większego modelu R1 do innego punktu kontrolnego. Nazwa 14B identyfikuje tę konkretną bazę Qwen; nie określa pełnej architektury R1, destylowanego punktu kontrolnego 32B ani zwykłego wydania Qwen2.5-14B-Instruct.

Producent opisuje 800 000 starannie dobranych przykładów dla destylowanych wydań Qwen i odnotowuje zmiany ich konfiguracji oraz tokenizerów. Podczas korzystania z tego modelu zachowuj ustawienia wydania DeepSeek. Te zmiany mają znaczenie, mimo że model wywodzi się z Qwen2.5. Własna konfiguracja punktu kontrolnego 14B określa 48 warstw, 40 głów uwagi dla zapytań i 8 głów kluczy/wartości, z maksymalną liczbą pozycji ustawioną na 131 072.

Co dostarczyć, aby uzyskać użyteczną rozpisaną odpowiedź

Przy zadaniu dydaktycznym dołącz problem i próbę rozwiązania ucznia, a następnie zaznacz przejście wymagające wyjaśnienia. Poproś model o wskazanie istotnego warunku, wyjaśnienie poprawki w tej samej notacji i kontynuowanie tylko tak daleko, jak potrzeba do uzyskania wyniku. Wiąże to odpowiedź z rzeczywistą trudnością ucznia zamiast tworzenia niepowiązanej pełnej lekcji.

Na przykład uczeń mógł podzielić przez wyrażenie bez określenia, czy może ono być zerem. Podaj oryginalne równanie i zapytaj, jakie przypadki należy rozważyć przed tym przekształceniem. Pożądany wynik może oddzielać przypadek dozwolony, wyjątkowy i końcowy zbiór rozwiązań. Jest to proponowane zadanie matematyczne, z formą odpowiedzi określoną przez warunek, a nie ogólne polecenie wyjaśnienia algebry.

Przy pytaniu programistycznym podaj algorytm lub funkcję i konkretne wejście. Zapytaj, jak zmienia się stan i dlaczego wynika z tego zwrócony rezultat. Pytanie uzupełniające może żądać zmienionej implementacji przy jawnym ograniczeniu, takim jak zachowanie publicznej sygnatury funkcji lub unikanie modyfikowania wejścia. Dołącz istotny kod pomocniczy i oczekiwane zachowanie, aby wyjaśnienie nie zależało od nieokreślonej implementacji.

Przy porównaniu logicznym wskaż alternatywy i warunki, które każda musi spełnić. Poproś o założenia używane przez każde podejście, konflikty wykluczające wybór i pozostałe nierozstrzygnięte informacje. Zwięzła tabela decyzyjna może wtedy stać się końcowym materiałem, a otaczający tekst wyjaśni, jak dostarczone reguły ją wspierają.

Zalecenia DeepSeek dotyczące promptów

Producent zaleca unikanie promptu systemowego i umieszczanie wszystkich instrukcji bezpośrednio w prompcie użytkownika. Umieść zadanie, wymagania wyjścia i niezbędne materiały źródłowe razem, wyraźnie określając, który tekst stanowi problem, a który instrukcję dotyczącą odpowiedzi. Używaj udostępnionego tokenizera i ustawień rozmowy zamiast zakładać zamienność oryginalnego formatowania Qwen.

Udokumentowany zakres temperatury wynosi od 0.5 do 0.7, z zaleceniem 0.6. DeepSeek wiąże to z ograniczaniem powtórzeń i niespójnego wyjścia. W pytaniach matematycznych zaleca rozpisaną odpowiedź z końcowym wynikiem w ramce LaTeX. Opisuje też przypadki, w których model pomija blok rozumowania, i zaleca rozpoczynanie odpowiedzi od otwierającego znacznika rozumowania, aby zachęcić do zamierzonego procesu rozumowania.

Użyteczne wyjście matematyczne może zawierać wybraną metodę, uzasadnione przekształcenia i osobne końcowe wyrażenie. Określ, czy wynik ma być dokładny czy zaokrąglony, i podaj jednostki, gdy mają znaczenie. Przy kodzie poproś o wyjaśnienie oddzielnie od proponowanej implementacji. Przy logice poproś o końcowy wniosek wraz z warunkami jego obowiązywania. Te wymagania określają, co czytelnik lub aplikacja faktycznie mogą wykorzystać po tekście rozumowania.

Kontekst i granice merytoryczne

Aktualna udostępniona konfiguracja ustawia maksymalną liczbę pozycji na 131 072. Jest to wartość konfiguracji tego punktu kontrolnego, a nie odziedziczona obietnica dotycząca każdego interfejsu obsługującego model. Ustawienie generowania 32 768 tokenów producenta jest częścią ewaluacji; nie ustanawia osobnej bezwzględnej maksymalnej długości odpowiedzi. Pojemności wyjścia oryginalnego modelu Qwen Instruct również nie należy przenosić do tego zmodyfikowanego wydania rozumowania bez jego własnej specyfikacji.

To model tekstowy. Obraz problemu matematycznego wymaga przekształcenia symboli i warunków w tekst przed zadaniem rozumowania, a wykonanie proponowanego kodu wymaga osobnego środowiska programistycznego lub obliczeniowego. Destylacja opisuje trening na przykładach R1, a nie automatyczne wywołanie nauczyciela w czasie działania czy wbudowany niezależny weryfikator.

Używaj nazwanego punktu kontrolnego 14B do określonego zadania wymagającego rozpisanej odpowiedzi i zachowuj notację problemu, założenia oraz docelowy wynik. Praktycznym celem jest rozwiązanie, które czytelnik może przeanalizować: jakie warunki obowiązują, dlaczego wynika każdy ważny krok i jakie końcowe wyrażenie, implementacja lub wniosek odpowiadają na pierwotne pytanie.

Zadanie praktyczne

### Zadanie praktyczne

Przykład techniczny po angielsku

```
Repair an algebraic division step

A student solves x(x - 3) = 2(x - 3) by dividing by x - 3 and concludes x = 2. Explain the missing case without changing the original equation. Separate the zero-divisor case from the nonzero case, then give the complete solution set and substitute each candidate back into the equation.
```

#### Oczekiwany wynik

```
A case split, a complete solution set and a substitution check for each candidate.
```

#### Sprawdź wynik

```
The response checks the x - 3 = 0 case rather than silently dividing it away.
```

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

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

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

### Start

DeepSeek-R1-Distill-Qwen-14B to tekstowy punkt kontrolny rozumowania oparty na Qwen2.5-14B i przykładach wygenerowanych przez DeepSeek-R1. Obsługuje rozpisane odpowiedzi matematyczne, programistyczne i logiczne, z własnym tokenizerem DeepSeek, zaleceniami promptów i konfiguracją wydania.

Akceptowane dane wejściowe

Tekst

Wyniki

Tekst

### Dostępne w Ailoot · dane wejściowe i metody

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

Wejście

`text`

Wyjście

`text`

Format wyjściowy

json lub SSE

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity Przykłady: system, user, assistant, tool, function Warunki: Te role są jawnie reprezentowane przez typy zgodności w kodzie źródłowym; dokładny zestaw ról pozostaje właściwy dla danego modelu. Zależy od modelu | Domyślnie— |
| Pole`messages[].content` | Typ`string\|content_part[]\|null` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].tool_calls` | Typ`tool_call[]` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].tool_call_id` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: role=tool; użyj rzeczywiście zwróconego ID | Domyślnie— |
| Pole`messages[].name` | Typ`string` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].reasoning_content` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Przekazuj z powrotem rzeczywiście zwróconą treść rozumowania, gdy ten model jej używa | Domyślnie— |
| Pole`messages[].reasoning_details` | Typ`object\|array` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`max_tokens` | Typ`integer` | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Zależy od modelu | Domyślnie— |
| Pole`max_completion_tokens` | Typ`integer` | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Zależy od modelu | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |
| Pole`stream_options.include_usage` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`temperature` | Typ`number` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`top_p` | Typ`number` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`stop` | Typ`string\|string[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`tools` | Typ`function_tool[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`tools[].type` | Typ`string` | WymaganieOpcjonalne | Wartości i limity function Zależy od modelu | Domyślnie— |
| Pole`tools[].function.name` | Typ`string` | WymaganieWymagane | Wartości i limity Obowiązuje, gdy: udostępnione narzędzie funkcji | Domyślnie— |
| Pole`tools[].function.description` | Typ`string` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`tools[].function.parameters` | Typ`JSON_schema` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`tool_choice` | Typ`string\|object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`parallel_tool_calls` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`response_format` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`reasoning_effort` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`reasoning` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`service_tier` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`instructions` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Pole zgodności | Domyślnie— |
| Pole`functions` | Typ`function[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`function_call` | Typ`string\|object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`prompt_cache_options` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`modalities` | Typ`string[]` | WymaganieOpcjonalne | Wartości i limity text | Domyślnie— |
| Pole`provider` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Warunki: provider.options jest odrzucane na tej tekstowej trasie Ultra | Domyślnie— |
| Pole`cache_control.ttl` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Warunki: 1h jest odrzucane w rzeczywistych miejscach pamięci podręcznej promptów | Domyślnie— |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF8

`messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages |
| Parametr`material_types` | Kontrakttext |
| Parametr`messages` | Kontrakttablica wiadomości o strukturze role/content |
| Parametr`file_material` | Kontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku |
| Parametr`optional_controls` | Kontraktstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametr`control_scope` | Kontraktwłaściwe dla modelu; narzędzia funkcji użytkownika różnią się od narzędzi hostowanych |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

Cykl życia: `synchronous_or_streamed`

Wyślij dokładne ID modelu wraz z messages.

Długość kontekstu nie jest limitem wyjścia.

Plik tekstowy może dostarczyć dosłowny tekst; wejścia obrazowe/dźwiękowe/obiekty plików wymagają dokładnego powiązania.

### Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki

Nie określono Gdy wybrany jest tryb szybki

Tryb flex

Nie określono Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

#### Stawki Ailoot

#### Ceny według konfiguracji

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.0002** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0002** / 1K tokenów Wejście · Odczyt cache **$0** / 1K tokenów Wejście · Zapis do cache **$0** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. [Jak działają rezerwacja i rozliczenie →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStrumień w Pythonie

```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-14B", "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-14B',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-14B',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")
```

### Odbieranie i zapisywanie wyników

#### Ailoot Ultra · OpenAI Chat

json lub SSE

##### Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj każdy wariant i jego treść/wywołania narzędzi/rozumowanie. W SSE składaj przyrosty według indeksu wariantu/narzędzia, zachowując końcowy powód zakończenia i dane użycia.

##### Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

#### Powiązane ID modeli

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

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

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

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

### Start

DeepSeek-R1-Distill-Qwen-14B to tekstowy punkt kontrolny rozumowania oparty na Qwen2.5-14B i przykładach wygenerowanych przez DeepSeek-R1. Obsługuje rozpisane odpowiedzi matematyczne, programistyczne i logiczne, z własnym tokenizerem DeepSeek, zaleceniami promptów i konfiguracją wydania.

Akceptowane dane wejściowe

Tekst

Wyniki

json · sse

### Dostępne w Ailoot · dane wejściowe i metody

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

Wejście

`text`

Wyjście

`json`, `sse`

Format wyjściowy

JSON lub SSE

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity user, assistant | Domyślnie— |
| Pole`messages[].content` | Typ`string` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`max_tokens` | Typ`integer` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF-8

`ciąg messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages, max\_tokens |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`material_types` | Kontrakttext |
| Parametr`text_file_material` | KontraktOdczytaj rzeczywisty dokument UTF-8 i umieść jego tekst we wskazanym polu input lub w ciągu treści wiadomości. |

Cykl życia: `synchronous_or_streamed`

### Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki

Nie określono Gdy wybrany jest tryb szybki

Tryb flex

Nie określono Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

#### Stawki Ailoot

#### Ceny według konfiguracji

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.0002** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0002** / 1K tokenów Wejście · Odczyt cache **$0** / 1K tokenów Wejście · Zapis do cache **$0** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. [Jak działają rezerwacja i rozliczenie →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · Anthropic Messages

Kompletna minimalna treść żądania JSONcurl · użyj swojego dokumentu UTF-8Python · zapisz kompletny wynik

```json
{
  "model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
  "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-14B', '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-14B', '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))
```

### Odbieranie i zapisywanie wyników

#### Ailoot Ultra · Anthropic Messages

JSON lub SSE

##### Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj wszystkie bloki treści, sygnatury myślenia i rzeczywiste ID użycia narzędzi. Złóż wszystkie przyrosty bloków SSE; pierwszy blok tekstowy nie jest pełnym wyjściem.

##### Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

#### Powiązane ID modeli

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

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

Jakie dane wejściowe i wyniki są dostępne?

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

Jakich pól używa żądanie?

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

Jakie limity obowiązują?

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `messages.min_items`: `1`

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

## Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

## Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja

Wybierz plan z rabatem do regularnych żądań.

Kod promocyjny do 50%

Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.

Koszty w historii

Model, tokeny i kwota są zapisywane dla każdego żądania.

[Wybierz subskrypcję](https://ailoot.ai/docs/pl/billing/subscriptions/) · [Sprawdź ceny modeli](https://ailoot.ai/models/pl/)

## Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna

Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.

Licencja resellerska

Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.

Dokumenty na stronie

Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

[Poproś o licencję resellerską](mailto:support@ailoot.ai) · [Oferta i umowa licencyjna](https://ailoot.ai/legal/offer?lang=pl)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
