全部產品
Search
文件中心

Alibaba Cloud Model Studio:Anthropic API 相容

更新時間:Feb 25, 2026

阿里雲百鍊的千問系列模型支援 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 查看更多

模型參數及計費規則請參考模型列表

詳細步驟

開通阿里雲百鍊

如果您是首次訪問阿里雲百鍊服務平台,請按照以下步驟進行開通。

  1. 登入阿里雲百鍊控制台

  2. 若頁面頂部顯示image,需開通阿里雲百鍊的模型服務,並獲得免費額度。如果未顯示該訊息,則表示您已經開通。

首次開通百鍊後,您可領取新人免費額度(有效期間:百鍊開通後90天內),用於模型推理服務。免費額度領取方法和詳情,請查看新人免費額度頁面。
說明

超出額度或期限將產生費用,開啟免費額度用完即停功能將避免此情況下產生費用,具體費用請以控制台的實際報價和最終賬單為準。

配置環境變數

要通過相容 Anthropic API 的方式,來接入阿里雲百鍊的模型服務,需要配置以下兩個環境變數。

  1. ANTHROPIC_BASE_URL:設定為 https://dashscope-intl.aliyuncs.com/apps/anthropic

  2. ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN:設定為阿里雲百鍊 API Key

    ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN均可作為接入認證,只需要設定其一即可。本文以ANTHROPIC_API_KEY為例。

macOS

  1. 在終端中執行以下命令,查看預設 Shell 類型。

    echo $SHELL
  2. 根據 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"' >> ~/.zshrc

    Bash

    # 用百鍊 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
  3. 在終端中執行下列命令,使環境變數生效。

    Zsh

    source ~/.zshrc

    Bash

    source ~/.bash_profile
  4. 開啟一個新的終端,執行下列命令,查看環境變數是否生效。

    echo $ANTHROPIC_BASE_URL
    echo $ANTHROPIC_API_KEY

Windows

  1. 在 Windows 中,可以通過 CMD 或 PowerShell 將阿里雲百鍊提供的 Base URL 和API Key設定為環境變數。

    CMD

    1. 在 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"
    2. 開啟一個新的 CMD 視窗,運行以下命令,檢查環境變數是否生效。

      echo %ANTHROPIC_API_KEY%
      echo %ANTHROPIC_BASE_URL%

    PowerShell

    1. 在 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)
    2. 開啟一個新的 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

  1. 安裝 Anthropic SDK

    pip install anthropic
  2. 程式碼範例

    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

  1. 安裝 Anthropic TypeScript SDK

    npm install @anthropic-ai/sdk
  2. 程式碼範例

    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

支援

與本次結果對應的 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 伺服器當前負載過高,暫時無法處理新的請求。