日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

應用流部署

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

EAS(Elastic Algorithm Service)是PAI針對在線推理場景提供的模型在線服務平臺。您可以將調試好的應用流一鍵部署至EAS,作為生產環境使用。本文為您詳細介紹應用流的部署過程。

前提條件

已創建應用流,并完成調試。詳情請參見應用流開發。

部署服務

按照以下操作步驟,將應用流部署為EAS服務:

  1. 登錄PAI控制臺,在右側選擇目標工作空間后,單擊進入LangStudio。

  2. 應用流頁簽,單擊已調試完成的應用流名稱,進入應用流詳情頁面。

  3. 單擊應用流詳情頁面右上方的部署按鈕。

    說明

    僅當應用流的運行時已啟動時,才能單擊部署按鈕,將其部署為在線服務。

    image

  4. 部署配置面板中,配置以下關鍵參數,其他參數配置說明,請參見服務部署:控制臺

    參數

    描述

    資源部署信息

    資源組種類

    選擇公共資源組或您創建的專屬資源組。

    實例數

    建議配置多個服務實例,以避免單點部署帶來的風險。

    資源配置選擇

    建議您選擇至少48 GB的機器規格部署應用流服務。如果您開發的應用流的代碼對資源要求比較高,可以按需選擇更高規格的配置。

    專有網絡配置

    VPC

    由于EAS在線服務部署在EAS資源組上,為確保服務部署后客戶端能正常訪問EAS在線服務,您可以選擇專有網絡連通方案,將客戶端與部署服務的資源組間的網絡連通。EAS服務內部默認與公網不通,如果您有EAS服務訪問公網的需求,需經由VPC開通公網訪問。詳情請參見配置網絡連通。

    說明

    當在應用流中使用向量數據庫連接時,請確保所配置的專有網絡與相應的實例保持一致,或保證網絡連通。

    交換機

    安全組名稱

    對話歷史

    開啟對話歷史

    僅適用于對話型應用流的配置,提供多輪對話歷史消息的存儲與傳遞功能。

    對話歷史存儲

    如果您部署的服務為生產使用,建議使用外部存儲,如阿里云數據庫RDS。詳情請參見對話歷史

    警告

    采用本地存儲方案,不支持多實例部署,也不支持單實例擴容到多實例,否則會導致對話歷史功能不正常。

  5. 參數配置完成后,單擊部署,并按照控制臺操作指引部署應用流。

    說明

    部署應用流會產生EAS相關的資源費用,計費詳情請參見模型在線服務(EAS)計費說明

    應用流服務部署成功后,默認會添加以下6個標簽。后續,您可以在EAS服務列表中,通過默認標簽查詢應用流對應的模型服務;也可以在LangStudio列表頁面,通過FlowIdFlowName查看該服務對應的應用流詳情。

    • CreatedBy: LangStudio

    • DeployMode: SERVING

    • FlowId : flow-***

    • FlowName: ***

    • FlowServiceId: snap-***

    • SnapshotId: snap-***。

調用服務

在線調試

服務部署成功后,您可以通過在線調試功能,驗證模型服務是否運行正常,具體操作步驟如下:

  1. 進入模型在線服務頁面,然后在推理服務頁簽,單擊LangStudio應用流服務操作列下的在線調試

  2. 在線調試請求參數區域,配置以下參數,調用模型服務。image

    Body頁簽,配置請求參數。請求參數中字典的Key需要和應用流中的Inputs定義一致。

  3. 參數配置完成后,單擊發送請求。

API調用

  1. 查詢服務EndpointToken。

    1. 進入模型在線服務頁面,單擊目標服務名稱,進入服務詳情頁面。

    2. 基本信息區域,單擊查看調用信息,然后在公網地址調用頁簽,獲取服務EndpointToken。

  2. 向服務發送API請求。

    支持使用以下三種方式:

    cURL

    部署的EAS應用流服務支持使用cURL命令進行遠程調用。示例命令如下:

    curl -X POST \
         -H "Authorization: Bearer <your_token>" \
         -H "Content-Type: application/json" \
         -d '{"question":"who are u?"}' \
         "<your_endpoint>"

    其中關鍵配置說明如下:

    配置項

    描述

    -H "Authorization: Bearer <your_token>"

    設置授權頭。其中<your_token>需要替換為應用流服務Token。

    -d '{"question":"who are u?"}'

    指定了POST請求的主體數據。是一個JSON對象,包含一個鍵值對,即問題字符串。其中Key需要和應用流中的Inputs定義一致。

    "<your_endpoint>"

    表示API的完整路徑。其中<your_endpoint>需要替換為應用流服務的Endpoint。

    Python腳本

    演示如何使用requests庫向應用流服務發送一個POST請求,首先確保已安裝該庫。如果未安裝,您可以通過運行pip install requests命令來進行安裝。參考以下代碼示例來實現請求,參數為"question": "who are you?"

    import requests
    import json
    
    url = "http://<your-endpoint-here>"
    token = "<your-token-here>"
    data = {"question": "who are u?"}
    
    # 設置請求頭,包含您的token
    headers = {
        "Authorization": f"Bearer {token}",
        "Content-Type": "application/json"
    }
    
    response = requests.post(url, json=data, headers=headers)
    
    if response.status_code == 200:
        print("請求成功,返回結果:")
        print(response.text)
    else:
        print(f"請求失敗,狀態碼: {response.status_code}")
    

    其中:

    • url:請將<your-endpoint-here>配置為應用流服務的Endpoint。

    • token:配置為應用流服務的Token。

    • data:表示請求的主體數據。是一個JSON對象,包含一個鍵值對,即問題字符串。其中Key需要和應用流中的Inputs定義一致。

    SSE

    通過Server-Sent Events(SSE,服務器發送事件)技術,服務器可向瀏覽器實時推送數據,適用于實時對話等場景,例如LangStudio大模型應用流中的對話場景。使用SSE調用API時,客戶端(如瀏覽器)通常會建立一個HTTP長連接請求,服務器端則通過該連接持續地向客戶端推送數據,直到連接關閉或出現錯誤。

    應用流部署的服務支持SSE,您可以使用Python實現通過SSE調用帶有Endpoint、Token以及參數的接口。示例代碼如下:

    說明

    僅當LLM節點作為應用流的輸出節點時,才支持流式調用。

    import requests
    import json
    
    url = "http://<your-endpoint-here>"
    token = "<your-token-here>"
    data = {"question": "who are u?"}
    
    # 設置請求頭,包含您的token
    headers = {
        "Authorization": f"Bearer {token}",
        "Accept": "text/event-stream",
        "Content-Type": "application/json"
    }
    
    if __name__ == '__main__':
        with requests.post(url, json=data, headers=headers, stream=True) as r:
            for line in r.iter_lines(chunk_size=1024):
                print(line)
    

    其中:

    • url:請將<your-endpoint-here>配置為應用流服務的Endpoint。

    • token:配置為應用流服務的Token。

    • data:表示請求的主體數據。是一個JSON對象,包含一個鍵值對,即問題字符串。其中Key需要和應用流中的Inputs定義一致。

查看Trace

在調用服務后,系統將在鏈路追蹤頁面自動生成一條Trace記錄。您可以通過Trace來評估應用流效果。

  1. 模型在線服務(EAS)頁面,單擊LangStudio應用流服務名稱,進入服務詳情頁面。

  2. 切換到鏈路追蹤頁簽,查看服務下所有的Trace。image

  3. 單擊目標Trace操作列下的查看鏈路,進入Trace詳情頁面。

    image

    該頁面提供的Trace數據支持您查看應用流中各個節點的輸入和輸出信息(例如向量數據庫召回的結果),以及LLM節點的輸入和輸出信息。

對話歷史

對于“對話型”應用流,LangStudio提供了多輪對話的歷史消息存儲功能。您可以選擇使用本地存儲或外部RDS存儲來保存對話歷史。

存儲類型

  • 本地存儲:服務將利用本地磁盤,在部署應用流的EAS實例上自動創建一個名為chat_history.dbSQLite數據庫來保存對話歷史記錄,其默認存儲路徑為/langstudio/flow/。需要注意的是,在多實例部署環境中不支持此本地存儲方案。請定期檢查本地磁盤的使用狀況,同時您也可以通過下文提供的API接口進行對話歷史數據的查詢與刪除操作。當EAS實例被移除時,相關的對話歷史數據也將一并被清除。

  • 云端存儲:目前支持使用MySQL存儲,您需要在部署服務時,為對話歷史存儲配置一個MySQL Connection,具體的配置方式請查看:連接管理-阿里云RDS-MySQL。服務將在您配置的MySQL數據庫中自動創建以服務名稱為后綴的表,例如langstudio_chat_session_<服務名稱>langstudio_chat_history_<服務名稱>,用于分別存儲對話Session及對話歷史消息。

Session、User支持

每一次對應用流服務的對話請求都是無狀態的,當您希望多次請求被當作是同一個對話時,需要通過手動配置請求頭的方式完成。服務請求方式詳情請參見調用服務

請求頭名稱

數據類型

說明

備注

Chat-Session-Id

String

會話ID,每一次對服務的請求,系統會自動向本次會話分配唯一標識符,用以區分不同會話,并通過Response HeaderChat-Session-Id字段返回。

支持使用自定義會話ID,為了保證唯一性,會話ID規范為長度為32-255個字符,支持大小寫字母、數字、下劃線(_)、中劃線(-)、英文冒號(:)

Chat-User-Id

String

用戶ID,標識對話所屬用戶。系統不會自動分配,支持用戶自定義。

對話歷史API

服務也提供了對話歷史數據管理API,您可以通過API方便地查看和刪除這些數據。只需通過GET請求訪問 {Endpoint}/openapi.json 即可獲取完整的API Schema。該Schema是基于Swagger標準構建的,為了更直觀地理解和探索這些API,推薦您使用Swagger UI對其進行可視化,使操作更加簡單明了。

相關文檔

部署及運行服務會產生EAS相關的資源費用,計費詳情請參見模型在線服務(EAS)計費說明。