🥘 AI 驅動的綠色廚房:從廚餘辨識到智慧備料的技術實作
前言:當 AI 走進飯店廚房
在餐飲與飯店產業中,「食材成本控制」始終是經營核心。傳統的廚餘管理依賴人工記錄或單純的重量感測,難以精確得知**「什麼被浪費了?」**。
我們開發了一套 AI 智慧廚餘管理系統,結合電腦視覺(CV)與自動化分析,讓廚師只需拍照上傳,系統便能自動辨識浪費食材種類、估計重量,並給出具體的「明日備料建議」。這不僅是數位轉型,更是邁向 ESG 永續經營的關鍵一步。
您可以透過以下 GitHub 連結檢閱本專案的原始碼:https://github.com/BpsEason/hotel-waste-ai-mvp.git
系統核心架構
為了確保系統的模組化與可擴充性,我們採用了 Microservices(微服務) 的設計思維,並透過 Docker Compose 達成一鍵部署。
🏗️ 技術棧 (Tech Stack)
Frontend: Vue 3 (Composition API) + Vite + Tailwind CSS
Backend API: Laravel 11 (提供穩健的 RESTful 服務)
AI Inference: FastAPI (非同步高效能框架,目前為 Mock Server)
Database: MariaDB
Infrastructure: Nginx (Reverse Proxy) + Docker
🔄 系統流圖
用戶端:廚師拍攝廚餘照片並上傳至 Vue 3 前端。
API 層:Laravel 接收圖片,負責權限校驗、檔案存儲與邏輯調度。
AI 層:Laravel 透過內部網路呼叫 FastAPI。AI 模型分析圖片,回傳食材類別(如:雞肉、綠花椰菜)與預估重量。
數據層:結果存入 MariaDB,並由前端即時渲染統計儀表板。
重點技術實作剖析
1. 異質服務通訊:Laravel 與 FastAPI 的協作
在開發初期,我們選擇將 AI 邏輯獨立在 FastAPI 中。這樣做的好處是:AI 模型通常需要大量的記憶體與運算資源,獨立部署可避免影響 Web API 的穩定性。
// Laravel: WasteController.php
public function upload(Request $request)
{
$uploaded = $request->file('image');
// 呼叫 AI 服務進行影像辨識
$response = Http::attach(
'file',
fopen($uploaded->getRealPath(), 'r'),
$uploaded->getClientOriginalName()
)->post('http://ml-service:9000/vision/analyze-waste');
if ($response->successful()) {
$analysis = $response->json();
// 儲存至資料庫並關聯圖片路徑
return WasteLog::create([...]);
}
}
2. AI 推論模擬 (Mocking for Agility)
為了加速前端開發,我們在 FastAPI 中實作了 Mock 推論。這讓前端與後端開發者在真實 CV 模型訓練完成前,就能完成所有介面與邏輯的串接。
# FastAPI: main.py
@app.post("/vision/analyze-waste")
async def analyze(file: UploadFile = File(...)):
# 模擬深度學習模型的運算延遲
await asyncio.sleep(1.2)
return {
"items": [
{"food_category": "雞肉", "estimated_weight": 0.8, "confidence": 0.95}
],
"total_estimated_weight": 0.8,
"suggestion": "根據浪費量,建議明日雞肉備料減少 15%"
}
3. 即時數據可視化
利用 Tailwind CSS 的靈活性,我們構建了一個資料儀表板。除了單次的辨識結果,系統會自動匯總**「本週浪費趨勢」**,幫助管理層一眼看出採購策略是否需要調整。
為什麼選擇 Docker Compose?
在飯店這種現場環境(On-premise),部署的簡易度至關重要。透過 Docker,我們解決了「在我的電腦上會動」的常見問題。
services:
nginx:
image: nginx:stable-alpine
ports: ["80:80"]
api:
build: ./api
frontend:
build: ./frontend
ml:
build: ./ai-service
只需要一行指令 docker compose up -d,即可在任何支持 Docker 的伺服器上啟動完整環境,包含資料庫遷移與靜態檔案託管。
商業價值與影響
這套系統不僅是技術嘗試,更具備實質商業潛力:
成本優化:預計可降低 10-20% 的無效食材採購支出。
ESG 實踐:提供具體的廚餘減量數據,滿足企業永續報告書(CSR)需求。
營運自動化:取代傳統紙本記錄,減少廚房員工行政負擔。
未來展望:邁向真正的智慧化
目前的系統已打好穩固的地基,下一步我們計畫:
模型迭代:將 FastAPI 替換為正式訓練過的 YOLOv8 模型,提升辨識精度。
行動化:開發專屬 App,支援廚師手持裝置即拍即傳。
外部串接:整合飯店的 POS 系統,比對「售出量」與「廚餘量」,找出損耗的真正原因。
結語
在這個專案中,我們展示了如何整合現代 Web 技術與 AI 服務,解決傳統產業的痛點。技術不應只是冷冰冰的程式碼,當它能減少一份食材浪費、提升一分管理效率時,技術才真正產生了價值。
沒有留言:
張貼留言