DeepSeek-阿里雲
本文檔介紹如何在阿里雲百鍊平台通過OpenAI相容介面或DashScope SDK調用DeepSeek系列模型。
deepseek-v3、deepseek-v3.1、deepseek-v3.2、deepseek-v3.2-exp、deepseek-r1、deepseek-r1-0528、deepseek-r1-distill-qwen-7b/14b/32b 將於2026年7月9日下架。推薦轉用:qwen3.7-plus、qwen3.7-max、qwen3.6-flash。
服務接入地址
不同地區的服務接入地址不同,請根據您選擇的地區配置對應的 Base URL。各地區可調用的模型及限流不同,請參見限流文檔。
OpenAI相容
華北2(北京)
SDK 調用配置的base_url:https://dashscope.aliyuncs.com/compatible-mode/v1
HTTP 要求地址:POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
美國(維吉尼亞)
SDK 調用配置的base_url:https://dashscope-us.aliyuncs.com/compatible-mode/v1
HTTP 要求地址:POST https://dashscope-us.aliyuncs.com/compatible-mode/v1/chat/completions
新加坡
SDK 調用配置的base_url:https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
HTTP 要求地址:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
調用時請將WorkspaceId替換為真實的 Workspace ID。
德國(法蘭克福)
SDK 調用配置的base_url:https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1
HTTP 要求地址:POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
調用時請將WorkspaceId替換為真實的 Workspace ID。
日本(東京)
SDK 調用配置的base_url:https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1
HTTP 要求地址:POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
調用時請將WorkspaceId替換為真實的 Workspace ID。
DashScope
華北2(北京)
HTTP 要求地址為POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
SDK 調用無需配置 base_url。
美國(維吉尼亞)
HTTP 要求地址為POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/text-generation/generation
SDK 調用配置的base_url:dashscope.base_http_api_url = "https://dashscope-us.aliyuncs.com/api/v1"
新加坡
HTTP 要求地址為POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
SDK 調用配置的base_url:dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
調用時請將WorkspaceId替換為真實的 Workspace ID。
德國(法蘭克福)
HTTP 要求地址為POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
SDK 調用配置的base_url:dashscope.base_http_api_url = "https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1"
調用時請將WorkspaceId替換為真實的 Workspace ID。
日本(東京)
HTTP 要求地址為POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
SDK 調用配置的base_url:dashscope.base_http_api_url = "https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1"
調用時請將WorkspaceId替換為真實的 Workspace ID。
快速開始
deepseek-v4-pro 是 DeepSeek 系列最新模型,在編程、數學和通用任務方面表現出色。您可以通過enable_thinking參數在思考與非思考模式之間切換。以下樣本展示如何調用思考模式的 deepseek-v4-pro 模型。
需要已擷取API Key並完成配置API Key到環境變數。如果通過SDK調用,需要安裝 OpenAI 或 DashScope SDK。
OpenAI相容
enable_thinking非 OpenAI 標準參數,OpenAI Python SDK通過 extra_body傳入,Node.js SDK作為頂層參數傳入。reasoning_effort是 OpenAI 標準參數,可直接作為頂層參數傳入。
Python
範例程式碼
from openai import OpenAI
import os
# 初始化OpenAI用戶端
client = OpenAI(
# 如果沒有配置環境變數,請用阿里雲百鍊API Key替換:api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "你是誰"}]
completion = client.chat.completions.create(
model="deepseek-v4-pro",
messages=messages,
# 通過 extra_body 設定 enable_thinking 開啟思考模式
extra_body={"enable_thinking": True},
stream=True,
stream_options={
"include_usage": True
},
)
reasoning_content = "" # 完整思考過程
answer_content = "" # 完整回複
is_answering = False # 是否進入回複階段
print("\n" + "=" * 20 + "思考過程" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\n" + "=" * 20 + "Token 消耗" + "=" * 20 + "\n")
print(chunk.usage)
print("Request ID:", chunk.id)
continue
delta = chunk.choices[0].delta
# 只收集思考內容
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
# 收到content,開始進行回複
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "完整回複" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content返回結果
====================思考過程====================
嗯,使用者問了一個非常簡單的自我介紹問題:"你是誰"。
我需要明確自己的身份,用簡潔友好的方式介紹我是DeepSeek,說明我的創造者、基本特性和可提供的協助。
想到了可以這樣組織回答:先直接表明身份,說明由深度求索公司創造,然後列出一些關鍵特點(免費、長上下文、檔案上傳等),最後以友好的邀請結束,詢問是否需要協助。
====================完整回複====================
你好!我是 DeepSeek,由深度求索公司創造的 AI 助手。
我可以幫你解答各種問題、進行文字創作、分析文檔、編程輔助等等。我最大的特點是**免費使用**、**超長上下文**(能一次處理整本三體三部曲那麼多內容)、支援**檔案上傳**和**連網搜尋**(需手動開啟)。
有什麼我可以幫你的嗎?不管是學習、工作還是日常閑聊,我都很樂意陪你聊聊!
====================Token 消耗====================
CompletionUsage(completion_tokens=238, prompt_tokens=5, total_tokens=243, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=93, rejected_prediction_tokens=None), prompt_tokens_details=None)
Request ID: chatcmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890Node.js
範例程式碼
import OpenAI from "openai";
import process from 'process';
// 初始化OpenAI用戶端
const openai = new OpenAI({
// 如果沒有配置環境變數,請用阿里雲百鍊API Key替換:apiKey: "sk-xxx"
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});
let reasoningContent = ''; // 完整思考過程
let answerContent = ''; // 完整回複
let isAnswering = false; // 是否進入回複階段
async function main() {
try {
const messages = [{ role: 'user', content: '你是誰' }];
const stream = await openai.chat.completions.create({
model: 'deepseek-v4-pro',
messages,
// 注意:在 Node.js SDK,enable_thinking 這樣的非標準參數作為頂層屬性傳遞,無需放在 extra_body 中
enable_thinking: true,
stream: true,
stream_options: {
include_usage: true
},
});
console.log('\n' + '='.repeat(20) + '思考過程' + '='.repeat(20) + '\n');
for await (const chunk of stream) {
if (!chunk.choices?.length) {
console.log('\n' + '='.repeat(20) + 'Token 消耗' + '='.repeat(20) + '\n');
console.log(chunk.usage);
console.log('Request ID:', chunk.id);
continue;
}
const delta = chunk.choices[0].delta;
// 只收集思考內容
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
if (!isAnswering) {
process.stdout.write(delta.reasoning_content);
}
reasoningContent += delta.reasoning_content;
}
// 收到content,開始進行回複
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + '完整回複' + '='.repeat(20) + '\n');
isAnswering = true;
}
process.stdout.write(delta.content);
answerContent += delta.content;
}
}
} catch (error) {
console.error('Error:', error);
}
}
main();返回結果
====================思考過程====================
嗯,使用者問了一個非常簡單的自我介紹問題:"你是誰"。
我需要明確自己的身份,用簡潔友好的方式介紹我是DeepSeek,說明我的創造者、基本特性和可提供的協助。
想到了可以這樣組織回答:先直接表明身份,說明由深度求索公司創造,然後列出一些關鍵特點(免費、長上下文、檔案上傳等),最後以友好的邀請結束,詢問是否需要協助。
====================完整回複====================
你好!我是 DeepSeek,由深度求索公司創造的 AI 助手。
我可以幫你解答各種問題、進行文字創作、分析文檔、編程輔助等等。我最大的特點是**免費使用**、**超長上下文**(能一次處理整本三體三部曲那麼多內容)、支援**檔案上傳**和**連網搜尋**(需手動開啟)。
有什麼我可以幫你的嗎?不管是學習、工作還是日常閑聊,我都很樂意陪你聊聊!
====================Token 消耗====================
{
prompt_tokens: 5,
completion_tokens: 243,
total_tokens: 248,
completion_tokens_details: { reasoning_tokens: 83 }
}
Request ID: chatcmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890HTTP
範例程式碼
curl
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "你是誰"
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"enable_thinking": true
}'DashScope
Python
範例程式碼
import os
import dashscope
from dashscope import Generation
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
# 初始化請求參數
messages = [{"role": "user", "content": "你是誰?"}]
completion = Generation.call(
# 如果沒有配置環境變數,請用阿里雲百鍊API Key替換:api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="deepseek-v4-pro",
messages=messages,
result_format="message", # 設定結果格式為 message
enable_thinking=True,
stream=True, # 開啟流式輸出
incremental_output=True, # 開啟增量輸出
)
reasoning_content = "" # 完整思考過程
answer_content = "" # 完整回複
is_answering = False # 是否進入回複階段
print("\n" + "=" * 20 + "思考過程" + "=" * 20 + "\n")
for chunk in completion:
message = chunk.output.choices[0].message
# 只收集思考內容
if "reasoning_content" in message:
if not is_answering:
print(message.reasoning_content, end="", flush=True)
reasoning_content += message.reasoning_content
# 收到 content,開始進行回複
if message.content:
if not is_answering:
print("\n" + "=" * 20 + "完整回複" + "=" * 20 + "\n")
is_answering = True
print(message.content, end="", flush=True)
answer_content += message.content
print("\n" + "=" * 20 + "Token 消耗" + "=" * 20 + "\n")
print(chunk.usage)
print("Request ID:", chunk.request_id)返回結果
====================思考過程====================
嗯,使用者問了一個非常簡單的自我介紹問題:"你是誰"。
我需要明確自己的身份,用簡潔友好的方式介紹我是DeepSeek,說明我的創造者、基本特性和可提供的協助。
想到了可以這樣組織回答:先直接表明身份,說明由深度求索公司創造,然後列出一些關鍵特點(免費、長上下文、檔案上傳等),最後以友好的邀請結束,詢問是否需要協助。
====================完整回複====================
你好!我是 DeepSeek,由深度求索公司創造的 AI 助手。
我可以幫你解答各種問題、進行文字創作、分析文檔、編程輔助等等。我最大的特點是**免費使用**、**超長上下文**(能一次處理整本三體三部曲那麼多內容)、支援**檔案上傳**和**連網搜尋**(需手動開啟)。
有什麼我可以幫你的嗎?不管是學習、工作還是日常閑聊,我都很樂意陪你聊聊!
====================Token 消耗====================
{"input_tokens": 6, "output_tokens": 240, "total_tokens": 246, "output_tokens_details": {"reasoning_tokens": 92}}
Request ID: 85735883-9062-9c33-a963-0bc12584ee68Java
範例程式碼
DashScope Java SDK版本需要不低於2.19.4。
// dashscope SDK的版本 >= 2.19.4
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import io.reactivex.Flowable;
import java.lang.System;
import java.util.Arrays;
public class Main {
// 以下為華北2(北京)地區的配置,調用時請將WorkspaceId替換為真實的業務空間ID,各地區的配置不同。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
private static StringBuilder reasoningContent = new StringBuilder();
private static StringBuilder finalContent = new StringBuilder();
private static boolean isFirstPrint = true;
private static String requestId = "";
private static void handleGenerationResult(GenerationResult message) {
requestId = message.getRequestId();
String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
String content = message.getOutput().getChoices().get(0).getMessage().getContent();
if (reasoning != null && !reasoning.isEmpty()) {
reasoningContent.append(reasoning);
if (isFirstPrint) {
System.out.println("====================思考過程====================");
isFirstPrint = false;
}
System.out.print(reasoning);
}
if (content != null && !content.isEmpty()) {
finalContent.append(content);
if (!isFirstPrint) {
System.out.println("\n====================完整回複====================");
isFirstPrint = true;
}
System.out.print(content);
}
}
private static GenerationParam buildGenerationParam(Message userMsg) {
return GenerationParam.builder()
// 若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("deepseek-v4-pro")
.enableThinking(true)
.incrementalOutput(true)
.resultFormat("message")
.messages(Arrays.asList(userMsg))
.build();
}
public static void streamCallWithMessage(Generation gen, Message userMsg)
throws NoApiKeyException, ApiException, InputRequiredException {
GenerationParam param = buildGenerationParam(userMsg);
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(message -> handleGenerationResult(message));
}
public static void main(String[] args) {
try {
Generation gen = new Generation("http", "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
Message userMsg = Message.builder().role(Role.USER.getValue()).content("你是誰?").build();
streamCallWithMessage(gen, userMsg);
System.out.println("\nRequest ID: " + requestId);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("An exception occurred: " + e.getMessage());
}
}
}返回結果
====================思考過程====================
嗯,使用者問了一個非常簡單的自我介紹問題:"你是誰"。
我需要明確自己的身份,用簡潔友好的方式介紹我是DeepSeek,說明我的創造者、基本特性和可提供的協助。
想到了可以這樣組織回答:先直接表明身份,說明由深度求索公司創造,然後列出一些關鍵特點(免費、長上下文、檔案上傳等),最後以友好的邀請結束,詢問是否需要協助。
====================完整回複====================
你好!我是 DeepSeek,由深度求索公司創造的 AI 助手。
我可以幫你解答各種問題、進行文字創作、分析文檔、編程輔助等等。我最大的特點是**免費使用**、**超長上下文**(能一次處理整本三體三部曲那麼多內容)、支援**檔案上傳**和**連網搜尋**(需手動開啟)。
有什麼我可以幫你的嗎?不管是學習、工作還是日常閑聊,我都很樂意陪你聊聊!HTTP
範例程式碼
curl
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "deepseek-v4-pro",
"input":{
"messages":[
{
"role": "user",
"content": "你是誰?"
}
]
},
"parameters":{
"enable_thinking": true,
"incremental_output": true,
"result_format": "message"
}
}'推理強度(reasoning_effort)
deepseek-v4-pro 和 deepseek-v4-flash 預設開啟思考模式。通過reasoning_effort參數可以調整推理強度,可選值為high和max,預設為high。
設為low或medium時會映射為high,設為xhigh時會映射為max。
OpenAI相容
Python
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[{"role": "user", "content": "9.9和9.11哪個大"}],
reasoning_effort="high",
)
print(completion.choices[0].message.content)Node.js
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
});
const completion = await openai.chat.completions.create({
model: "deepseek-v4-pro",
messages: [{ role: "user", content: "9.9和9.11哪個大" }],
reasoning_effort: "high",
});
console.log(completion.choices[0].message.content);curl
curl -X POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"messages": [{"role": "user", "content": "9.9和9.11哪個大"}],
"reasoning_effort": "high"
}'DashScope
import os
from dashscope import Generation
# 以下為華北2(北京)地區的配置,調用時請將WorkspaceId替換為真實的業務空間ID,各地區的配置不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"
response = Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="deepseek-v4-pro",
messages=[{"role": "user", "content": "9.9和9.11哪個大"}],
reasoning_effort="high",
result_format="message",
)
print(response.output.choices[0].message.content)其它功能
模型 | |||||
deepseek-v4-pro | |||||
deepseek-v4-pro-us | |||||
deepseek-v4-flash | |||||
deepseek-v4-flash-us | |||||
deepseek-v3.2 | |||||
deepseek-v3.2-exp | 僅支援非思考模式。 | ||||
deepseek-v3.1 | 僅支援非思考模式。 | ||||
deepseek-r1 | |||||
deepseek-r1-0528 | |||||
deepseek-v3 | |||||
蒸餾模型 |
參數預設值
模型 | temperature | top_p | repetition_penalty | presence_penalty | max_tokens | thinking_budget |
deepseek-v4-pro | 1.0 | 1.0 | - | - | 共393,216 | |
deepseek-v4-pro-us | 1.0 | 1.0 | - | - | 共393,216 | |
deepseek-v4-flash | 1.0 | 1.0 | - | - | 共393,216 | |
deepseek-v4-flash | 1.0 | 1.0 | - | - | 共393,216 | |
deepseek-v3.2 | 1.0 | 0.95 | - | - | 65,536 | 32,768 |
deepseek-v3.2-exp | 0.6 | 0.95 | 1.0 | - | 65,536 | 32,768 |
deepseek-v3.1 | 0.6 | 0.95 | 1.0 | - | 65,536 | 32,768 |
deepseek-r1 | 0.6 | 0.95 | - | 1 | 16,384 | 32,768 |
deepseek-r1-0528 | 0.6 | 0.95 | - | 1 | 16,384 | 32,768 |
蒸餾版 | 0.6 | 0.95 | - | 1 | 16,384 | 16,384 |
deepseek-v3 | 0.7 | 0.6 | - | - | 16,384 | - |
“-” 表示沒有預設值,也不支援設定。
deepseek-r1、deepseek-r1-0528、蒸餾版模型不支援設定以上參數值。
參數含義請參考OpenAI相容-Chat。
模型列表與計費
混合思考模型(通過
enable_thinking參數控制是否思考):deepseek-v4-pro、deepseek-v4-flash、deepseek-v3.2、deepseek-v3.2-exp、deepseek-v3.1僅思考模型(回複前總會思考):deepseek-r1、deepseek-r1-0528
非思考模型:deepseek-v3
deepseek-v4-pro 在編程、數學和通用任務方面表現出色,deepseek-v4-flash 快速且經濟高效,推薦優先使用 deepseek-v4-pro。
模型上下文長度與價格資訊請參見百鍊控制台。
按照模型的輸入與輸出 Token 計費。
思考模式下,思維鏈按照輸出 Token 計費。
常見問題
可以上傳圖片或文檔進行提問嗎?
DeepSeek 模型僅支援文本輸入,不支援圖片或文檔輸入。如需圖片輸入,請使用千問VL模型;如需文檔輸入,請使用Qwen-Long模型。
如何查看Token消耗量及調用次數?
模型調用完一小時後,在模型觀測版面設定查詢條件(例如,選擇時間範圍、業務空間等),再在模型列表地區找到目標模型並單擊操作列的监控,即可查看該模型的調用統計結果。具體請參見模型監控文檔。
資料按小時更新,高峰期可能有小時級延遲,請您耐心等待。
錯誤碼
如果執行報錯,請參見錯誤碼進行解決。