手動部署大語言模型涉及複雜的環境配置、效能調優和成本管理。EAS提供了一站式LLM部署解決方案,支援DeepSeek、Qwen等熱門模型一鍵部署。
步驟一:部署LLM服務
以部署公用模型中的Qwen3-8B為例。
公用模型是指已預置部署模板的模型,可一鍵部署,無需準備模型檔案。如選擇自訂模型,需通過Object Storage Service等方式掛載模型檔案。
步驟二:線上調試
部署成功後,建議先通過線上調實驗證服務正常運行。單擊目標服務名稱進入詳情頁面,切換到線上調試頁簽,如下構造並發送請求。
選擇POST方法。
在自動填滿的URL末尾,追加路徑
/v1/chat/completions。確保要求標頭(Headers)中包含
Content-Type: application/json。填入請求體(Body):使用vLLM推理引擎,model值必須替換為正確的模型名稱(可通過
/v1/models介面發送GET請求擷取)。按照步驟一部署Qwen3-8B,此處需將<model_name>需替換為Qwen3-8B。{ "model": "<model_name>", "messages": [ { "role": "user", "content": "Hello!" } ], "max_tokens": 1024 }

步驟三:調用LLM服務
在調用之前,請在服務詳情頁面的概覽頁簽查看調用資訊,擷取訪問地址和Token,後續使用<EAS_ENDPOINT>和<EAS_TOKEN>指代這兩個值。
API調用
不同推理引擎的model參數處理存在關鍵差異:
vLLM/SGLang:model值配置為模型名稱,可通過
/v1/models介面發送GET請求擷取。BladeLLM:BladeLLM服務端點本身無需
model參數。但在使用OpenAI SDK時,由於用戶端強制要求該參數,可設定為空白字串""以作相容。詳情請參見BladeLLM服務調用參數配置說明。重要使用BladeLLM時,請務必在請求中顯式設定
max_tokens參數,否則輸出將預設在16個token後被截斷。
程式碼範例如下:
OpenAI SDK
推薦使用官方Python SDK與服務互動。確保已安裝OpenAI SDK:pip install openai。
from openai import OpenAI
# 1. 配置用戶端
# <EAS_TOKEN>需替換為部署服務的Token
openai_api_key = "<EAS_TOKEN>"
# <EAS_ENDPOINT>需替換為部署服務的訪問地址
openai_api_base = "<EAS_ENDPOINT>/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
# 2. 擷取模型名稱
# 對於BladeLLM, 設定model = ""。 因為BladeLLM不需要model入參,也不支援使用client.models.list()方式擷取模型名稱。設定Null 字元串以相容OpenAI SDK的強制參數要求
models = client.models.list()
model = models.data[0].id
print(model)
# 3. 發起對話請求
# 支援流式(stream=True)和非流式(stream=False)輸出
stream = True
chat_completion = client.chat.completions.create(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "hello"},
],
model=model,
top_p=0.8,
temperature=0.7,
max_tokens=1024,
stream=stream,
)
if stream:
for chunk in chat_completion:
print(chunk.choices[0].delta.content, end="")
else:
result = chat_completion.choices[0].message.content
print(result)cURL
對於快速測試或指令碼整合,可使用cURL。
curl -X POST <EAS_ENDPOINT>/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: <EAS_TOKEN>" \
-d '{
"model": "<model_name>",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "hello"
}
],
"max_tokens":1024,
"temperature": 0.7,
"top_p": 0.8,
"stream":true
}' 其中:
<EAS_ENDPOINT>和<EAS_TOKEN>需替換為部署服務的訪問地址和Token。
<model_name>需替換為模型名稱。對於vLLM/SGLang,可通過模型列表介面
<EAS_ENDPOINT>/v1/models擷取。對於BladeLLM,不支援該介面,可省略該欄位或設為 ""。curl -X GET <EAS_ENDPOINT>/v1/models -H "Authorization: <EAS_TOKEN>"
Python requests庫
對於不希望引入OpenAI SDK依賴的情境,可使用requests庫。
import json
import requests
# <EAS_ENDPOINT>需替換為部署服務的訪問地址
EAS_ENDPOINT = "<EAS_ENDPOINT>"
# <EAS_TOKEN>需替換為部署服務的Token
EAS_TOKEN = "<EAS_TOKEN>"
# <model_name>需替換為模型名稱,可通過模型列表介面<EAS_ENDPOINT>/v1/models擷取(對於BladeLLM,不支援該介面,可省略 "model" 欄位或設為 "")。
model = "<model_name>"
url = f"{EAS_ENDPOINT}/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": EAS_TOKEN,
}
stream = True
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "hello"},
]
req = {
"messages": messages,
"stream": stream,
"temperature": 0.7,
"top_p": 0.8,
"max_tokens": 1024,
"model": model,
}
response = requests.post(
url,
json=req,
headers=headers,
stream=stream,
)
if stream:
for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False):
msg = chunk.decode("utf-8")
# 以下代碼用於處理Server-Sent Events (SSE)格式的流式響應
if msg.startswith("data:"):
info = msg[6:]
if info == "[DONE]":
break
else:
resp = json.loads(info)
if resp["choices"][0]["delta"].get("content") is not None:
print(resp["choices"][0]["delta"]["content"], end="", flush=True)
else:
resp = json.loads(response.text)
print(resp["choices"][0]["message"]["content"])本地構建WebUI
Gradio是一個基於Python的方便使用的介面庫,能快速建立機器學習模型的互動式介面。請參考以下步驟,在本地運行Gradio WebUI。
下載代碼:根據部署時選擇的推理引擎,下載對應代碼。如網路環境可穩定訪問GitHub,請使用GitHub連結,否則請使用OSS連結。
vLLM、SGLang:vLLM/SGLang_github、vLLM/SGLang_oss
BladeLLM:BladeLLM_github、BladeLLM_oss
環境準備:要求Python3.10 或更高版本,並安裝依賴
pip install openai gradio。啟動Web應用:在終端執行以下命令(其中<EAS_ENDPOINT>和<EAS_TOKEN> 需替換為部署服務的訪問地址和Token)。
python webui_client.py --eas_endpoint "<EAS_ENDPOINT>" --eas_token "<EAS_TOKEN>"啟動成功後,會輸出一個本地URL(通常是
http://127.0.0.1:7860),在瀏覽器中開啟該URL進行訪問。
整合至第三方應用
EAS服務可整合至支援OpenAI API的各類用戶端和開發工具。配置的核心要素是服務訪問地址、Token和模型名稱。
Dify
安裝模型供應商OpenAI-API-compatible
單擊頁面右上方的頭像-設定,左側選擇模型供應商。如果模型列表中沒有OpenAI-API-compatible,在下方列表尋找安裝。

添加模型
單擊OpenAI-API-compatible卡片右下角添加模型,參數如下配置:
模型類型:選擇LLM。
模型名稱:vLLM部署請通過
/v1/models介面發送GET請求擷取。樣本填寫Qwen3-8B。API Key:填寫EAS服務Token。
API endpoint URL:填寫EAS服務公網調用地址(注意末尾加上/v1)。
測試使用
在Dify主介面單擊建立空白應用,選擇Chatflow類型,填入應用程式名稱等資訊後單擊建立。
單擊LLM節點,選擇添加的模型,並設定上下文和提示詞。

單擊右上方預覽,輸入問題。

Chatbox
前往Chatbox,根據您的裝置下載並安裝合適的版本,或直接啟動網頁版。本方案以macOS M3為例。
添加模型提供方。單擊設定,添加模型提供方,填寫名稱如pai,API模式選擇OpenAI API相容。

選擇模型提供方pai,配置如下參數。
API 金鑰:填寫EAS服務Token。
API 主機:填寫EAS服務公網調用地址(注意末尾加上/v1)。
API 路徑:無需填寫。
模型:單擊擷取進行添加(若推理引擎為BladeLLM,不支援通過介面擷取,可單擊建立填寫)。

對話測試。單擊新對話,文本輸入框右下角選擇模型服務。

Cherry Studio
安裝用戶端
訪問 Cherry Studio 下載並安裝用戶端。
也可以訪問
https://github.com/CherryHQ/cherry-studio/releases進行下載。配置模型服務。
單擊左下角的設定按鈕,在模型服務欄下方單擊添加。在供應商名稱中填寫自訂名稱,如PAI,供應商類型為OpenAI。單擊確定。
在API 金鑰填寫EAS服務Token;在API 地址填寫EAS服務公網調用地址。
單擊添加,在模型ID 中填寫模型名稱(vLLM部署請通過
/v1/models介面發送GET請求擷取),樣本填寫Qwen3-8B(注意大小寫)。
在API 金鑰輸入框旁單擊檢測來確認連通性。
快速體驗模型
回到對話方塊介面,在頂部選擇模型後開始對話。

計費說明
包括但不限於以下費用,詳情請參見模型線上服務(EAS)計費說明。
計算費用:主要成本來源,在建立EAS服務時,根據需求選擇隨用隨付或訂用帳戶的資源。
儲存費用:如果使用自訂模型,模型檔案儲存體在Object Storage Service中,會根據儲存用量產生相應的Object Storage Service費用。
應用於生產環境
選擇合適的模型
明確應用情境:
通用對話:請務必選擇指令微調模型,而非基本模型,以確保模型能理解並遵循您的指令。
代碼產生:選擇專門的代碼模型,如
Qwen3-Coder系列,它們在代碼相關任務上表現通常遠超通用模型。特定領域任務:如果任務非常專業(如金融、法律),可以考慮尋找在該領域微調過的模型,或者使用通用模型進行微調。
效能與成本:通常,模型參數量越大,能力越強,但部署所需的計算資源也越多,推理成本相應更高。建議您從較小的模型(如7B層級)開始驗證,若效能無法滿足需求,再逐步嘗試更大的模型。
參考權威評測:可以參考OpenCompass、LMSys Chatbot Arena等行業公認的評測榜單。這些榜單從推理、編碼、數學等多個維度對模型進行客觀評估,能提供有價值的選型依據。
選擇合適的推理引擎
vLLM/SGLang:作為開源社區的主流選擇,擁有廣泛的模型支援和豐富的社區文檔與樣本,易於整合和問題排查。
BladeLLM:阿里雲PAI團隊自研的推理引擎,針對特定模型(尤其是Qwen系列)有深度最佳化,可能獲得更高的效能和更低的顯存佔用。
推理最佳化
LLM智能路由:基於即時token輸送量、GPU顯存使用率等指標動態分發請求,均衡各推理執行個體的算力與顯存分配,適用於部署多個推理執行個體,且預期請求負載不均的情境,提升叢集資源使用率與系統穩定性。
基於專家並行和PD分離部署MoE模型:針對專家混合(Mixture-of-Experts, MoE)模型,通過專家並行(EP)和Prefill-Decode(PD)分離部署等技術,提升推理吞吐、降低部署成本。
常見問題
調用返回錯誤
Unsupported Media Type: Only 'application/json' is allowed請確保請求Headers中包含
Content-Type: application/json。調用返回錯誤
The model '<model_name>' does not exist.vLLM推理引擎要求model欄位必須填寫正確。可通過調用
/v1/models介面(GET請求)擷取模型名稱。
更多問題請參見EAS常見問題。