本專題分為5個phase,如下表:
Phase 目標 主要技術 本機資源預算(典型)
Phase 1 資料模型+知識庫查詢(食物/成分/功效/證據/交互) Spring Boot 3.3.3(Web/JDBC/Validation)、PostgreSQL 或 MySQL、Python(ETL 可選) RAM 1–2GB、Disk < 2GB
Phase 2 推薦系統(烏髮 E001/抗皺 E002) 規則評分器(Service 內)、ONNX Runtime(小型 reranker 可選) RAM 2–3GB、CPU 推論 < 50ms
Phase 3 藥物交互(DrugBank)警示 同上 + interactions 表/API 同 Phase 2
Phase 4 搜尋/QA 強化(可選) 先用全文檢索(Postgres/LIKE 或 SQLite FTS);向量檢索則用 Qdrant/SQLite-Vec/DuckDB(小量) RAM 2–3GB
Phase 5 小型學習/排序優化(可選) Python 訓練輕量模型 → 匯出 ONNX → Java 推論 模型 <100MB、CPU 推論
你需要的電腦規格:
CPU配備:Macbook Mx
記憶體:16GB(考慮你可能還要同時做其他事情)
硬體:10GB
今天的目標是環境建置,
提供1個執行檔:
#!/usr/bin/env bash
set -euo pipefail
echo "=== ML 實作 - 營養抗老專案:Day 1 開發環境安裝(macOS Apple Silicon) ==="
# 1. 安裝 Homebrew
if ! command -v brew >/dev/null 2>&1; then
echo "[1/12] 安裝 Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
else
echo "[1/12] 已安裝 Homebrew"
fi
echo "[2/12] 更新 Homebrew"
brew update
# 2. 安裝 JDK21 + Maven
echo "[3/12] 安裝 JDK 21(Temurin)與 Maven"
brew install --cask temurin@21 || true
brew install maven || true
echo "[4/12] 設定 JAVA_HOME"
JAVA_HOME_21=$(/usr/libexec/java_home -v 21 2>/dev/null || true)
if [[ -n "${JAVA_HOME_21}" ]]; then
echo "export JAVA_HOME=\"${JAVA_HOME_21}\"" >> ~/.zprofile
export JAVA_HOME="${JAVA_HOME_21}"
fi
# 3. 安裝 MySQL 8.4.6
echo "[5/12] 安裝 MySQL 8.4.6"
brew install mysql@8.4 || true
brew services start mysql@8.4 || true
echo "[6/12] 建立資料庫 mymall 與帳號 mall/1234"
sleep 3
/opt/homebrew/opt/mysql@8.4/bin/mysql -uroot <<'SQL'
CREATE DATABASE IF NOT EXISTS mymall DEFAULT CHARACTER SET utf8mb4;
CREATE USER IF NOT EXISTS 'mall'@'localhost' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON mymall.* TO 'mall'@'localhost';
FLUSH PRIVILEGES;
SQL
# 4. 安裝 Python 3.12
echo "[7/12] 安裝 Python 3.12 與 pipx"
brew install python@3.12 pipx || true
pipx ensurepath || true
# 5. VS Code
echo "[8/12] 安裝 VS Code"
brew install --cask visual-studio-code || true
# 6. Docker / Postman(可選)
#echo "[9/12] 提示:可安裝 Docker Desktop → brew install --cask docker"
echo "[10/12] 提示:可安裝 Postman → brew install --cask postman"
brew install --cask postman
# 7. 建立工作目錄
echo "[11/12] 建立專案目錄 ~/mywork"
mkdir -p ~/mywork
echo "[12/12] 環境完成!"
echo "=== 驗證版本 ==="
java -version || true
mvn -version || true
/opt/homebrew/opt/mysql@8.4/bin/mysql --version || true
python3.12 --version || true
echo "=== 完成,請重新開啟 Terminal ==="
這個專題會以java的myspringbootmall專案為主,主要是以「抗皺、烏髮」營養推薦,並搭配可以查詢Drug Bank中會影響「抗皺、烏髮」的藥物為輔,最後用輕量型的機器學習模型跑出onnx設定檔給myspringbootmall專案查詢用。