全部產品
Search
文件中心

:子業務空間的模型調用

更新時間:Dec 17, 2024

本文主要介紹如何調用指定的業務空間的模型。

重要

通常情況下,通過主帳號的API Key調用模型中心的模型時,不需要傳遞業務空間ID。只有當使用子帳號的API Key調用模型時,需要通過某個業務空間進行模型的調用,才需要傳遞業務空間ID。

註:通過子帳號在預設業務空間下產生的API Key,可以訪問預設業務空間,也可以調用預設業務空間的模型和應用。

前提條件

調用樣本

SDK調用樣本

以下樣本展示了調用RAG檢索增強應用進行企業知識庫問答的代碼。

說明

說明

需要使用您的API Key替換樣本中的YOUR_API_KEY,使用業務空間ID替換樣本中的YOUR_WORKSPACE,代碼才能正常運行。請參考擷取業務空間 ID擷取業務空間ID。

python sdk version: dashscope>=1.17.0

java sdk version: >=2.12.0

設定API Key

export DASHSCOPE_API_KEY=YOUR_API_KEY

程式碼範例

以下樣本通過代碼調用子空間的模型。

import os
import dashscope

dashscope.base_http_api_url = 'https://dashscope-intl.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=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-plus", 
    messages=messages,
    result_format='message',
    workspace='YOUR_WORKSPACE'
    )
print(response)
  

// 建議dashscope SDK的版本 >= 2.12.0
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.protocol.Protocol;
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.JsonUtils;

public class Main {
    public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
        Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
        Message systemMsg = Message.builder()
                .role(Role.SYSTEM.getValue())
                .content("You are a helpful assistant.")
                .build();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content("你是誰?")
                .build();
        GenerationParam param = GenerationParam.builder()
                // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("qwen-plus")
                .workspace("YOUR_WORKSPACE")
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        return gen.call(param);
    }
    public static void main(String[] args) {
        try {
            GenerationResult result = callWithMessage();
            System.out.println(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            // 使用日誌架構記錄異常資訊
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}

API請求樣本(SSE關閉)

以下樣本展示通過CURL命令來調用子空間的模型的指令碼。

說明

需要使用您的API Key替換樣本中的YOUR_API_KEY,使用業務空間ID替換樣本中的YOUR_WORKSPACE,代碼才能正常運行。請參考擷取業務空間 ID擷取業務空間ID。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-WorkSpace: {YOUR_WORKSPACE}' \
--data '{
    "model": "qwen-turbo",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "如何做炒西紅柿雞蛋?"
            }
        ]
    },
    "parameters": {
    }
}'

API請求樣本(SSE開啟)

以下樣本展示通過CURL命令來調用子空間的模型的指令碼。

說明

需要使用您的API Key替換樣本中的YOUR_API_KEY,使用業務空間ID替換樣本中的YOUR_WORKSPACE,代碼才能正常運行。請參考擷取業務空間 ID擷取業務空間ID。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-WorkSpace: {YOUR_WORKSPACE}' \
--header 'X-DashScope-SSE: enable' \
--data '{
    "model": "qwen-turbo",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "如何做炒西紅柿雞蛋?"
            }
        ]
    },
    "parameters": {
    }
}'