在應用流開發完成後,您可以將其部署為EAS服務。EAS提供自動擴縮容和全面的營運監控等功能,能夠確保應用靈活應對業務需求的變化和增長,提升系統的穩定性與效能,從而更好地支援生產環境的需求。
前提條件
已建立應用流,並完成調試。詳情請參見應用流開發。
部署應用流
進入LangStudio,選擇工作空間後,在應用流頁簽下單擊已調試完的應用流,然後在頁面右上方單擊部署(僅當運行時啟動時才可進行部署)。關鍵參數說明:

參數 | 描述 |
資源部署 | |
資源類型 | |
執行個體數 | 佈建服務執行個體數。在生產階段,建議配置多個服務執行個體,以降低單點故障的風險。 |
部署資源 | 如果僅作為業務流調度使用,您可以根據業務流複雜程度選擇合適的CPU資源。相對於GPU資源,CPU資源通常更加經濟實惠。部署後會產生EAS相關的資源費用,計費詳情請參見模型線上服務(EAS)計費說明。 |
專用網路:由於部署應用流實際上是將其部署為EAS服務,為確保服務部署後用戶端能正常訪問EAS線上服務,您可以選擇專用網路連通方案,將用戶端與EAS服務間的網路連通。需要注意的是,EAS服務內部預設與公網不通,如果您有EAS服務訪問公網的需求,需配置具備公網訪問能力的VPC,詳情請參見配置網路連通。 說明 如果應用流中包含向量資料庫連接(如Milvus),請確保配置的專用網路與向量資料庫執行個體所在的專用網路一致,或確保兩者網路互連。 | |
對話歷史 | |
開啟對話歷史 | 僅適用於“對話型”應用流的配置,開啟後支援儲存和傳遞多輪對話的歷史訊息,需要配合服務要求頭參數使用。 |
對話歷史儲存 | 本機存放區不支援多執行個體部署,如果您部署的服務為生產使用,建議使用外部儲存,如阿里雲資料庫RDS。詳情請參見附錄:對話歷史。 重要 採用本機存放區方案時,不支援多執行個體部署,也不支援單一實例擴容到多執行個體,否則會導致對話歷史功能出現異常。 |
鏈路追蹤:開啟後,可在服務部署完成後查看Trace詳情,以評估應用流的效果。 | |
角色與許可權:在應用流程中,如果使用了Faiss向量資料庫(建立知識庫時需要選擇Faiss或Milvus向量資料庫)或“阿里雲IQS-標準搜尋”(IQS連網搜尋聊天助手模板會使用到該組件),則需要根據實際情況選擇相應的角色。 | |
更多參數配置說明,請參見控制台自訂部署參數說明。
線上調試
調用服務
線上調試
部署成功後,跳轉到PAI-EAS,在線上調試頁簽下配置並發送請求。請求Body中的Key與應用流中“開始節點”中的參數“對話輸入”欄位一致,本文使用預設欄位question。

API調用
在概覽頁簽下擷取調用服務的Endpoint和Token。

發送API請求。
支援以簡單模式和完整模式調用,兩者區別如下:
屬性
簡單模式
完整模式
請求路徑
<Endpoint>/<Endpoint>/run功能描述
直接返回應用流的輸出結果。
返回一個複雜的結構,包括應用流的節點狀態、流的錯誤資訊、流的輸出訊息等。
適用情境
使用者只需要應用流的最終輸出結果,而不關心流的內部處理過程或狀態。
適用於簡單的查詢或操作,快速擷取結果。
使用者需要詳細瞭解應用流的執行過程,包括每個節點的狀態和可能的錯誤資訊。
適用於調試、監控或分析應用流的執行情況。
優點
使用簡單,無需解析複雜的結構。
提供全面的資訊,協助使用者深入理解應用流的執行過程。
有助於故障排查和最佳化應用流的效能。
簡單模式
完整模式
Langstudio支援SSE(Server-Sent Events),在發送請求時可以輸出應用流(Flow)執行時對應各節點的狀態、錯誤資訊、輸出訊息等,同時支援定製事件中
node_run_infos的內容組成。本文以線上調試方式舉例說明,您需要在調用地址後面追加/run,然後編輯請求Body:
請求Body參數欄位說明:
欄位名
類型
預設值
描述
inputs
Mapping[str, Any]
無
Flow的輸入資料字典。鍵(Key)應與Flow定義的輸入欄位名稱匹配。如果Flow無輸入,則忽略此欄位。
stream
bool
True
控制響應格式。取值:
True:以SSE流式響應。響應Header中的Content-Type為
text/event-stream,資料採用DataOnly的方式返回,按照事件不同,分為RunStarted、NodeUpdated、RunOutput和RunTerminated,詳情請參見表格下文。False:以單個JSON體響應。響應Header中的Content-Type為
application/json,可參見線上調試中的響應資訊。
response_config
Dict[str, Any]
-
控制流程式響應(當stream=True) 中包含的節點詳細資料。
∟ include_node_description
bool
False
(response_config內)是否在SSE事件流中包含節點描述。
∟ include_node_display_name
bool
False
(response_config內)是否在SSE事件流中包含節點名稱。
∟ include_node_output
bool
False
(response_config內)是否在SSE事件流中包含節點輸出。
∟ exclude_nodes
List[str]
[]
(response_config內)要從SSE事件流中排除的節點名稱列表。
返回資料按事件不同,分為RunStarted、NodeUpdated、RunOutput和RunTerminated:
OpenAI相容方式調用
部署的對話應用流(ChatFlow)支援以相容OpenAI的方式進行調用,同時也允許被其他支援OpenAI的用戶端使用。
基於OpenAI API的方式
本文以cURL命令進行流式調用舉例說明,請求/返回樣本如下:
請求樣本:
curl --location '<Endpoint>/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "default",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
],
"stream":true
}'請求參數配置說明:
參數 | 描述 |
--location '<Endpoint>/v1/chat/completions' | 請求的目標URL。其中 |
--header "Authorization: Bearer $DASHSCOPE_API_KEY" | HTTP頭部資訊。其中 |
"model": "default" | 模型名稱,固定為 |
"stream":true | 返回的資訊是否為流式資訊。註:僅當LLM節點作為應用流的輸出節點時(結束節點的直接輸入必須是LLM節點),才支援流式調用。 |
返回樣本:
data: {"choices":[{"delta":{"content":"","role":"assistant"},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"finish_reason":null,"delta":{"content":"I am"},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"a large"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"language model"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"created by Alibaba Cloud"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":". I am called Qwen."},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":""},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: [DONE]被其他用戶端應用整合
本文以Windows平台上的ChatBox v1.13.4應用舉例說明。
下載並安裝Chatbox。
開啟ChatBox,按照以下方式配置模型提供方名稱,如LangStudio。

選擇已配置的模型提供方,佈建服務請求參數。

關鍵參數說明:
參數
描述
API 模式
固定為
OpenAI API相容。API 金鑰
配置已部署LangStudio服務的Token,擷取方式見API調用-步驟1。
API 主機
配置已部署LangStudio服務的調用地址(擷取方式見API調用-步驟1),並在末尾添加
/v1尾碼。本文以公網調用地址為例,則API主機需配置為http://langstudio-20250319153409-xdcp.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1。API 路徑
固定為
/chat/completions。模型
單擊建立,輸入自訂模型ID,如qwen3-8b。
在Chat對話方塊中調用已部署的LangStudio服務。

查看Trace
在調用服務後,系統會自動產生一條Trace記錄。您可以在鏈路追蹤頁簽下單擊指定鏈路操作列的查看鏈路,通過查看Trace詳情進行應用流效果的評估。

該Trace資料支援您查看應用流中各個節點的輸入和輸出資訊,如向量資料庫召回的結果,或LLM節點的輸入和輸出資訊等。
附錄:對話歷史
對於“對話型”應用流,LangStudio提供了多輪對話的歷史訊息儲存功能。您可以選擇使用本機存放區或外部儲存來儲存對話歷史。
儲存類型
本機存放區:服務將利用本地磁碟,在部署應用流的EAS執行個體上自動建立一個名為chat_history.db的SQLite資料庫來儲存交談記錄,預設儲存路徑為
/langstudio/flow/。需要注意,本機存放區方案不支援多執行個體部署。請定期檢查本地磁碟的使用方式,您也可以通過下文提供的API介面進行對話歷史資料的查詢和刪除操作。當EAS執行個體被移除時,相關的對話歷史資料也將一併被清除。外部儲存:目前支援使用RDS MySQL進行儲存。您需要在部署服務時,為對話歷史儲存配置一個RDS MySQL串連,具體配置方法請參見服務串連配置-資料庫。服務將在您配置的RDS MySQL資料庫中自動建立以服務名稱為尾碼的表,例如
langstudio_chat_session_<服務名稱>和langstudio_chat_history_<服務名稱>,分別用於儲存對話Session及對話歷史訊息。
Session/User支援
每一次對應用流服務的對話請求都是無狀態的,當您希望多次請求被當作是同一個對話時,需要通過手動設定要求標頭的方式完成。服務要求方式詳情請參見API調用。
要求標頭名稱 | 資料類型 | 說明 | 備忘 |
Chat-Session-Id | String | 會話ID,每一次對服務的請求,系統會自動向本次會話分配唯一識別碼,用以區分不同會話,並通過Response Header中 | 支援使用自訂會話ID,為了保證唯一性,會話ID規範為長度為32-255個字元,支援大小寫字母、數字、底線(_)、中劃線(-)、英文冒號(:)。 |
Chat-User-Id | String | 使用者ID,標識對話所屬使用者。系統不會自動分配,支援使用者自訂。 | - |
對話歷史API
應用流服務還提供了對話歷史資料管理API,您可以方便地通過API來查看和刪除這些資料。只需通過GET請求訪問 {Endpoint}/openapi.json,即可擷取完整的API Schema。該Schema基於Swagger標準構建,為了更直觀地理解和探索這些API,建議您使用Swagger UI進行可視化操作,使操作更加簡單明了。