DeepSeek: DeepSeek V3.2 Exp
DeepSeek V3.2 Exp 是以 V3.1 Terminus 為基礎的稀疏注意力版本。它處理文字以進行推理、程式撰寫與代理任務,同時探索更有效率的長上下文注意力,製造商提供的上下文長度為 128K,且其身分與正式 V3.2 版本分開。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
DeepSeek V3.2 Exp 是 DeepSeek 以 V3.1 Terminus 為基礎建立的實驗性文字模型版本。其關鍵變更是 DeepSeek Sparse Attention,用來研究長文字序列的更高效率訓練與推論。任務仍以文字為主:書面指令與上下文產生文字答案、程式碼或代理相關輸出。這是稀疏注意力研究版本,與最終 V3.2 模型及其後來的工具思考格式有所區別。
DSA 使用輕量索引器與細粒度 token 選擇,讓主要注意力計算聚焦於選定的先前 token 資訊。DeepSeek 刻意讓實驗訓練設定與 V3.1 Terminus 一致,以單獨觀察架構變更的影響。V3.2 報告確認最終 V3.2 與 V3.2 Exp 共用此架構,並說明訓練是從具備 128K 上下文的 Terminus 基礎模型繼續進行。公布的實驗設定檔採用該 128K 長上下文設定。
開發商的實驗模型卡將推理與代理工作納入範圍,同時保留前一模型的任務定位。其依據分別涵蓋不使用工具的推理,以及代理式工具使用這兩種不同流程。請準備清楚的問題、相關來源上下文與預期的最終形式。若任務使用工具,應用程式需提供工具定義並回傳結果;模型提出的操作,並不等於已經實際執行的操作。
最終 V3.2 模型卡引入修訂後的工具呼叫格式,並明確說明結合工具的思考。這些更新屬於最終版本,不應視為實驗版本的完整互動規格。對 V3.2 Exp,請保留該版本自己的訊息格式及繼承自 Terminus 的任務脈絡,不要因名稱相近,就假定後來的所有控制項或角色都能互換。
比較長文件時,請為各來源加上標籤,並指出與問題相關的章節。一份說明範例可以是:「將這些要求與擬議實作比較,找出每個不符之處,引用能確立問題的段落,最後列出依優先順序排列的修正清單。」處理程式碼時,請提供失敗行為、相關片段與預期成果,再要求提出聚焦且說明清楚的修改。來源組織方式與完成標準,有助於將長上下文任務引導至可用產物。
開發商的參考實作包含稀疏注意力索引器,模型卡並記載一項重要實作修正:索引器 RoPE 使用非交錯配置,而潛在注意力模組預期交錯配置。這是與忠實執行模型有關的開發商參考細節,不是另一種使用者提示或新增能力。這也表示,僅靠模型名稱,無法說明各種實作如何處理實驗架構。
持續進行的代理任務,必須共同計算來源文字、對話、生成推理及工具觀察所占的容量。請整理有用的觀察,並要求最終答案區分依據、假設與擬議操作。若事實性成果依賴來源,請提供權威資料或適合的工具,而不是依靠廣泛的訓練知識。輸出仍是可根據任務及其輸入核查的文字、程式碼或分析紀錄。
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.2-exp-thinking
deepseek-v3.2-exp-thinking入門
DeepSeek V3.2 Exp 是以 V3.1 Terminus 為基礎的稀疏注意力版本。它處理文字以進行推理、程式撰寫與代理任務,同時探索更有效率的長上下文注意力,製造商提供的上下文長度為 128K,且其身分與正式 V3.2 版本分開。
- 接受的輸入
- 文字
- 結果
- 文字
Ailoot 可用 · 輸入與方法
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- 輸入
text- 輸出
text- 輸出格式
- json 或 SSE
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 deepseek-v3.2-exp-thinking | 預設值— |
欄位messages | 類型message[] | 要求必填 | 值與限制 項目數下限: 1 | 預設值— |
欄位messages[].role | 類型string | 要求必填 | 值與限制 依模型而定 | 預設值— |
欄位messages[].content | 類型string | 要求選填 | 值與限制 適用條件: 文字對話 | 預設值— |
欄位stream | 類型boolean | 要求選填 | 值與限制 | 預設值false |
輸入素材組合
文字 · UTF8 文字
messages[].content
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, messages |
參數material_types | 規格text |
參數messages | 規格具有 role/content 結構的訊息陣列 |
參數file_material | 規格實際 UTF-8 文件以原文文字插入;不推定檔案 ID |
參數optional_controls | 規格stream |
參數control_scope | 規格文字對話;stream 是布林值,預設為 false。 |
參數output_modalities | 規格text |
參數hosted_operations | 規格false |
參數multimodal_input_binding | 規格null |
方法別名: /chat/completions
生命週期: synchronous_or_streamed
將確切模型 ID 與 messages 一併送出。
上下文長度不是輸出上限。
文字檔案可提供原文文字;圖片/音訊/檔案物件輸入需要精確綁定。
方案
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
Ailoot 費率
各設定的價格
| 設定 | 費率表 | 費用 |
|---|---|---|
| 設定詞元基本費率 | 費率表基本費率 | 費用 輸入 · 輸入 Token $0.00058 / 1K Token 輸出 · 輸出 Token $0.00086 / 1K Token 輸入 · 讀取快取 $0 / 1K Token 輸入 · 寫入快取 $0 / 1K Token 輸入 · 寫入快取,1 小時 — / 1K Token |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · OpenAI Chat
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-v3.2-exp-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
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
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-v3.2-exp-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
接收並儲存結果
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-v3.2-exp-thinking
方法路徑別名
/chat/completions
相關呼叫用 ID
FAQ · DeepSeek: DeepSeek V3.2 Exp
- 可以使用哪些輸入與結果?
POST /v1/chat/completions·deepseek-v3.2-exp-thinking:text→text- 請求使用哪些欄位?
POST /v1/chat/completions·deepseek-v3.2-exp-thinking:model,messages,stream- 適用哪些限制?
POST /v1/chat/completions·deepseek-v3.2-exp-thinking:messages.min_items:1