iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0
Software Development

建構跨平台AI對話機器人:從LINE到Telegram實踐SDGs推廣的30天專案紀實系列 第 30

Day 30【專案成果】30 天專案大回顧:展示所有平台成果與功能亮點

  • 分享至 

  • xImage
  •  

HI!大家好,我是 Shammi!😊

歡迎大家加入阿米SDGs聊天室,希望讀者們可以溫柔的測試阿米小朋友的回覆功能/images/emoticon/emoticon41.gif

https://ithelp.ithome.com.tw/upload/images/20250925/20151627HksLtK5f5u.png

終於,來到我的鐵人賽最終章——Day 30 了!

回顧這 30 天的技術旅程,從 Day 1 萌發用 AI 推廣 SDGs 的專案緣起,到今天我的 AI 對話機器人已經能智慧回覆、具備多輪對話能力,並成功部署到雲端平台,這不僅是一場技術馬拉松,更是一段結合程式碼與社會關懷的成長之旅。

今天,我要為大家展示這 30 天的所有成果與功能亮點,並分享我參加鐵人賽的心得與對這個專案的未來展望!GOGOGO!

🌐 一、 30 天專案大回顧:從零到智慧對話

我的旅程充滿了學習、挑戰與突破:

👉 Day 1-7:專案啟動與基礎建設

  • 我確立了使用 AI 機器人推廣 SDGs 的核心目標,這是整個專案的靈魂。
  • 初步探索了 RAG(檢索增強生成)系統的原理,奠定了機器人「智慧」的基礎。

👉 Day 8-14:核心功能開發與 Web 原型建置

  • 我學會了如何準備知識庫(PDF 文本提取、Embedding 向量化),這是機器人「記憶」的起點。
  • 初步實作了 RAG 系統,讓機器人能夠根據知識庫回答問題。

👉 Day 15-21:跨平台實作 - LINE & Telegram

  • LINE 機器人: 我挑戰了 Webhook 模式,學習了 Flask 和 ngrok 的整合,讓 LINE Bot 能夠即時接收訊息並利用 RAG 系統回覆。
  • Telegram 機器人: 經過一番摸索和挑戰,我最終選擇了在 Colab 環境下更穩定的「長輪詢 (Polling)」模式,成功讓 Telegram Bot 也具備了智慧回覆功能。

👉 Day 22-30:專案優化、進階功能與部署

  • UI/UX 思考: 我開始思考如何讓機器人回覆更友善,例如加入按鈕、圖片等,提升互動體驗。
  • SDGs 強化: 深入優化 Embedding 和提示詞策略,讓機器人對 SDGs 的理解和回覆更精準、更有深度。
  • 多輪對話與記憶: 這是機器人「人性化」的關鍵一步,透過管理對話歷史和查詢重寫,讓機器人能理解上下文,進行更流暢的對話。
  • 部署實作: 將機器人從 Colab 搬家到 Google Cloud Run 雲端平台,解決了 Colab 的運行限制,確保服務的 24/7 穩定運行。
  • 日誌與監控: 學習了機器人上線後的維護與管理,確保服務穩定並能及時發現問題。
  • 最終整合願景: 描繪了未來讓 Web/LINE/Telegram 共用同一個 AI 後端的終極架構藍圖。

A型人的我,如果沒有先規劃好,真的很難有個好的開始,也謝謝讀者們和iThome的陪伴,讓我可以逐步優化與完成這項專案。

🌐 二、 專案成果展示與功能亮點

我的 SDGs 智慧聊天機器人,現在能夠在兩個主要平台提供服務:

1️⃣ LINE 機器人 (Webhook 模式)

功能亮點:

  • 即時訊息接收: 透過 Flask Web 伺服器和 LINE Webhook 機制,實現了用戶訊息的即時接收。
  • RAG 智慧回覆: 整合了 RAG 系統,能夠根據 SDGs 知識庫提供基於事實的精準回答。
  • 彈性部署: 程式碼設計可以部署到 Google Cloud Run 這類雲端服務,穩定運行。
  • 演示: 用戶在 LINE 中發送 SDGs 相關問題,機器人快速回覆相關知識。

2️⃣ Telegram 機器人 (長輪詢模式)

功能亮點:

  • 穩定運行: 在 Colab 環境下,選擇長輪詢模式有效避免了 Webhook 常見的複雜問題,確保了開發和測試的流暢性。
  • RAG 智慧回覆: 同樣整合了 RAG 系統,提供準確的 SDGs 資訊。
  • 多輪對話與上下文理解: 這是最重要的升級!機器人能夠記憶前幾輪對話,理解上下文,甚至進行查詢重寫,使對話更加自然流暢。
  • 可部署性: 程式碼也已考量部署到 Google Cloud Run 等伺服器,作為背景進程持續運行。

🌐 三、 鐵人賽心得分享與未來展望

這 30 天,對我來說是一場充滿挑戰但也收穫滿滿的旅程。

最大的收穫:克服 Colab 部署的『地雷』

從一開始嘗試在 Colab 上使用 Flask + ngrok 來處理 Webhook 的屢次碰壁,到後來理解 Colab 環境的特性,並策略性地選擇 Telegram 的長輪詢模式,甚至成功將機器人部署到 Google Cloud Run,這讓我對「在特定環境中選擇最合適的技術方案」有了深刻的理解。

那些 Address already in useRuntimeError: This event loop is already running 錯誤,曾經是我的夢魘,現在卻成了寶貴的經驗。我學會了在 Colab 中,「重新啟動並執行所有項目」是萬靈丹!

RAG 系統與 LLM 的魅力

能夠將自己的知識庫注入到大型語言模型中,讓機器人「有憑有據」地回答問題,這種能力真的非常強大。提示詞工程、Embedding 優化和多輪對話的實作,讓我看到了 AI 機器人更智慧、更人性化的潛力。

對永續發展的承諾

我的專案初衷是利用 AI 推廣 SDGs,而這 30 天的努力證明了,即使是個人,也能透過技術為社會議題貢獻一份力量。看到機器人能夠清晰、有條理地解釋 SDGs,我就覺得一切都值了。

專案的未來展望與下一步規劃

我的 SDGs 智慧聊天機器人不會止步於此!這 30 天的鐵人賽只是個開始。

未來,我計劃:

1️⃣ 實踐「最終整合」藍圖:這是我接下來最重要的目標!我將努力將 AI 後端核心模組化,並實現 Flask 應用統一承載 LINE Bot 和 Web 聊天介面,同時讓 Telegram Bot 作為獨立背景進程運行。這將實現真正的資源高效和統一管理。

2️⃣ 開發 Web 聊天介面: 我會開發一個簡潔的網頁前端,讓使用者可以直接在瀏覽器上與我的 SDGs 機器人互動,這將大幅擴展服務範圍,無需依賴特定通訊軟體。

3️⃣ 持續優化 RAG 系統

  • 更豐富的知識庫: 引入更多 SDGs 相關的權威資料,甚至包含實踐案例和最新進展。
  • 更精準的檢索: 探索更進階的檢索算法或更高性能的 Embedding 模型。

4️⃣ 拓展功能與互動

  • 個性化推薦: 根據用戶的對話歷史和興趣,推薦特定的 SDGs 目標、相關活動或學習資源。
  • 多媒體回覆: 除了文本,嘗試加入更多圖片、圖表,甚至短影片來解釋 SDGs 概念,提升視覺體驗。
  • 小測驗/挑戰: 增加互動遊戲或挑戰,讓用戶在輕鬆有趣的氛圍中學習 SDGs。
  • 多語言支援: 讓機器人能夠用不同的語言推廣 SDGs,觸及更廣泛的受眾。

5️⃣ 社群協作:我希望這個專案能吸引更多志同道合的夥伴,一起參與開發、維護和推廣,共同為 SDGs 貢獻力量。

感恩與展望

感謝這 30 天鐵人賽給我的寶貴機會,讓我能夠系統性地學習、實踐並分享。這趟旅程證明了 AI 技術是每個人都能掌握的工具,即使是個人,也能透過 Side Project 為永續議題貢獻心力。我的 SDGs 智慧聊天機器人,才剛剛開始它的使命!

讓我們一起,用科技為世界創造正面影響,GOGOGO!


上一篇
Day 29【最終整合】 邁向無縫 AI 體驗的終極架構願景
系列文
建構跨平台AI對話機器人:從LINE到Telegram實踐SDGs推廣的30天專案紀實30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言