如何使用iii透過Workers、Functions和Cron Triggers構建文件智慧後端
本教程展示瞭如何使用iii引擎構建文件智慧工作流,包括安裝引擎、註冊模組化函式、組合分析管道,並透過直接呼叫、HTTP端點、即發即棄執行和定時cron觸發器複用相同邏輯。
在本教程中,我們使用iii構建了一個文件智慧工作流。首先,我們安裝iii引擎和Python SDK,然後以後臺程序啟動引擎並連線一個Python worker。設定完成後,我們分別註冊了用於文本歸一化、分詞、情感分析、關鍵詞提取、報告生成和心跳跟蹤的函式。接著,我們將這些函式組合成一個統一的分析管道,並透過直接呼叫、HTTP端點、即發即棄執行以及定時cron觸發器來執行相同的邏輯。在此過程中,我們還跟蹤了基本的執行時狀態,使工作流更貼近真實的後端系統,而非靜態的筆記本演示。
我們首先匯入所需的Python模組,並設定本地二進位制路徑用於III引擎。我們定義了一個小的輔助函式來執行shell命令,並在III引擎尚未安裝時進行安裝。我們還安裝了Python SDK和requests包,然後透過檢查版本號驗證了iii的安裝。
接下來,我們啟動了III引擎,並建立了一個Python worker來連線它。我們等待引擎的WebSocket和HTTP埠就緒,並確認連線成功。
我們定義了文本分析工作流中使用的核心函式,包括歸一化、分詞、情感檢測和關鍵詞提取。然後我們建立了一個分析函式,將其每個步驟都透過III引擎進行路由,而不是直接呼叫。此外,我們還新增了報告生成、HTTP處理和心跳函式,然後使用worker註冊了所有這些函式。
我們註冊了一個HTTP觸發器,使得分析管道可以透過POST請求呼叫。我們還嘗試註冊了一個cron觸發器,用於按固定計劃執行心跳函式,並在引擎構建不支援該模式時安全地跳過。然後我們連線了worker並稍作暫停,以便註冊的函式和觸發器準備就緒。
為了測試完整的III工作流,我們向註冊的分析管道傳送了示例文本文件。我們透過直接呼叫分析了三個文件,並輸出了關鍵詞和情感結果。接著,我們透過HTTP呼叫相同的邏輯,測試了即發即棄執行,並檢查了cron心跳是否正在執行。最後,我們列印了聚合狀態報告並顯示了引擎日誌尾部,以便獲得基本執行時可見性。
總之,我們擁有一個可工作的III系統,它使用模組化、註冊的函式而非單一固定指令碼來處理文本。我們分析了示例文件,透過HTTP暴露了管道,測試了非同步執行風格,跟蹤了心跳活動,並列印了聚合狀態報告。本教程保持了示例的可讀性,同時展示了iii的主要工作模式:一次定義函式,使用worker註冊,然後透過不同的觸發器和執行路徑重用它們。它還展示了隨著工作流成長為更接近生產環境時,小函式如何被清晰地連線起來。