子業(yè)務空間的模型調用
本文主要介紹如何調用指定的業(yè)務空間的模型。
通常情況下,通過主賬號的API-KEY調用模型中心的模型時,不需要傳遞業(yè)務空間。只有當使用子賬號的API-KEY調用模型時,需要通過某個業(yè)務空間進行模型的調用,才需要傳遞業(yè)務空間。
注:目前通過子賬號的API-KEY無法訪問默認業(yè)務空間,默認業(yè)務空間的模型和應用只能通過主賬號的API-KEY進行調用。
前提條件
已開通百煉服務:開通阿里云百煉大模型服務產(chǎn)品。
已創(chuàng)建API-KEY: 獲取API-KEY。
已創(chuàng)建業(yè)務空間:如何使用業(yè)務空間。
已授權子賬號業(yè)務空間權限:RAM子賬號使用方式和授權操作。
已授權子業(yè)務空間的模型調用權限:模型訓練模塊授權子業(yè)務空間。
調用示例
SDK調用示例
以下示例展示了調用RAG檢索增強應用進行企業(yè)知識庫問答的代碼。
說明
需要使用您的API-KEY替換示例中的YOUR_API_KEY,并將WORKSPACE替換示例中的YOUR_WORKSPACE,代碼才能正常運行。請參考Workspace ID獲取WORKSPACE。
python sdk version: dashscope>=1.17.0
java sdk version: >=2.12.0
設置API-KEY
export DASHSCOPE_API_KEY=YOUR_API_KEY
代碼示例
以下示例通過代碼調用子空間的模型。
from http import HTTPStatus
import dashscope
def call_with_messages():
messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '如何做炒西紅柿雞蛋?'}]
response = dashscope.Generation.call(
dashscope.Generation.Models.qwen_turbo,
messages=messages,
result_format='message', # set the result to be "message" format.
workspace='YOUR_WORKSPACE'
)
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
call_with_messages()
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.MessageManager;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Main {
public static void callWithMessage()
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation();
MessageManager msgManager = new MessageManager(10);
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();
msgManager.add(systemMsg);
msgManager.add(userMsg);
GenerationParam param =
GenerationParam.builder().model(Generation.Models.QWEN_TURBO).messages(msgManager.get())
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.workspace("YOUR_WORKSPACE")
.build();
GenerationResult result = gen.call(param);
System.out.println(result);
}
public static void main(String[] args){
try {
callWithMessage();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
API請求示例(SSE關閉)
以下示例展示通過CURL命令來調用子空間的模型的腳本。
需要使用您的API-KEY替換示例中的YOUR_API_KEY,并將WORKSPACE替換示例中的YOUR_WORKSPACE,代碼才能正常運行。請參考Workspace ID獲取WORKSPACE。
curl --location 'https://dashscope.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,并將WORKSPACE替換示例中的YOUR_WORKSPACE,代碼才能正常運行。請參考Workspace ID獲取WORKSPACE。
curl --location 'https://dashscope.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": {
}
}'