用 Postgres + pgvector 做一個會標出處的 RAG
RAG 拆開就三件事:切塊存起來、依問題找相關的塊、把塊餵給模型生成。資料量還沒到上千萬筆,你已經在用的 Postgres 加上 pgvector 就夠了,還能少維運一個外部服務。這篇用 TypeScript 從零做一個會標出處的 RAG:用 Postgres 存向量、一句 <=> 檢索、一次帶 citations 的生成,答案直接對回原文。
我是一位熱愛程式設計的開發者,專注於 Web 開發與 AI 技術應用。 喜歡透過文字分享學習心得與開發經驗,也熱衷於打造實用的產品來解決生活中的問題。
RAG 拆開就三件事:切塊存起來、依問題找相關的塊、把塊餵給模型生成。資料量還沒到上千萬筆,你已經在用的 Postgres 加上 pgvector 就夠了,還能少維運一個外部服務。這篇用 TypeScript 從零做一個會標出處的 RAG:用 Postgres 存向量、一句 <=> 檢索、一次帶 citations 的生成,答案直接對回原文。
模型換得比套件還快,但只要把所有 LLM 呼叫收進單一抽象層,換模型、換供應商對你的應用程式就只是改一個設定值。這篇用中立介面、轉接器、工廠三個步驟,把供應商細節擋在商業邏輯外面,附上可以直接抄的 Anthropic SDK 範例,也講清楚這個做法的邊界。
有些事一個 AI、一份 SOP 扛不住:掃整個專案的 bug、搬幾百個檔案、查一個要交叉比對幾十個來源的問題。Dynamic Workflows 讓 AI 照一份腳本,調度幾十上百個分身幫你做事,中間成果它自己收著,只把結論交給你。這篇用工頭調班的比喻,帶你認識它是什麼、何時該用、跟 skill 和子代理差在哪,不寫程式也能懂。
Lovable 能在 30 分鐘做出一個能跑的 app,但叫它加功能就直接推 production,沒有測試也沒有退路。這篇記錄我怎麼用 Lovable + Supabase + GitHub + Vercel 搭起 dev / staging / production 三層環境,含 GitHub Actions 自動跑 migration、Vercel per-branch 變數,以及 Lovable 包過的 TanStack Start 上 Vercel 真正跑通的部署配方與踩雷對照表。
把整個 Obsidian 知識庫交給 AI 管三個月後,我最大的體悟是:AI 好不好用,八成取決於我,不是它。這篇帶你看我的分層、frontmatter、CLAUDE.md、skill 與記憶,談一個觀念—模型只是引擎,環境才是讓它能託付職責的底盤。
一份 multi-tenant SaaS staging 環境的存取隔離稽核紀錄:2 小時時間上限、Supabase 架構、不碰正式環境。這篇拆解黑箱稽核的 5 個步驟、為什麼有些發現要降級、跟我刻意不做的事。