通過(guò)終端節(jié)點(diǎn)私網(wǎng)訪問(wèn)阿里云百煉平臺(tái)
在使用SDK/API調(diào)用阿里云百煉平臺(tái)的模型或應(yīng)用時(shí),通過(guò)私網(wǎng)訪問(wèn)阿里云百煉平臺(tái)可以提高數(shù)據(jù)傳輸?shù)陌踩约皞鬏斝省D梢酝ㄟ^(guò)私網(wǎng)連接(PrivateLink)建立專有網(wǎng)絡(luò) VPC(Virtual Private Cloud)與阿里云百煉平臺(tái)之間的網(wǎng)絡(luò)連接。
前提條件
已創(chuàng)建了用于訪問(wèn)阿里云百煉平臺(tái)的VPC,并獲取到VPC的名稱、VPC下的可用區(qū)與交換機(jī)信息。具體操作,請(qǐng)參見(jiàn)創(chuàng)建和管理專有網(wǎng)絡(luò)。
VPC需要滿足以下條件:
地域:VPC必須位于阿里云百煉生產(chǎn)環(huán)境所在的站點(diǎn)。目前,百煉僅在北京設(shè)有生產(chǎn)環(huán)境,因此,VPC的地域?yàn)椤叭A北2(北京)”。
可用區(qū):在百煉支持接入的可用區(qū)內(nèi)至少選擇2個(gè)可用區(qū)。百煉支持接入的可用區(qū)包括北京可用區(qū)G、北京可用區(qū)H、北京可用區(qū)I、北京可用區(qū)K及北京可用區(qū)L。
交換機(jī):已選的可用區(qū)中,每個(gè)可用區(qū)至少有一個(gè)交換機(jī)。
已創(chuàng)建安全組。具體操作,請(qǐng)參見(jiàn)創(chuàng)建安全組。
安全組入方向需要開(kāi)放HTTP(80)和HTTPS(443)端口,用于終端節(jié)點(diǎn)所在的VPC通過(guò)HTTP協(xié)議或者HTTPS協(xié)議訪問(wèn)阿里云百煉平臺(tái)。
步驟一:在VPC中創(chuàng)建連接阿里云百煉平臺(tái)的終端節(jié)點(diǎn)
在左側(cè)導(dǎo)航欄,單擊終端節(jié)點(diǎn),進(jìn)入終端節(jié)點(diǎn)設(shè)置頁(yè)面。
在頂部菜單欄處,選擇終端節(jié)點(diǎn)所在的地域“華北2(北京)”。
在接口終端節(jié)點(diǎn)頁(yè)簽,單擊創(chuàng)建終端節(jié)點(diǎn),并配置以下各項(xiàng)參數(shù),其他參數(shù)保持默認(rèn)即可。
參數(shù)名稱
參數(shù)取值
所屬地域
選擇“華北2(北京)”。
節(jié)點(diǎn)名稱
自定義,建議對(duì)節(jié)點(diǎn)名稱進(jìn)行規(guī)范,以便準(zhǔn)確識(shí)別節(jié)點(diǎn)的用途。
例如“通過(guò)PVL訪問(wèn)百煉”。
終端節(jié)點(diǎn)類型
選擇“接口終端節(jié)點(diǎn)”。
終端節(jié)點(diǎn)服務(wù)
選擇“阿里云服務(wù)”,再選擇“com.aliyuncs.dashscope”。
是否開(kāi)啟自定義服務(wù)域名:選擇“開(kāi)啟”。
專有網(wǎng)絡(luò)
選擇前提條件中已經(jīng)獲取的VPC、VPC下的可用區(qū)和交換機(jī)、安全組。
建議選擇兩個(gè)可用區(qū)。
安全組
可用區(qū)與交換機(jī)
單擊確定創(chuàng)建,完成創(chuàng)建。
獲取終端節(jié)點(diǎn)的自定義服務(wù)域名,用于后續(xù)訪問(wèn)阿里云百煉平臺(tái)。
步驟二:通過(guò)終端節(jié)點(diǎn)私網(wǎng)訪問(wèn)阿里云百煉平臺(tái)
用戶在自己的VPC中通過(guò)SDK/API調(diào)用阿里云百煉平臺(tái)的模型或應(yīng)用時(shí),如果待訪問(wèn)的URL采用HTTPS協(xié)議,則可以將URL中公網(wǎng)域名dashscope.aliyuncs.com
替換為已經(jīng)獲取到的自定義服務(wù)域名,從而直接通過(guò)私網(wǎng)訪問(wèn)百煉平臺(tái)。
例如,通過(guò)HTTP調(diào)用通義千問(wèn)文本輸入模型時(shí),將POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
中的dashscope.aliyuncs.com
替換為已經(jīng)獲取的自定義服務(wù)域名vpc-cn-beijing.dashscope.aliyuncs.com
。
HTTP
curl -X POST https://vpc-cn-beijing.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你是誰(shuí)?"
}
]
}'
OpenAI Python SDK
import os
from openai import OpenAI
client = OpenAI(
# 若沒(méi)有配置環(huán)境變量,請(qǐng)用百煉API Key將下行替換為:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://vpc-cn-beijing.dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus", # 模型列表:http://m.bestwisewords.com/zh/model-studio/getting-started/models
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是誰(shuí)?'}],
)
print(completion.model_dump_json())
DashScope Python SDK
import os
from http import HTTPStatus
# 建議dashscope SDK 的版本 >= 1.14.0
import dashscope
from dashscope import Generation
dashscope.base_http_api_url = "https://vpc-cn-beijing.dashscope.aliyuncs.com/api/v1"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
messages = [{
'role': 'user', 'content': '你是誰(shuí)?'
}]
response = Generation.call(model="qwen-max",
messages=messages,
result_format='message')
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
))
相關(guān)文檔
如需了解PrivateLink的組成、應(yīng)用場(chǎng)景等信息,請(qǐng)參見(jiàn)什么是私網(wǎng)連接。
如需了解終端節(jié)點(diǎn)的配置等信息,請(qǐng)參見(jiàn)終端節(jié)點(diǎn)