阿里雲百鍊的千問系列模型支援 Anthropic API 相容介面。通過修改以下參數,即可將原有的 Anthropic 應用遷移至阿里雲百鍊。
ANTHROPIC_API_KEY(或 ANTHROPIC_AUTH_TOKEN):替換為百鍊 API Key。
ANTHROPIC_BASE_URL:替換為百鍊的相容端點地址
https://dashscope-intl.aliyuncs.com/apps/anthropic。模型名稱(model):替換為百鍊支援的模型名稱(例如
qwen3-plus),詳情請參考支援的模型。
本文檔僅適用於國際版(新加坡地區)。
快速接入
文本對話
import anthropic
import os
client = anthropic.Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY"),
base_url=os.getenv("ANTHROPIC_BASE_URL"),
)
# 遷移至百鍊:需配置環境變數 ANTHROPIC_API_KEY 和 ANTHROPIC_BASE_URL,並修改下方的 model 參數。
# 參數相容性請參考 Anthropic API 相容性詳情
message = client.messages.create(
model="qwen-plus", # 設定模型為 qwen-plus
max_tokens=1024,
# 深度思考,僅支援部分模型,請參閱支援的模型列表
thinking={
"type": "enabled",
"budget_tokens": 1024
},
# 流式輸出
stream=True,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "你是誰?"
}
]
}
]
)
print("=== 思考過程 ===")
first_text = True
for chunk in message:
if chunk.type == "content_block_delta":
if hasattr(chunk.delta, 'thinking'):
print(chunk.delta.thinking, end="", flush=True)
elif hasattr(chunk.delta, 'text'):
if first_text:
print("\n\n=== 回答 ===")
first_text = False
print(chunk.delta.text, end="", flush=True)
支援的模型
百鍊提供的 Anthropic API 相容服務支援以下千問系列模型:
模型系列 | 支援的模型名稱(model) |
千問Max (部分模型支援思考模式) | qwen3-max、qwen3-max-2026-01-23(支援思考模式)、qwen3-max-preview(支援思考模式) 查看更多 |
千問Plus | qwen3.5-plus、qwen3.5-plus-2026-02-15、qwen-plus、qwen-plus-latest、qwen-plus-2025-09-11 查看更多 |
千問Flash | qwen-flash、qwen-flash-2025-07-28 查看更多 |
千問Turbo | qwen-turbo、qwen-turbo-latest 查看更多 |
千問Coder (不支援思考模式) | qwen3-coder-next、qwen3-coder-plus、qwen3-coder-plus-2025-09-23、qwen3-coder-flash 查看更多 |
千問VL (不支援思考模式) | qwen3-vl-plus、qwen3-vl-flash、qwen-vl-max、qwen-vl-plus 查看更多 |
模型參數及計費規則請參考模型列表。
詳細步驟
開通阿里雲百鍊
如果您是首次訪問阿里雲百鍊服務平台,請按照以下步驟進行開通。
登入阿里雲百鍊控制台。
若頁面頂部顯示
,需開通阿里雲百鍊的模型服務,並獲得免費額度。如果未顯示該訊息,則表示您已經開通。
首次開通百鍊後,您可領取新人免費額度(有效期間:百鍊開通後90天內),用於模型推理服務。免費額度領取方法和詳情,請查看新人免費額度頁面。
超出額度或期限將產生費用,開啟免費額度用完即停功能將避免此情況下產生費用,具體費用請以控制台的實際報價和最終賬單為準。
配置環境變數
要通過相容 Anthropic API 的方式,來接入阿里雲百鍊的模型服務,需要配置以下兩個環境變數。
ANTHROPIC_BASE_URL:設定為 https://dashscope-intl.aliyuncs.com/apps/anthropic。ANTHROPIC_API_KEY或ANTHROPIC_AUTH_TOKEN:設定為阿里雲百鍊 API Key。ANTHROPIC_API_KEY或ANTHROPIC_AUTH_TOKEN均可作為接入認證,只需要設定其一即可。本文以ANTHROPIC_API_KEY為例。
macOS
在終端中執行以下命令,查看預設 Shell 類型。
echo $SHELL根據 Shell 類型設定環境變數,命令如下:
Zsh
# 用百鍊 API KEY 替換 YOUR_DASHSCOPE_API_KEY echo 'export ANTHROPIC_BASE_URL="https://dashscope-intl.aliyuncs.com/apps/anthropic"' >> ~/.zshrc echo 'export ANTHROPIC_API_KEY="YOUR_DASHSCOPE_API_KEY"' >> ~/.zshrcBash
# 用百鍊 API Key 替換 YOUR_DASHSCOPE_API_KEY echo 'export ANTHROPIC_BASE_URL="https://dashscope-intl.aliyuncs.com/apps/anthropic"' >> ~/.bash_profile echo 'export ANTHROPIC_API_KEY="YOUR_DASHSCOPE_API_KEY"' >> ~/.bash_profile在終端中執行下列命令,使環境變數生效。
Zsh
source ~/.zshrcBash
source ~/.bash_profile開啟一個新的終端,執行下列命令,查看環境變數是否生效。
echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_API_KEY
Windows
在 Windows 中,可以通過 CMD 或 PowerShell 將阿里雲百鍊提供的 Base URL 和API Key設定為環境變數。
CMD
在 CMD 中運行以下命令,設定環境變數。
# 用百鍊 API Key 替換 YOUR_DASHSCOPE_API_KEY setx ANTHROPIC_API_KEY "YOUR_DASHSCOPE_API_KEY" setx ANTHROPIC_BASE_URL "https://dashscope-intl.aliyuncs.com/apps/anthropic"開啟一個新的 CMD 視窗,運行以下命令,檢查環境變數是否生效。
echo %ANTHROPIC_API_KEY% echo %ANTHROPIC_BASE_URL%
PowerShell
在 PowerShell 中運行以下命令,設定環境變數。
# 用百鍊 API Key 替換 YOUR_DASHSCOPE_API_KEY [Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "YOUR_DASHSCOPE_API_KEY", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://dashscope-intl.aliyuncs.com/apps/anthropic", [EnvironmentVariableTarget]::User)開啟一個新的 PowerShell 視窗,運行以下命令,檢查環境變數是否生效。
echo $env:ANTHROPIC_API_KEY echo $env:ANTHROPIC_BASE_URL
API 呼叫-文本對話
cURL
curl -X POST "https://dashscope-intl.aliyuncs.com/apps/anthropic/v1/messages" \
-H "Content-Type: application/json" \
-H "x-api-key: ${ANTHROPIC_API_KEY}" \
-d '{
"model": "qwen-plus",
"max_tokens": 1024,
"stream": true,
"thinking": {
"type": "enabled",
"budget_tokens": 1024
},
"system": "You are a helpful assistant",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "你是誰?"
}
]
}
]
}'Python
安裝 Anthropic SDK
pip install anthropic程式碼範例
import anthropic import os client = anthropic.Anthropic( api_key=os.getenv("ANTHROPIC_API_KEY"), base_url=os.getenv("ANTHROPIC_BASE_URL"), ) message = client.messages.create( model="qwen-plus", max_tokens=1024, stream=True, system="you are a helpful assistant", # 深度思考,僅支援部分模型,請參閱支援的模型列表 thinking={ "type": "enabled", "budget_tokens": 1024 }, messages=[ { "role": "user", "content": [ { "type": "text", "text": "你是誰?" } ] } ] ) print("=== 思考過程 ===") first_text = True for chunk in message: if chunk.type == "content_block_delta": if hasattr(chunk.delta, 'thinking'): print(chunk.delta.thinking, end="", flush=True) elif hasattr(chunk.delta, 'text'): if first_text: print("\n\n=== 回答 ===") first_text = False print(chunk.delta.text, end="", flush=True)
TypeScript
安裝 Anthropic TypeScript SDK
npm install @anthropic-ai/sdk程式碼範例
import Anthropic from "@anthropic-ai/sdk"; async function main() { const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, baseURL: process.env.ANTHROPIC_BASE_URL, }); const stream = await anthropic.messages.create({ model: "qwen-plus", max_tokens: 1024, stream: true, // 深度思考,僅支援部分模型,請參閱支援的模型列表 thinking: { type: "enabled", budget_tokens: 1024 }, system: "You are a helpful assistant", messages: [{ role: "user", content: [ { type: "text", text: "你是誰?" } ] }] }); console.log("=== 思考過程 ==="); let firstText = true; for await (const chunk of stream) { if (chunk.type === "content_block_delta") { if ('thinking' in chunk.delta) { process.stdout.write(chunk.delta.thinking); } else if ('text' in chunk.delta) { if (firstText) { console.log("\n\n=== 回答 ==="); firstText = false; } process.stdout.write(chunk.delta.text); } } } console.log(); } main().catch(console.error);
Anthropic API 相容性詳情
HTTP Header
欄位 | 是否支援 |
x-api-key | |
Authorization Bearer | |
anthropic-beta/anthropic-version |
基礎欄位
欄位 | 是否支援 | 說明 | 樣本值 |
model | 模型名稱,支援範圍見支援的模型 | qwen-plus | |
max_tokens | 產生 token 的最大數量 | 1024 | |
container | - | - | |
mcp_servers | - | - | |
metadata | - | - | |
service_tier | - | - | |
stop_sequences | 會引發模型停止產生的自訂文本序列 | ["}"] | |
stream | 流式輸出 | True | |
system | 系統提示詞 | You are a helpful assistant | |
temperature | 溫度係數,用於控制模型產生文本的多樣性 | 1.0 | |
thinking | 思考模式,開啟後模型在產生回複前會先進行推理,以提升回答準確度。部分模型不支援,詳見支援的模型 | {"type": "enabled", "budget_tokens": 1024} | |
top_k | 產生過程中採樣候選集的大小 | 10 | |
top_p | 核採樣的機率閾值,控制模型產生文本的多樣性 | 0.1 |
由於 temperature 與 top_p 均可以控制產生文本的多樣性,因此建議只設定其中一個值。更多說明,請參見文本產生模型概述。
Tool 欄位
tools
欄位 | 是否支援 |
name | |
input_schema | |
description | |
cache_control |
tool_choice
值 | 是否支援 |
none | |
auto | |
any | |
tool |
Message 欄位
欄位 | 類型 | 子欄位 | 是否支援 | 說明 |
content | string | - | 純文字內容。 | |
array, type="text" | text | 文字區塊的內容。 | ||
cache_control | 用於控制該文字區塊的緩衝行為。 | |||
citations | - | |||
array, type="image" | - | - | ||
array, type="video" | - | - | ||
array, type="document" | - | - | ||
array, type="search_result" | - | - | ||
array, type="thinking" | - | - | ||
array, type="redacted_thinking" | - | - | ||
array, type="tool_use" | id | 工具調用的唯一識別碼。 | ||
input | 調用工具時傳入的參數對象。 | |||
name | 被調用的工具名稱。 | |||
cache_control | 用於控制該工具調用緩衝行為。 | |||
array, type="tool_result" | tool_use_id | 與本次結果對應的 | ||
content | 工具執行後返回的結果,通常為字串或 JSON 字串。 | |||
cache_control | 用於控制該工具結果的緩衝行為。 | |||
is_error | - | |||
array, type="server_tool_use" | - | - | ||
array, type="web_search_tool_result" | - | - | ||
array, type="code_execution_tool_result" | - | - | ||
array, type="mcp_tool_use" | - | - | ||
array, type="mcp_tool_result" | - | - | ||
array, type="container_upload" | - | - |
錯誤碼
HTTP狀態代碼 | 錯誤類型 | 說明 |
400 | invalid_request_error | 請求格式或內容存在問題。具體原因可能包括:缺少必要的請求參數、參數值的資料類型不正確等。 |
400 | Arrearage | 賬戶欠費導致服務暫停,請儲值後重試。 |
403 | authentication_error | API Key 存在問題。具體原因可能包括:要求標頭中未提供 API Key、提供的 API Key 不正確等。 |
404 | not_found_error | 未找到請求的資源。具體原因可能包括:相容介面拼字有誤、要求標頭中的模型不存在等。 |
429 | rate_limit_error | 賬戶達到了速率限制,建議降低請求頻率。 |
500 | api_error | 發生了一個通用的伺服器內部錯誤,建議稍後重試。 |
529 | overloaded_error | API 伺服器當前負載過高,暫時無法處理新的請求。 |