iT邦幫忙

2026 iThome 鐵人賽

DAY 3
2
Build on Google AI

給藥袋裝一張嘴:30 天用 Android 與 Google VLM 實作高齡語音用藥助手系列 第 3 篇

Day 03|萬丈高樓平地起!用 Python venv 與 Flask 打開 AI 後端的傳送門

  • 分享至 

  • xImage
  •  

✏️【本日實作紀錄:搭建 Python 虛擬環境與第一個 Flask RESTful API】

今天進入後端程式碼實作階段。完成的項目包含:

  1. 建立 Python 獨立虛擬環境(venv) — 隔離專案套件,提供 Mac 與 Windows 跨平台開發時一致的執行沙盒。
  2. 撰寫需求清單(requirements.txt) — 定義 Flask、Google GenAI SDK、gTTS 等核心依賴套件。
  3. 實作 Flask 健康檢查 API 端點(app.py) — 建立 ping 端點,驗證 JSON 回傳機制與網路連線狀態。

一、 為什麼需要 Python 虛擬環境與 requirements.txt?

在多模態 AI 與 Web 後端開發時,常需要安裝許多第三方套件。直接安裝在系統全域容易引發套件版本衝突,且將專案從 Mac 轉移到 Windows 時會遇到環境相容性問題。

Python 內建的 venv 模組能為 PrescriptionVLM 建立獨立的運行沙盒。搭配 requirements.txt,無論 Mac 或 Windows 環境,只需執行單一指令就能還原所有依賴套件。

二、 開發步驟與終端機實作

開啟 Terminal (Mac) / PowerShell (Windows)

建議使用 Visual Studio Code 開發,其內建終端機能自動切換目錄並載入虛擬環境。
🔗 https://code.visualstudio.com/Download

❗️開啟終端機後要確保路徑在 PrescriptionVLM 資料夾❗️

步驟一:建立並啟動虛擬環境

進到VSCode裡,打開 PrescriptionVLM 資料夾,開啟底下的終端機建立虛擬環境:
📌(Ctrl+~可以啟動終端機)

Mac / Linux
python3 -m venv venv
Windows
python -m venv venv

啟動虛擬環境:

Mac / Linux
source venv/bin/activate
Windows (PowerShell)
venv\Scripts\activate

啟動後,終端機提示字元前方出現 (venv) 即代表成功進入獨立環境。

步驟二:撰寫 requirements.txt 並批量安裝

在專案根目錄下新建 requirements.txt 檔案,寫入開發所需的核心套件:

Flask==3.0.3
google-genai==1.75.0
gTTS==2.5.1
python-dotenv==1.0.1
requests==2.32.3
Pillow==10.4.0

於終端機執行批量安裝(雙平台通用):

pip install -r requirements.txt

步驟三:編寫 Flask RESTful API 核心檔案(app.py)

在專案根目錄下新建 app.py 檔案,撰寫服務啟動與 Health Check 端點邏輯:

from flask import Flask, jsonify

# 初始化 Flask 應用程式
app = Flask(__name__)

@app.route('/', methods=['GET'])
def index():
    """根目錄健康檢查端點"""
    return jsonify({
        "status": "success",
        "message": "Welcome to PrescriptionVLM Backend API!"
    }), 200

@app.route('/ping', methods=['GET'])
def ping():
    """提供前端測試網路連線的輕量化 API 端點"""
    return jsonify({
        "status": "online",
        "service": "PrescriptionVLM Engine",
        "version": "1.0.0"
    }), 200

if __name__ == '__main__':
    # 開發環境下啟動於 5000 埠口,並設定 debug=True 便於即時排錯
    app.run(host='0.0.0.0', port=5000, debug=True)

三、 API 測試與成果驗證

在啟動虛擬環境的狀態下執行(雙平台通用)(Ctrl+C 可取消執行app.py):

python app.py

開啟瀏覽器或 Postman 訪問 http://127.0.0.1:5000/ping 或 http://localhost:5000/ping 得到以下 JSON 回應,代表後端 RESTful API 伺服器已成功運行:

{
  "service": "PrescriptionVLM Engine",
  "status": "online",
  "version": "1.0.0"
}

將新增與修改的程式碼提交至 GitHub:

git add .
git commit -m "保留雙引號 改填寫自己要記錄的標記 ex.鐵人賽第三天"

❗️第一次推送至遠端要打這串❗️

git push -u origin main

之後要推送改打這串即可(本章節暫時無需執行此指令)

git push

四、 本日小結與明日預告

今天完成 Python 後端跨平台開發環境建置,並運行第一個 Flask API 端點。

明天(Day 04),整合 Google Gemini API Key,在 Python 端實作 Google VLM 多模態視覺語言模型的調用邏輯,驗證傳入藥袋照片並讓 AI 解析文字內容。

💡 補充技巧:公用電腦/實驗室環境開發

若你使用的開發設備為學校實驗室或公用電腦,為避免覆蓋全域 Git 設定,可使用 --local 參數進行專案區域設定:

僅作用於當前專案,不影響全域設定
git config --local user.name "保留雙引號 打你的GitHub名稱"
git config --local user.email "保留雙引號 打你的GitHub郵件"

若推送時遇到舊帳號憑證衝突(403 Permission Denied),亦可將 remote URL 強制指定帳號:

git remote set-url origin https://<YOUR_USERNAME>@[github.com/](https://github.com/)<YOUR_USERNAME>/<YOUR_REPO>.git

上一篇
Day 02|別再叫阿公阿嬤學下載 App!為何我們選擇 LINE Bot 打造高齡無障礙體驗?
下一篇
Day 04|金鑰不外洩、藥袋一眼看懂!Python 串接 Google Gemini VLM 實戰
系列文
給藥袋裝一張嘴:30 天用 Android 與 Google VLM 實作高齡語音用藥助手 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言