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

# DeepSeek R1 Distill Qwen 14B

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

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

DeepSeek-R1-Distill-Qwen-14B 是以 Qwen2.5-14B 及 DeepSeek-R1 生成範例為基礎的文字推理檢查點。它支援包含解題過程的數學、程式設計及邏輯回答，並採用 DeepSeek 自身的 tokenizer、提示建議及發布設定。

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/zh-hant-tw/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/zh-hant-tw/deepseek-ai-deepseek-r1-distill-qwen-14b/#method-1)

關於模型

此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項，依所選方法列於下方。

DeepSeek-R1-Distill-Qwen-14B 是 DeepSeek 發布、以 Qwen 為基礎的 14B 推理檢查點。其基礎為 Qwen2.5-14B，使用 DeepSeek-R1 準備的範例微調。它接收文字問題或對話，傳回可包含數學解法、程式行為說明，或從多項給定條件推得結論的文字。

推理轉移與具名版本

DeepSeek 區分完整的 R1、R1-Zero 模型，以及蒸餾至 Qwen 與 Llama 基礎上的稠密模型。對於蒸餾發布版本，訓練資料將較大 R1 模型的推理模式帶入另一個檢查點。14B 名稱識別此特定 Qwen 基礎；它並不代表完整 R1 架構、32B 蒸餾檢查點，或一般的 Qwen2.5-14B-Instruct 發布版本。

開發者說明 Qwen 蒸餾版本使用 800,000 筆精選範例，並指出其設定及 tokenizer 有所變更。使用此模型時，請保留 DeepSeek 的發布設定。即使模型源自 Qwen2.5，這些變更仍很重要。14B 檢查點自身的設定指定 48 層、40 個查詢注意力頭及 8 個鍵／值頭，最大位置數設為 131,072。

提供哪些資料，才能取得實用的解題回答

對於教學任務，請提供題目及學習者嘗試的解法，再標示需要解釋的轉換步驟。要求模型找出相關條件，以相同記號說明修正，並只繼續到足以確立結果的程度。這能讓回答對應學習者實際的困難，而非產生無關的完整課程。

例如，學習者可能在未說明表達式是否為零的情況下，就除以該表達式。請提供原始方程式，並詢問進行該變換前，必須考慮哪些情況。所需結果可以分開列出允許的情況、例外情況及最終解集。這是建議的數學任務，其答案形式由條件界定，而非籠統地要求解釋代數。

對於程式設計問題，請提供演算法或函式及具體輸入。詢問狀態如何變化，以及為何會得到回傳結果。後續可以要求在明確限制下修訂實作，例如保留公開函式簽章，或避免修改輸入。請包含相關輔助程式碼及預期行為，讓說明不依賴未指定的實作。

對於邏輯比較，請指出替代方案，以及各方案必須滿足的條件。要求列出每種方法使用的假設、排除某選項的衝突，以及仍未解決的資訊。精簡的決策表便可成為最終產出，周邊文字則說明所給規則如何支持該表。

DeepSeek 的提示建議

開發者建議避免使用 system prompt，並直接將所有指令放在使用者提示中。請將任務、輸出需求及必要來源資料放在一起，清楚指出哪些文字是問題、哪些是針對答案的指令。請使用發布的 tokenizer 及對話設定，而非假定原始 Qwen 格式可以互換。

文件記載的 temperature 範圍為 0.5 至 0.7，建議採用 0.6。DeepSeek 指出，這有助於減少重複及不連貫的輸出。對於數學問題，它建議提供完整解題回答，並將最終結果放入 LaTeX 方框。它也描述模型略過推理區塊的情況，並建議以開始推理標記作為回答開頭，以鼓勵預期的推理流程。

實用的數學輸出可以包含所選方法、有依據的變換，以及獨立的最終表達式。請說明結果應為精確值或四捨五入值，並在單位重要時指定單位。對於程式碼，請要求將說明與建議實作分開。對於邏輯，請要求最終結論及其成立條件。這些需求決定讀者或應用程式在推理文字之後，實際能使用什麼。

上下文與實質邊界

目前發布設定將最大位置數設為 131,072。這是此檢查點的設定值，並非繼承而來、適用所有部署介面的承諾。開發者的 32,768-token 生成設定屬於評估的一部分；它並未確立另一個固定的最大答案長度。同樣地，若沒有獨立規格，也不應將原始 Qwen Instruct 模型的輸出容量移轉至此修改後的推理版本。

這是文字模型。數學問題的影像需要先將符號及條件轉為文字，才能進行推理任務；執行建議程式碼則需要獨立的開發或運算環境。蒸餾描述的是以 R1 範例訓練，而非在執行時自動呼叫教師模型，或內建獨立驗證器。

請以具名的 14B 檢查點處理明確的解題任務，並保留問題的記號、假設及目標結果。實際目的是取得讀者可檢查的解法：哪些條件適用、每個重要步驟為何成立，以及哪個最終表達式、實作或結論回答了原始問題。

實用任務

### 實用任務

英文技術範例

```
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.
```

#### 預期結果

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

#### 檢查結果

```
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/zh-hant-tw/#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`

### 入門

DeepSeek-R1-Distill-Qwen-14B 是以 Qwen2.5-14B 及 DeepSeek-R1 生成範例為基礎的文字推理檢查點。它支援包含解題過程的數學、程式設計及邏輯回答，並採用 DeepSeek 自身的 tokenizer、提示建議及發布設定。

接受的輸入

文字

結果

文字

### Ailoot 可用 · 輸入與方法

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

輸入

`text`

輸出

`text`

輸出格式

json 或 SSE

| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
| --- | --- | --- | --- | --- |
| 欄位`model` | 類型`string` | 要求必填 | 值與限制 deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | 預設值— |
| 欄位`messages` | 類型`message[]` | 要求必填 | 值與限制 項目數下限: 1 | 預設值— |
| 欄位`messages[].role` | 類型`string` | 要求必填 | 值與限制 範例：system, user, assistant, tool, function 條件: 這些角色由 原始碼中的相容型別明確表示；確切角色集合仍依模型而定。 依模型而定 | 預設值— |
| 欄位`messages[].content` | 類型`string\|content_part[]\|null` | 要求選填 | 值與限制 | 預設值— |
| 欄位`messages[].tool_calls` | 類型`tool_call[]` | 要求選填 | 值與限制 | 預設值— |
| 欄位`messages[].tool_call_id` | 類型`string` | 要求選填 | 值與限制 適用條件: role=tool；使用實際回傳的 ID | 預設值— |
| 欄位`messages[].name` | 類型`string` | 要求選填 | 值與限制 | 預設值— |
| 欄位`messages[].reasoning_content` | 類型`string` | 要求選填 | 值與限制 適用條件: 此模型使用推理內容時，將實際回傳的推理內容帶回後續請求 | 預設值— |
| 欄位`messages[].reasoning_details` | 類型`object\|array` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`max_tokens` | 類型`integer` | 要求選填 | 值與限制 最小值: 1 依模型而定 | 預設值— |
| 欄位`max_completion_tokens` | 類型`integer` | 要求選填 | 值與限制 最小值: 1 依模型而定 | 預設值— |
| 欄位`stream` | 類型`boolean` | 要求選填 | 值與限制 | 預設值false |
| 欄位`stream_options.include_usage` | 類型`boolean` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`temperature` | 類型`number` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`top_p` | 類型`number` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`stop` | 類型`string\|string[]` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`tools` | 類型`function_tool[]` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`tools[].type` | 類型`string` | 要求選填 | 值與限制 function 依模型而定 | 預設值— |
| 欄位`tools[].function.name` | 類型`string` | 要求必填 | 值與限制 適用條件: 已提供函式工具 | 預設值— |
| 欄位`tools[].function.description` | 類型`string` | 要求選填 | 值與限制 | 預設值— |
| 欄位`tools[].function.parameters` | 類型`JSON_schema` | 要求選填 | 值與限制 | 預設值— |
| 欄位`tool_choice` | 類型`string\|object` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`parallel_tool_calls` | 類型`boolean` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`response_format` | 類型`object` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`reasoning_effort` | 類型`string` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`reasoning` | 類型`object` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`service_tier` | 類型`string` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`instructions` | 類型`string` | 要求選填 | 值與限制 相容性欄位 | 預設值— |
| 欄位`functions` | 類型`function[]` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`function_call` | 類型`string\|object` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`prompt_cache_options` | 類型`object` | 要求選填 | 值與限制 依模型而定 | 預設值— |
| 欄位`modalities` | 類型`string[]` | 要求選填 | 值與限制 text | 預設值— |
| 欄位`provider` | 類型`object` | 要求選填 | 值與限制 條件: 此 Ultra 文字路由拒絕 provider.options | 預設值— |
| 欄位`cache_control.ttl` | 類型`string` | 要求選填 | 值與限制 條件: 實際提示詞快取位置拒絕 1h | 預設值— |

輸入素材組合

**文字** · UTF8 文字

`messages[].content`

方法參數與生命週期

| 參數 | 規格 |
| --- | --- |
| 參數`content_type` | 規格application/json |
| 參數`required` | 規格model, messages |
| 參數`material_types` | 規格text |
| 參數`messages` | 規格具有 role/content 結構的訊息陣列 |
| 參數`file_material` | 規格實際 UTF-8 文件以原文文字插入；不推定檔案 ID |
| 參數`optional_controls` | 規格stream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| 參數`control_scope` | 規格依模型而定；使用者函式工具與託管工具不同 |
| 參數`output_modalities` | 規格text |
| 參數`hosted_operations` | 規格false |
| 參數`multimodal_input_binding` | 規格null |

生命週期： `synchronous_or_streamed`

將確切模型 ID 與 messages 一併送出。

上下文長度不是輸出上限。

文字檔案可提供原文文字；圖片／音訊／檔案物件輸入需要精確綁定。

### 方案

費率資訊不會增加請求選項。支援的參數列於所選方法中。

快速模式

未指定 選取快速模式時

flex 模式

未指定 選取 flex 模式時

最高推理強度

未指定 最高推理強度採用 default 調整值時

#### Ailoot 費率

#### 各設定的價格

| 設定 | 費率表 | 費用 |
| --- | --- | --- |
| 設定詞元基本費率 | 費率表基本費率 | 費用 輸入 · 輸入 Token **$0.0002** / 1K Token 輸出 · 輸出 Token **$0.0002** / 1K Token 輸入 · 讀取快取 **$0** / 1K Token 輸入 · 寫入快取 **$0** / 1K Token 輸入 · 寫入快取，1 小時 **—** / 1K Token |

Ailoot 會在請求前預留估算金額。取得結果後，依實測用量結算最終費用。串流結算採用最終用量紀錄。[預留金額與結算的運作方式 →](https://ailoot.ai/docs/zh-hant-tw/billing/reserve/)

### 請求範例

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython 串流

```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")
```

### 接收並儲存結果

#### Ailoot Ultra · OpenAI Chat

json 或 SSE

##### 保留所有已完成的結果

請保留所有完整傳回的回應、檔案與內容區塊。

保留每個候選項及其內容／工具呼叫／推理。SSE 中依候選項／工具索引組合增量，保留最終完成原因與用量。

##### 需要檢查原始回應時

保留請求／回應 ID 與標頭。未提供通用的文字工作擷取 URL。

回應欄位

| 欄位 | 類型 |
| --- | --- |
| 欄位`choices[].index` | 類型integer |
| 欄位`choices[].message.content` | 類型string\|null |
| 欄位`choices[].message.tool_calls` | 類型tool\_call\[\] |
| 欄位`choices[].message.reasoning_content` | 類型string |
| 欄位`choices[].message.reasoning_details` | 類型object\|array |
| 欄位`choices[].finish_reason` | 類型string\|null |
| 欄位`usage` | 類型object |

錯誤與後續步驟

| 回應 | 條件 | 下一步 |
| --- | --- | --- |
| 回應400 · `invalid_request_error` | 條件必要欄位、素材表示方式或參數值無效 | 下一步提出新的建立請求前，先修正指定欄位。 |

### 別名

#### 模型別名

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

#### 方法路徑別名

請使用上方列出的 API 方法路徑。

#### 相關呼叫用 ID

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/zh-hant-tw/#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/zh-hant-tw/#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`

### 入門

DeepSeek-R1-Distill-Qwen-14B 是以 Qwen2.5-14B 及 DeepSeek-R1 生成範例為基礎的文字推理檢查點。它支援包含解題過程的數學、程式設計及邏輯回答，並採用 DeepSeek 自身的 tokenizer、提示建議及發布設定。

接受的輸入

文字

結果

json · sse

### Ailoot 可用 · 輸入與方法

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

輸入

`text`

輸出

`json`, `sse`

輸出格式

JSON 或 SSE

| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
| --- | --- | --- | --- | --- |
| 欄位`model` | 類型`string` | 要求必填 | 值與限制 deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | 預設值— |
| 欄位`messages` | 類型`message[]` | 要求必填 | 值與限制 | 預設值— |
| 欄位`messages[].role` | 類型`string` | 要求必填 | 值與限制 user, assistant | 預設值— |
| 欄位`messages[].content` | 類型`string` | 要求必填 | 值與限制 | 預設值— |
| 欄位`max_tokens` | 類型`integer` | 要求必填 | 值與限制 | 預設值— |
| 欄位`stream` | 類型`boolean` | 要求選填 | 值與限制 | 預設值false |

輸入素材組合

**文字** · UTF-8 文字

`messages[].content 字串`

方法參數與生命週期

| 參數 | 規格 |
| --- | --- |
| 參數`content_type` | 規格application/json |
| 參數`required` | 規格model, messages, max\_tokens |
| 參數`optional_controls` | 規格stream |
| 參數`material_types` | 規格text |
| 參數`text_file_material` | 規格讀取實際 UTF-8 文件，將文字放入指定的 input 或訊息內容字串。 |

生命週期： `synchronous_or_streamed`

### 方案

費率資訊不會增加請求選項。支援的參數列於所選方法中。

快速模式

未指定 選取快速模式時

flex 模式

未指定 選取 flex 模式時

最高推理強度

未指定 最高推理強度採用 default 調整值時

#### Ailoot 費率

#### 各設定的價格

| 設定 | 費率表 | 費用 |
| --- | --- | --- |
| 設定詞元基本費率 | 費率表基本費率 | 費用 輸入 · 輸入 Token **$0.0002** / 1K Token 輸出 · 輸出 Token **$0.0002** / 1K Token 輸入 · 讀取快取 **$0** / 1K Token 輸入 · 寫入快取 **$0** / 1K Token 輸入 · 寫入快取，1 小時 **—** / 1K Token |

Ailoot 會在請求前預留估算金額。取得結果後，依實測用量結算最終費用。串流結算採用最終用量紀錄。[預留金額與結算的運作方式 →](https://ailoot.ai/docs/zh-hant-tw/billing/reserve/)

### 請求範例

#### Ailoot Ultra · Anthropic Messages

完整的最小 JSON 請求主體curl · 使用您的 UTF-8 文件Python · 儲存完整結果

```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))
```

### 接收並儲存結果

#### Ailoot Ultra · Anthropic Messages

JSON 或 SSE

##### 保留所有已完成的結果

請保留所有完整傳回的回應、檔案與內容區塊。

保留所有內容區塊、思考簽章與實際工具使用 ID。組合所有 SSE 區塊增量；第一個文字區塊不是完整輸出。

##### 需要檢查原始回應時

保留請求／回應 ID 與標頭。未提供通用的文字工作擷取 URL。

回應欄位

| 欄位 | 類型 |
| --- | --- |
| 欄位`id` | 類型string |
| 欄位`model` | 類型string |
| 欄位`content[]` | 類型text\|thinking\|tool\_use\|other content block |
| 欄位`stop_reason` | 類型string\|null |
| 欄位`usage` | 類型object |

錯誤與後續步驟

| 回應 | 條件 | 下一步 |
| --- | --- | --- |
| 回應400 · `invalid_request_error` | 條件必要欄位、素材表示方式或參數值無效 | 下一步提出新的建立請求前，先修正指定欄位。 |

### 別名

#### 模型別名

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

#### 方法路徑別名

請使用上方列出的 API 方法路徑。

#### 相關呼叫用 ID

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/zh-hant-tw/#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

可以使用哪些輸入與結果？

`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`

請求使用哪些欄位？

`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`

適用哪些限制？

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

將 Ailoot 串接 Claude Code、OpenCode、Hermes 或自己的應用程式。

## 公司及其專案組合

公司及其專案組合：數百萬客戶，每月銷售額達數十億。

## 優惠購買 token。

訂閱優惠適合持續工作，折扣碼購買 token 最高可折 50%。

訂閱

為定期請求選擇優惠方案。

最高 50% 折扣碼

購買時輸入代碼，價格依活動重算。

歷史中的費用

每次請求保存模型、token 與金額。

[選擇訂閱](https://ailoot.ai/docs/zh-hant-tw/billing/subscriptions/) · [查看模型價格](https://ailoot.ai/models/zh-hant-tw/)

## 將 API 加入 你銷售的產品。

依 Ailoot 正式服務條款與授權合約串接 SaaS、應用程式與機器人；轉售請申請經銷授權。

商用應用程式

在付費功能加入文字、圖片、影片與聲音生成。

經銷授權

提供專案說明與存取方式，要求書面使用和轉售條件。

網站文件

串接前可閱讀正式服務條款、授權合約與資料處理政策。

[申請經銷授權](mailto:support@ailoot.ai) · [正式服務條款與授權合約](https://ailoot.ai/legal/offer?lang=zh-hant-tw)

## Ailoot · 公司及其專案組合





Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。





公司及其專案組合：數百萬客戶，每月銷售額達數十億。





Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
