iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
Software Development

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

Day 14【第一階段總結】 Web 機器人原型成果展示與心得分享

  • 分享至 

  • xImage
  •  

HI!大家好,我是 Shammi 😊

在經過前 13 天的努力,我已經從一個單純的技術構想,將它實現成一個能夠運作、能夠與人對話的 Web 應用程式。

今天回顧我在第一階段(Day 1-13)所完成的部份,並對機器人原型進行一次全面的檢視。

🌐 一、成果展示:RAG 機器人原型的核心功能

在 Web 介面上,我的「阿米」機器人已經具備了以下核心功能:

👉 知識檢索與生成:阿米能夠成功讀取 PDF 檔案,並針對使用者的問題,從中找到最相關的資訊進行回覆。

👉 具備記憶的對話能力:透過 st.session_state,阿米不再只是一個單次問答的機器,它能夠記住先前的對話,讓使用者體驗更流暢。

👉 溫暖的角色個性:透過精緻的 Prompt Engineering,阿米能夠用純真、親切的口吻與使用者互動,而不僅僅是冷冰冰的資訊傳達。

👉 原型應用部署:我成功將整個專案部署到 Streamlit Web 介面,在運作的過程中,可以透過公開的網址,向任何人展示成果。

🌐 二、心得分享:如何面對與解決挑戰?

雖然此專案的開發並非一帆風順,我在實際開發的過程中也遇到不少問題與挑戰。回顧這些挑戰並且解決,正是我的寶貴經驗:

1️⃣ 檢索失敗的痛點

👉 挑戰:機器人有時會回答「找不到資料」,即使相關內容就在 PDF 中。

👉 解決方案:我在 Day 11 的除錯中發現,這可能是因為 PDF 內容的稀疏性。我調整了文字切割的邏輯,並在 Prompt 中加入了「推斷意圖」的指令,成功提升了檢索的準確性。

2️⃣ Streamlit 部署的困境

👉 挑戰:在 Colab 中運行 Streamlit 網頁,遇到了 localtunnel 密碼問題,以及 google.colab 套件無法在 app.py 中運作的錯誤。

👉 解決方案:我最終使用更穩定的 cloudflared 替代方案,並將 API 金鑰的處理方式從直接讀取,改為通過環境變數傳遞,成功地解決了這些技術難題。

3️⃣ 單次問答到多輪對話的升級

👉 挑戰:如何讓機器人記住上下文,實現更自然的對話?

👉 解決方案:我在 Day 13 引入了 st.session_statest.chat_message,將對話歷史儲存並傳遞給 LLM,讓我們的機器人從一個「問答機」變成了「對話機器人」。

總結:邁向更廣闊的世界

第一階段扎扎實實的完成此專案的核心基礎。接著此次挑戰的目標不再只是建構一個原型,而是將它推向更廣大的受眾。接下來的篇章中,我將進入第二階段:部署實戰。將這個已經成熟的 Web 機器人,帶到我們最熟悉的通訊軟體上:LINE 和 Telegram

從 Day 15 開始,我會一步步串接這些平台的 API,讓 AI 對話機器人能夠真正地服務每一個人。


上一篇
Day 13【功能挑戰】 如何優化回覆品質?
下一篇
Day 15【LINE 整合】 建立你的 LINE Bot
系列文
建構跨平台AI對話機器人:從LINE到Telegram實踐SDGs推廣的30天專案紀實16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言