Skip to main content
更多

子業務空間的模型調用

本文以千問-Plus為例,引導您通過API調用子業務空間(即非預設業務空間)中的模型。

適用情境

  • 需要管控某類使用者可調用的模型:預設業務空間的API Key可調用所有模型(許可權過大)。如需管控RAM使用者可調用的模型,可將其添加至某個子業務空間,僅授權必要模型,並要求使用該空間的 API Key 調用。
  • 需要對模型調用的費用進行分賬:當預設業務空間包含多個業務或情境時,往往難以區分各自的模型調用費用。通過為每個業務或情境建立獨立的子業務空間,每個空間可獨立產生賬單,便於對調用費用進行分賬。

準備工作

  1. 擷取子業務空間的API Key:在子業務空間中建立API Key,並配置到環境變數(變數名使用DASHSCOPE_API_KEY),用於調用大模型API。
  2. 擷取模型調用許可權(調用標準模型需要):使用子業務空間的API Key調用標準模型(例如qwen-plus)前,需為該空間設定模型調用許可權
  3. 選擇開發語言:選擇您熟悉的語言和SDK,用於調用大模型API。

開始調用

OpenAI 相容

  • 新加坡地區
  • 北京地區
SDK 調用配置的base_urlhttps://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1HTTP 要求地址:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
以文本輸入為例,通過 OpenAI 相容方式調用子業務空間的qwen-plus標準模型。與預設業務空間的模型調用的區別在於:必須使用該子業務空間的 API Key
  • Python(SDK)
  • Java(SDK)
  • Node.js(SDK)
  • Go(SDK)
  • C#(HTTP)
  • PHP(HTTP)
  • curl(HTTP)
import os
from openai import OpenAI

client = OpenAI(
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx"
    # 新加坡和北京地區的API Key不同,調用時請將WorkspaceId替換為真實的業務空間ID。擷取API Key:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區base_url,調用時請將WorkspaceId替換為真實的業務空間ID。若使用北京地區的模型,需將base_url替換為:https://dashscope.aliyuncs.com/compatible-mode/v1
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    # 此處以qwen-plus為例,可按需更換模型名稱。模型列表:https://www.alibabacloud.com/help/model-studio/getting-started/models
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你是誰?"},
    ],
    # Qwen3模型通過enable_thinking參數控制思考過程(開源版預設True,商業版預設False)
    # 使用Qwen3開源版模型時,若未啟用流式輸出,請將下行取消注釋,否則會報錯
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

DashScope

  • 新加坡地區
  • 北京地區
HTTP 要求地址:
  • 千問大語言模型:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • 千問VL/OCR模型:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
SDK調用配置的base_url
  • Python代碼
  • Java代碼
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
以文本輸入為例,通過 DashScope 方式調用子業務空間的qwen-plus標準模型。與預設業務空間的模型調用的區別在於:必須使用該子業務空間的 API Key
  • Python(SDK)
  • Java(SDK)
  • PHP(HTTP)
  • Node.js(HTTP)
  • C#(HTTP)
  • Go(HTTP)
  • curl(HTTP)
import os
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 以上為新加坡地區base_url,調用時請將WorkspaceId替換為真實的業務空間ID。若使用北京地區的模型,需將base_url替換為:https://dashscope.aliyuncs.com/api/v1
messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': '你是誰?'}
]
response = dashscope.Generation.call(
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx"
    # 新加坡和北京地區的API Key不同,調用時請將WorkspaceId替換為真實的業務空間ID。擷取API Key:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-plus", # 此處以qwen-plus為例,可按需更換模型名稱。模型列表:https://www.alibabacloud.com/help/model-studio/getting-started/models
    messages=messages,
    result_format='message'
    )
print(response)

錯誤碼

如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。

下一步

查看更多模型

範例程式碼以qwen-plus模型為例,阿里雲百鍊還支援其他千問模型,支援的模型以及對應的API參考文檔請參見選擇模型

瞭解進階用法

範例程式碼僅完成了簡單問答,如果您想瞭解千問 API 的更多用法,如流式輸出結構化輸出Function Calling等,請參見概述