我的Side Project 每拍呷 | LINE BOT篇

更新 發佈閱讀 5 分鐘

今日原訂進度4/14:

創建一個 Messaging API channel。在 LINE Developers 後台設定 BOT 的基本資訊,並取得 Channel Access Token 和 Channel Secret。設定 Webhook URL (使用 ngrok 暫時將本地開發環境映射到公開網路)。撰寫基於 Python Flask 或 FastAPI 的簡單後端程式,使其能接收 LINE 傳來的文字訊息,並回覆「哈囉!」等基本文字。

-----

先講結論,我覺得Gemini的Gem實在是太好用了,今天的進度大超前(已經把原本接下來三天的進度做完)✨

雖然今天進度超前,不過花了總時數五個小時,其實LINE BOT很快就設定完成,最大卡關是在無法傳送音檔給用戶...

今天最終完成的進度為:

1. 讓用戶手動輸入生理性別、身高、體重、吃的食品份量(1代表吃了整包、0.5為半包、0.25為1/4包,這個部分不太直覺,會再優化!),並上傳營養標示圖片。

LINE BOT能根據用戶提供的內容正確計算出數據、用生成式AI製作個人化建議與鼓勵,最終回傳這樣的分析內容:

raw-image
raw-image

2. 成功使用Azure TTS服務生成語音檔,但無法傳送給用戶,只能在我的本地端下載

3. 在程式碼中,加入呼叫生成式 AI (Gemini) 的邏輯,以便產生個人化建議與鼓勵給用戶。

這個是跟Gem討論過後的新發現~而且取得Gemini API Key步驟很簡單:
* 前往 Google AI Studio。
* 登入你的 Google 帳號。
* 點擊左側導覽列的「Get API key」或「Create API key in new project」來生成Gemini API 金鑰。
(有免費額度就是香!)

-----

過程

先請Gemini生成一張LINE BOT大頭貼,我覺得蠻符合也蠻可愛的🤣

raw-image

串Messaging API、設定ngrok、VS CODE執行都還蠻順利的,只是因為程式碼是從昨天的GRADIO版本去調整的,所以一直出現BUG,譬如:沒設定到1份蛋白質相當於1顆雞蛋、漏掉了讓用戶輸入吃的食品份量、計算時誤用了模擬數據而非用戶上傳的營養標示圖片...等等。

經過了數十次的修修改改,最後終於數字計算都正確了!
程式碼從之前的209行來到了879行...但交給Gemini Debug速度很快,大幅提升效率。

然後今天的最大改變是捨棄了長條圖!
長條圖不知道為什麼看起來就莫名令人煩躁,於是我提出用emoji代替的方案,把最多的成份往前排,例如這包洋芋片的鈉最多,那麼鈉就排第一個,其他就隨機往後排。

判斷標準:

  • 蛋白質:1 顆雞蛋 (🥚) = 6克 蛋白質
  • 脂肪:1茶匙的油(🧈) = 5克 脂肪
  • 糖:1顆方糖(🍬) = 5克 糖
  • 鈉:1 克鹽 (🧂) = 400mg 鈉
  • 碳水化合物:1 碗160g的飯 (🍚) = 60克 碳水化合物

我希望最後的輸出是有相對應數量的emoji:

您好!營養組成如下圖:
🧂🧂🧂🍚🍚🥚🧈🍬
碳水化合物:120克,相當於兩碗白飯🍚🍚
蛋白質:6克,相當於一顆蛋🥚
脂肪:5克,相當於一茶匙油🧈
鈉:1200毫克,相當於3公克鹽巴🧂🧂🧂
糖:5克,相當於一顆方糖🍬

BUT最後生成的結果多了很多星號,明天再來修正!

至於語音檔只能存在我的本地端、無法傳送給用戶的問題,也是明天再來修正!
目前試了七次皆失敗,Gemini覺得是ngrok的問題,每次都傳這個建議給我:

請更新 NGROK_PUBLIC_URL:
重新啟動 ngrok,並從其終端機視窗中複製最新的 HTTPS 公開 URL (例如:https://xxxx-xxxx-xxxx-xxxx.ngrok-free.app)。
在 app.py 檔案中,找到這行:
Python YOUR_NGROK_URL = '請在這裡貼上你的 ngrok HTTPS 公開 URL'
將 '請在這裡貼上你的 ngrok HTTPS 公開 URL' 替換成你剛剛複製的 實際 ngrok HTTPS URL。
注意:每次 ngrok 重啟,這個 URL 都會改變,因此你需要重複此步驟。

但但但!我已經重新換過ngrok的URL了,還是不行,所以我覺得問題應該是躲在其他地方,今日五小時的折騰已累🤣

明天進度就專心處理讓語音檔成功傳給用戶吧!必要的話好像就要用到雲端儲存服務了...這個部份還沒接觸過,要再來研究。

加油!!

留言
avatar-img
留言分享你的想法!
avatar-img
Galing的腦內劇場
1會員
15內容數
學習AI的新手,在這邊分享學習筆記跟知識,希望文組轉戰AI也可以闖出一片天💪 大學學的是戲劇,擁有服務業12年經驗,擔任銷售顧問;2025.07開始學習python與AI商業應用,目標是讓職涯變得更自由有彈性,做出好玩有趣的東西! 💬喜歡打電動、看動畫、K-pop佛系追星,偶爾可能會出現這些主題的文章。
Galing的腦內劇場的其他內容
2025/08/22
今日進度3/14: 設定Azure AI Services(或 Azure Cognitive Services for Vision) 的OCR服務。 撰寫一個簡單的Python程式碼,使用一個營養標示圖片進行OCR服務呼叫,並印出返回的JSON結構,確認服務能正常運作。
Thumbnail
2025/08/22
今日進度3/14: 設定Azure AI Services(或 Azure Cognitive Services for Vision) 的OCR服務。 撰寫一個簡單的Python程式碼,使用一個營養標示圖片進行OCR服務呼叫,並印出返回的JSON結構,確認服務能正常運作。
Thumbnail
2025/08/21
今日進度 2/14 : 今天主要針對成分表裡的「食品添加物」做分類,初步分成:香料、防腐劑、乳化劑、色素、其他。 使用者輸入文字內容後,系統就能輸出圓餅圖或其他視覺化的分析結果。 但是!實作之後改動了超多東西的,不停發現盲點... ...
Thumbnail
2025/08/21
今日進度 2/14 : 今天主要針對成分表裡的「食品添加物」做分類,初步分成:香料、防腐劑、乳化劑、色素、其他。 使用者輸入文字內容後,系統就能輸出圓餅圖或其他視覺化的分析結果。 但是!實作之後改動了超多東西的,不停發現盲點... ...
Thumbnail
2025/08/20
繼續做我的AI Side Project:「每拍呷-營養標示一拍就懂」🫡 ✔️今日進度1/14:確認營養標示算法、蒐集資料、統整國民健康署DIRS、把熱量&鈉&糖&脂肪換算成白飯&醬油&方糖&沙拉油、暫時先用GRADIO介面做初步的測試。
Thumbnail
2025/08/20
繼續做我的AI Side Project:「每拍呷-營養標示一拍就懂」🫡 ✔️今日進度1/14:確認營養標示算法、蒐集資料、統整國民健康署DIRS、把熱量&鈉&糖&脂肪換算成白飯&醬油&方糖&沙拉油、暫時先用GRADIO介面做初步的測試。
Thumbnail
看更多
你可能也想看
Thumbnail
LINE LAP (LINE Ads Platform、LINE成效型廣告)是品牌常用的廣告形式,在受眾設定上,LINE LAP可進行興趣、行為及購買意願等設定,在受眾策略上也可以做交互數據應用;此外,還可以運用品牌自身的零方數據。
Thumbnail
LINE LAP (LINE Ads Platform、LINE成效型廣告)是品牌常用的廣告形式,在受眾設定上,LINE LAP可進行興趣、行為及購買意願等設定,在受眾策略上也可以做交互數據應用;此外,還可以運用品牌自身的零方數據。
Thumbnail
👨‍💻 簡介 今天這篇主要是帶大家快速建立屬於自己的 Telegram bot,申請 bot 的部分我會附上網址,請準備好之後再來開始。 🛠️ 使用工具 Python 3.9.6 TG Bot 📝 功能需求 輸入指令讓 TG Bot 回傳訊息 接受傳入參數並進行簡單回傳 設定
Thumbnail
👨‍💻 簡介 今天這篇主要是帶大家快速建立屬於自己的 Telegram bot,申請 bot 的部分我會附上網址,請準備好之後再來開始。 🛠️ 使用工具 Python 3.9.6 TG Bot 📝 功能需求 輸入指令讓 TG Bot 回傳訊息 接受傳入參數並進行簡單回傳 設定
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
Thumbnail
欲傳送之內容,由使用者輸入於文字檔內,執行本執行檔後,指定之LINE群組全員,將會收到推播訊息
Thumbnail
欲傳送之內容,由使用者輸入於文字檔內,執行本執行檔後,指定之LINE群組全員,將會收到推播訊息
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News