ALB擴充版支援將多個大模型服務統一接入,通過配置AI類型伺服器組及基於請求體中模型名稱的轉寄規則,自動將請求路由至對應的後端AI服務,從而提供統一入口並簡化用戶端整合邏輯。
業務情境
某企業在構建AI應用時,需要分別從阿里雲百鍊和DeepSeek調用qwen-turbo和deepseek-chat模型。ALB擴充版提供AI類型伺服器組,用戶端只需向ALB發送符合OpenAI格式的請求,在請求體中指定模型名稱,ALB的轉寄規則即可根據模型名稱將請求路由至對應的後端大模型服務,實現統一入口,降低業務複雜度和維護成本。
適用範圍
-
使用者已擷取ALB擴充版公測資格。
-
使用者已在華北6(烏蘭察布)地區建立一個Virtual Private Cloud,分別在可用性區域A和可用性區域B建立一個交換器,且交換器已配置公網SNAT(用於AI伺服器組調用公網大模型)。
-
使用者已開通阿里雲百鍊和DeepSeek,並擷取了API Key。
-
使用者已準備好與自訂網域名匹配的伺服器憑證。非阿里雲購買的認證需要上傳到阿里雲認證服務。
操作步驟
1.建立擴充版ALB執行個體
-
登入ALB控制台,選擇華北6(烏蘭察布)地區,單擊建立應用型負載平衡。
-
在購買頁完成以下配置,單擊立即建立。
-
地區:預設選擇華北6(烏蘭察布)。
-
執行個體網路類型:選擇公網。
-
VPC和可用性區域:選擇目標VPC,勾選烏蘭察布 可用性區域A和烏蘭察布 可用性區域B後選擇對應交換器,並自動分配公網IP。
-
協議版本:選擇IPv4。
-
功能版本(執行個體費):選擇擴充版。
-
-
在確認訂單頁面確認執行個體配置詳情,單擊立即開通。
2.建立AI類型伺服器組
建立兩個AI服務類型的伺服器組,分別對接阿里雲百鍊和DeepSeek。
建立阿里雲百鍊伺服器組
-
在伺服器組控制台,單擊建立伺服器組,伺服器群組類型選擇AI服務,給其一個易於識別的名稱,本文為
sgp-ai-qwen。 -
單擊建立,在伺服器組建立成功對話方塊單擊添加後端伺服器。
-
在添加AI服務對話方塊完成以下配置,單擊確定。
-
大模型供應商:選擇阿里雲百鍊。
-
服務地址:選擇大模型供應商後自動填滿。
-
API Key:填入阿里雲百鍊的API Key。
-
建立DeepSeek伺服器組
-
重複上述步驟,建立第二個AI服務類型的伺服器組,命名為
sgp-ai-deepseek。 -
添加後端伺服器時,大模型供應商選擇DeepSeek,並填入DeepSeek的API Key,單擊確定。
3.建立監聽
-
在ALB控制台,單擊目標執行個體ID進入執行個體詳情頁。在監聽頁簽單擊建立監聽。
-
在配置監聽步驟,選擇監聽協議為HTTPS,監聽通信埠填寫
443,完成後單擊下一步。 -
在配置SSL認證步驟,選擇與自訂網域名匹配的伺服器憑證,單擊下一步。
-
在選擇伺服器組步驟,依次選擇AI服務類型和阿里雲百鍊伺服器組
sgp-ai-qwen,完成後單擊下一步。此處選擇的伺服器組將用於監聽的預設規則,即在請求未命中其他轉寄規則時處理請求,使用者可根據實際需求進行調整。
-
在組態稽核步驟,確認配置並單擊提交。
4.配置轉寄規則
請求按優先順序數字從小到大依次匹配轉寄規則,匹配到某條規則後執行其轉寄動作,不再匹配後續規則。建立轉寄條件為AI模型的轉寄規則,將請求體中模型名稱滿足匹配條件的請求路由至對應的後端AI服務。
配置阿里雲百鍊轉寄規則
-
在執行個體監聽頁簽,單擊目標監聽ID。在監聽詳情頁切換到轉寄規則頁簽。
-
單擊插入新規則,完成以下配置後單擊確定。
-
轉寄條件:選擇AI模型。
-
模型名稱:輸入
qwen-turbo。 -
轉寄動作:轉寄至
sgp-ai-qwen伺服器組。
-
配置DeepSeek轉寄規則
-
重複上述步驟,添加第二條轉寄規則。
-
模型名稱輸入
deepseek-chat,轉寄至sgp-ai-deepseek伺服器組。
模型名稱為選擇性參數。轉寄條件AI模型將匹配所有請求路徑為/v1/completions、/v1/chat/completions或/v1/embeddings,且請求內容符合OpenAI相容協議的請求。如填寫模型名稱,則需同時滿足請求體中的model欄位與指定模型名稱匹配。
5.設定網域名稱解析
將自有網域名稱通過CNAME解析指向ALB執行個體的DNS名稱,用戶端通過自有網域名稱訪問ALB。
本文以阿里雲Alibaba Cloud DNS為例,對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台。
6.驗證測試
-
使用curl命令驗證請求是否正確路由至對應的大模型服務。請用實際配置的網域名稱替換
ai.example.com,需確保網域名稱解析已生效。 -
用戶端發送的請求需符合OpenAI相容協議,請求路徑為
/v1/completions、/v1/chat/completions或/v1/embeddings,請求體中需包含model欄位。轉寄規則根據model欄位的值進行路由匹配。
測試阿里雲百鍊(qwen-turbo模型)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "你是誰"
}
]
}' \
https://ai.example.com/v1/chat/completions
請求成功時,返回如下響應。響應中的model欄位為qwen-turbo,content欄位包含千問的自我介紹,表明請求已正確路由至阿里雲百鍊。
{
"choices": [
{
"message": {
"role": "assistant",
"content": "我是千問,是阿里巴巴集團旗下的通義實驗室自主研發的超大規模語言模型。我的中文名字是千問,英文名字是Qwen。我能夠回答問題、創作文字、邏輯推理、編程等多種任務。你可以叫我Qwen或者千問。有什麼我可以協助你的嗎?"
},
"finish_reason": "stop",
"index": 0
}
],
"object": "chat.completion",
"model": "qwen-turbo"
}
測試DeepSeek(deepseek-chat模型)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "你是誰"
}
]
}' \
https://ai.example.com/v1/chat/completions
請求成功時,返回如下響應。響應中的model欄位為deepseek-chat,content欄位包含DeepSeek的自我介紹,表明請求已正確路由至DeepSeek。
{
"object": "chat.completion",
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是DeepSeek,由深度求索公司創造的AI助手!\n\n我是一個純文字模型,雖然不支援多模態識別功能,但我有檔案上傳功能,可以幫你處理映像、txt、pdf、ppt、word、excel等檔案,並從中讀取文字資訊進行分析處理。\n\n我的一些特點:\n- 完全免費使用,沒有收費計劃\n- 上下文長度達128K,可以處理很長的對話\n- 支援連網搜尋(需要手動開啟)\n- 可以通過官方市集下載App使用\n- 知識截止到2024年7月\n\n我很樂意協助你解答問題、協助思考、處理文檔或者進行各種對話交流!有什麼我可以幫你的嗎?✨"
},
"logprobs": null,
"finish_reason": "stop"
}
]
}
釋放資源
完成測試後,如不再使用相關資源,可按以下步驟釋放以避免產生費用。
更多資訊
計費說明
ALB擴充版支援的地區
|
地區 |
地區 |
可用性區域 |
|
中國 |
華北6(烏蘭察布) |
可用性區域A、可用性區域B、可用性區域C |
|
華東1(杭州) |
可用性區域J、可用性區域K |
|
|
華北2(北京) |
可用性區域I、可用性區域K、可用性區域L |
|
|
華東2(上海) |
可用性區域B、可用性區域F |
|
|
中國香港 |
可用性區域B、可用性區域C、可用性區域D |
|
|
亞太地區 |
新加坡 |
可用性區域A、可用性區域B、可用性區域C |
|
日本(東京) |
可用性區域B、可用性區域C、可用性區域E |
|
|
歐美地區 |
德國(法蘭克福) |
可用性區域A、可用性區域B |
|
美國(矽谷) |
可用性區域A、可用性區域B |
|
|
中東 |
阿聯酋(杜拜) |
可用性區域A、可用性區域B |