實作筆記:為我的部落格裝上 AI 大腦
|4 min read|Updated: |
AINext.jsGeminiRAG
為什麼要給部落格裝 AI?
在這個 AI 無處不在的年代,我一直在想,如果讀者來到我的部落格,不再只是被動地「閱讀」,而是能跟這些內容「對話」,感覺會更有互動性。 於是我決定動手做一個實驗:在部落格裡內建一個 AI 助理,讓它讀過我寫的所有文章,然後回答讀者的問題。
實作過程,我使用了Google剛出的Antigravity,結果他三兩下就幫我做完了,真的很厲害。
技術架構:RAG + Gemini 2.0
要讓 AI 知道我寫了什麼,最適合的技術就是 RAG (Retrieval-Augmented Generation,檢索增強生成)。
原理如下:
- 知識庫 (Knowledge Base):把我的 Markdown 文章全部讀進來。
- 向量化 (Embedding):使用 Embedding 模型把文字變成一串數字(向量)。
- 檢索 (Retrieval):當你問問題時,系統會去尋找跟你的問題「向量最接近」的文章片段。
- 生成 (Generation):把找到的片段餵給 LLM (大型語言模型),請它根據這些內容回答你。
使用的工具
- Framework: Next.js (App Router)
- LLM: Google Gemini 2.0 Flash (速度快,且目前免費額度很OK)
- Embedding: Gemini
text-embedding-004 - Vector Store: 因為文章還不多,我直接用一個 JSON 檔案存在本地端,簡單有效。
開發過程中的趣事:AI 的自我認同危機
在開發過程中,發生了一個插曲。
一開始,我沒有特別設定 AI 的角色,只是把文章丟給它。結果當我問它:「你是誰?」的時候,因為它讀到了我的第一篇文章 Hello World,裡面寫著「嗨,我是 Yuunjiee」,於是它就很自信地回答:
「我是 Yuunjiee,這是我的部落格!」
它直接變成了我的 數位分身!雖然這也滿酷的哈哈,但為了避免混淆,我後來還是調整了 Prompt,告訴它:
你是 Yuunjiee 部落格的 AI 助理。當你引用文章內容時,請稱呼作者為 'Yuunjiee',不要使用第一人稱。
現在它終於知道自己是誰了。
結語:從 Coder 到 Architect
這次的功能實作,絕大部分的程式碼其實都是由 AI 輔助生成的。
感覺在目前的 AI 時代,寫程式的方式變了。我們不再需要糾結於每一行語法怎麼寫,而是更專注於 「架構設計」 和 「定義問題」。
- 要用什麼模型?
- 工作流怎麼跑?
- 要下什麼 Prompt?
這就是我現在在這個部落格做的事——與 AI 協作,把想法變成現實,並且也在慢慢學習軟體架構設計。
歡迎點擊右下角的按鈕,跟我的 AI 助理聊聊天!