這個名為 deploy.py
的 Python 腳本充當 Web 應用的主文件。該應用結合了 Python 機器學習(ML)後端和 Vue.js 前端,利用 FastAPI 框架實現。專案的目的是創建一個互動式的 Web 介面,利用機器學習模型基於使用者提供的生理數據提供壓力分析和諮詢服務。
可以使用以下命令行選項執行腳本:
python3 deploy.py [-v|--verbose] [-q|--quiet]
DATA_DIR
:數據集目錄的路徑('../datasets/swell/final'
)。TEST_DATA_NAME
:測試數據的名稱('test'
)。API_HOST
:API 伺服器的主機名('localhost'
)。API_PORT
:API 伺服器的端口號(8080
)。IS_VERBOSE
:用於日誌的冗長標誌(預設為True
)。
腳本根據命令行參數提供的冗長級別進行設置(使用 -v
或 --verbose
進行冗長,使用 -q
或 --quiet
進行靜默)。
腳本使用 pip
根據 requirements.txt
文件的內容安裝所需的相依性。
配置環境,包括設置日誌級別和調整 Pandas 顯示選項。
定義一個問候函數以顯示 API Playground 的 URL。
腳本加載並準備機器學習的數據集。它提取壓縮的數據文件,加載數據,並執行自定義目標編碼。
腳本使用 PyCaret 庫加載預先訓練的機器學習模型和相關實驗。如果處於冗長模式,則使用 IPython 顯示模型和實驗。
腳本實現了用於壓力分析和諮詢的 FastAPI 路由。它定義了用於壓力水平預測和諮詢建議的請求和響應模式、路由和函數。
腳本與 OpenAI 的 GPT-3.5-turbo 集成,用於壓力諮詢。它根據使用者提供的壓力統計定義了一個聊天完成函數。
使用 FastAPI 配置路由,包括重定向和為 Vue.js 前端提供靜態文件服務。伺服器配置為在 localhost:8080
上運行。
腳本使用 UVicorn 運行 API 服務,使用 asyncio 處理並發並指定伺服器配置。
該腳本封裝了建立具有壓力分析和諮詢機器學習功能的 Web 應用的整個工作流程。使用者通過執行此腳本,啟動 Web 應用在 localhost:8080
上的部署和運行。