iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Software Development

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

Day 25【部署前】 完成專案後遇到模組大改變

  • 分享至 

  • xImage
  •  

HI!大家好,我是 Shammi!😊

這段時間,我一直在為我的 SDGs 聊天機器人專案做最後的收尾和優化,原先的計畫是要幫它加入「多輪對話」和「記憶」功能,讓它能像個真正的對話夥伴。然而,就在我準備將專案部署上線前,我遇到了開發過程中最大的挑戰:我賴以維生的核心 AI 模組已不再支援了!

這就像是跑一場馬拉松,在終點前卻發現跑道變了。這次的經驗讓我深刻體會到,在瞬息萬變的 AI 世界中,程式碼完成不代表專案就此結束,持續檢視與適應才是常態。

今天,我想分享如何面對這個突如其來的改變,並成功轉移到新的模組上。

🌐 一、 專案完成後的大挑戰:模組不支援了!

當我興高采烈地準備將專案推向部署階段時,我發現原先使用的 gemini-1.5-flash 模組,突然不再支援我所使用的開發環境與特定功能,這對我來說是一個致命性的打擊,因為整個專案的「思考」和「生成」邏輯都建立在這個模組上。

此外,用來將文本轉換成向量的 text-embedding-004 模型,也需要進行升級。這意味著我的知識庫檢索系統也必須跟著調整。

這不僅僅是換個參數這麼簡單,而是需要對整個專案的 AI 核心進行全面性的更新與適應

🌐 二、 迎戰變化:轉移至 Vertex AI

面對模組的重大變動,我必須找到一個新的、穩定且強大的替代方案。經過研究,我決定將專案的核心轉移到 Vertex AI 平台上。這不僅解決了當前的模組支援問題,也為未來的擴展奠定了更穩固的基礎。

  • 文字生成模型:gemini-1.5-flash 更換為 gemini-2.5-flash
  • 向量嵌入模型:text-embedding-004 更換為 text-embedding-005

值得注意的是,這些新的模組都有其支援期限(例如 gemini-2.5-flash 目前支援到 2026/06/17),這也再次提醒了我,在 AI 領域,定期檢視模組的支援狀態是專案維護不可或缺的一環。

關於模組的說明文件:

https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-flash?hl=zh-tw

🌐 三、 程式碼調整與實作

轉移到 Vertex AI 後,程式碼的主要變動集中在模型的初始化。現在,我需要先初始化 Vertex AI SDK,然後再透過它來載入新的模型。

以下是我的程式碼調整:

#核心模組載入
from vertexai.preview.generative_models import GenerativeModel, Part, Tool
from vertexai.language_models import TextGenerationModel
from vertexai.language_models import embedding_models

#初始化 Vertex AI 和模型
gemini_model = TextGenerationModel.from_pretrained("gemini-2.5-flash")
embedding_model = embedding_models.TextEmbeddingModel.from_pretrained("text-embedding-005")

logging.info("Vertex AI 初始化成功。")

def generate_response(query, retrieved_chunks):
    #(使用 gemini_model 生成回應)

def get_rag_answer(query):
    #(使用 embedding_model 進行向量化和檢索)

# (其餘程式碼保持不變)

這段程式碼替換了原有的模型初始化部分,並確保整個專案都能順利地使用 Vertex AI 的新模組。雖然這項改變讓專案進度稍微延遲,但也讓我學會了如何應對 AI 模組快速迭代的現實。

總結

今天的挑戰,讓我從一個單純的開發者,變成了專案的適應者和維護者。我學到:在 AI 專案中,靈活性和應變能力與程式碼的撰寫同樣重要。而在修改模組後,經過不斷的測試都會遇到機器人回覆的狀態與舊模組不一樣,這真的是此專案一大挑戰!

儘管原先計畫的「多輪對話」和「記憶」功能被暫時擱置,但能夠成功解決模組不支援的問題,並讓專案重新回到軌道上,我感到非常驕傲。接下來,我會繼續完成這些進階功能,讓我的 SDGs 機器人變得更智慧、更強大!


上一篇
Day 24【UI/UX 思考】 如何設計友善的對話體驗?
下一篇
Day 26【部署前考量】為什麼不永遠用 Colab? 現有的雲端平台整理。
系列文
建構跨平台AI對話機器人:從LINE到Telegram實踐SDGs推廣的30天專案紀實26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言