本筆記由 Gemini 協助撰寫,人工微調。
這堂課使用不同的資料來源客製化 GPT,和 RAG 的關係不大,內容我也不完全認同。
簡單的說:沒空的話,這堂課可以跳過不用看。
▌重點 1:使用客製化 GPTs 作為 RAG 的簡易入門
本章節主要介紹如何使用 ChatGPT 內建的「客製化 GPTs」功能,來達成類似 RAG(檢索增強生成)的效果。
這是一種高度自動化的方式,OpenAI 會在後台自動處理向量資料庫、嵌入(Embeddings)和資料切塊(Chunking)等複雜的技術細節。
這需要付費訂閱(ChatGPT Plus),作為 RAG 應用的入門。
▌重點 2:資料準備是關鍵(PDF, HTML, CSV)
無論使用何種工具,資料準備都是影響 RAG(或客製化 GPT)成敗的核心步驟。
核心原則
-
不要儲存不必要的資料:只插入相關資訊,避免無關或冗餘的內容(例如論文的參考文獻、網頁的導覽列)。
-
使用正確的格式:Markdown 是 LLM 最容易閱讀和理解的格式之一。Q&A(問答)配對也是一種高效的格式。
將不同來源轉換為 Markdown
-
PDF 檔案
-
問題:PDF 中的表格、圖片和複雜排版會導致 LLM 無法正確讀取。
-
解法:使用線上工具(搜尋 “PDF to markdown”)或專門的解析工具(如 LlamaParse / LlamaCloud)將 PDF 轉換為純淨的 Markdown 文字,並手動移除不需要的部分(例如講師在課程中的範例:論文中的參考文獻)。
-
-
HTML 網頁
-
問題:網頁包含大量無關的 HTML 標籤、廣告、導覽列和隱藏程式碼。
-
解法:使用 Firecrawl 這類工具。
-
Scrape(爬取):針對單一 URL,提取其主要內容並轉換為 Markdown。
-
Crawl(抓取):抓取網站下的所有子連結(本章未深入)。
-
-
先使用 “Scrape” 功能取得靜態網頁的 Markdown 內容後再上傳。
-
-
CSV 檔案
-
問題:LLM 有時無法完美讀取 CSV 的行列結構。
-
解法:同樣使用線上轉換器(搜尋 “CSV to markdown”)將其轉換為 Markdown 表格格式。這能確保 LLM 準確理解每一筆資料的對應關係。
-
即使來源資料有誤(例如「空氣炸鍋」被歸類為「書」),LLM 也會忠於你提供的 Markdown 資料。
-
-
YouTube 影片
-
問題:影片是多媒體格式。
-
解法:
-
打開 YouTube 影片的「顯示逐字稿」功能。
-
複製逐字稿。
-
將逐字稿貼到 LLM(如 GPT-4o mini)中,要求它「翻譯為目標語言、移除所有時間戳、只保留純文字」。
-
將清理乾淨的文字上傳。
-
-
▌重點 3:撰寫精確的系統提示 (System Prompt)
系統提示(Instructions)是客製化 GPT 的大腦,用來指導模型如何行動。
-
保持簡短且精確:太長的提示會拖慢反應速度並增加(未來 API 的)成本。
-
使用結構化格式:建議使用 Markdown 格式,並包含以下元素:
-
Role(角色):你希望 AI 扮演誰(例如:你是專精 LLM 提示的助手)。
-
Context(上下文):提供背景資訊(例如:你將搜尋向量資料庫以回答問題)。
-
Task(任務):具體指示(例如:精確匹配我的寫作風格)。
-
Constraints(約束):設定限制(例如:如果問題與 LLM 無關,回答「我無法對此提供幫助」)。
-
▌重點 4:客製化 GPT 的應用場景
-
訓練特定知識
- 上傳 PDF、網頁、CSV 或逐字稿,讓 GPT 成為特定主題(如 LangGraph、AI Agents 工具)的專家。
-
模仿特定寫作風格
-
上傳一篇(或多篇)能代表你風格的文章(例如語氣強硬、幽默或非常友善)。
-
在系統提示中明確要求 GPT「精確匹配向量資料庫中的寫作風格」。
-
這樣,無論你要求 AI 寫什麼主題(健身、創業、甚至馴龍),它都會使用你指定的風格。
-
▌重點 5:GPT 商店的潛在價值
-
分享與協作:你可以將 GPT 設為「僅自己可見」、「擁有連結者可見」(適合團隊或客戶)或「公開發布到 GPT 商店」。
-
免費的流量來源:
-
如果你的 GPT 對他人有價值(例如一個好的寫作工具或影片摘要工具),它可能會在商店中獲得大量使用(例如 300 萬次對話)。
-
使用者可以看到創作者的資訊(網站、LinkedIn、X),這能為你的業務或個人品牌帶來潛在客戶。
-
你可以在系統提示中「巧妙地」插入你的連結(例如:當使用者詢問更多資訊時,提供你的 YouTube 頻道連結),從而創造流量。
-
▌補充 A:更有效的運用向量資料庫
一、英文原文要點
Using a Vector Database Efficiently
Do not store unnecessary data
-
Insert only relevant information
-
Avoid unimportant or redundant data
Use Q&A and Markdown as the optimal format
-
Question-answer pairs make searching easier
-
Store directly retrievable, compact information
-
Convert “bad data” into Markdown
Summarize long texts
-
Extract essential points (with LlamaParse or other LLMs)
-
Use shorter chunks for a higher hit rate
Use the right chunk size & overlap, and employ a text splitter
-
Balance depth of detail with efficiency
-
Too small chunks → missing context
-
Too large chunks → poorer retrieval quality
-
Use special chunking strategies like contextual retrieval
Use the appropriate RAG strategy
-
Light RAG
-
Graph RAG
-
Standard RAG
Test the bot with queries
-
Check whether it delivers the desired answers
-
If necessary, adjust the chunking or overall structure
二、繁中翻譯
有效率地使用向量資料庫
不要儲存不必要的資料
-
只插入相關資訊
-
避免不重要或冗餘的資料
使用問答(Q&A)和 Markdown 作為最佳格式
-
問答配對使搜尋更容易
-
儲存可直接檢索的緊湊資訊
-
將「不良資料」轉換為 Markdown
總結長文本
-
提取要點(使用 LlamaParse 或其他大型語言模型)
-
使用較短的區塊以獲得更高的命中率
使用正確的區塊大小和重疊,並採用文本分割器
-
平衡細節深度與效率
-
區塊太小 → 缺少上下文
-
區塊太大 → 檢索品質較差
-
使用特殊的區塊化策略,如上下文檢索
使用合適的 RAG 策略
-
Light RAG
-
Graph RAG
-
Standard RAG
用查詢測試機器人
-
檢查它是否提供了想要的答案
-
如有必要,調整區塊化或整體架構
▌補充 B:提示詞建議架構
》Prompt Engineering Framework
-
Role: Specifies which role or capabilities the AI should assume.
-
Task: Describes the concrete action or question posed to the AI.
-
Context: Provides the AI with additional information to better perform the task.
-
Goal: Defines what the outcome of the task should achieve.
-
Constraint: Specifies any limitations or specific requirements for the task.
-
Style: Sets the tone or mood of the desired output.
-
Output Format: Determines how the result should be presented.
》提示工程框架
-
Role (角色): 指定 AI 應扮演的角色或具備的能力。
-
Task (任務): 描述向 AI 提出的具體行動或問題。
-
Context (上下文): 提供 AI 額外資訊,以便更好地執行任務。
-
Goal (目標): 定義任務應達成的結果。
-
Constraint (限制): 說明任務的任何限制或特定要求。
-
Style (風格): 設定期望輸出的語氣或情調。
-
Output Format (輸出格式): 決定結果應如何呈現。
▌補充 C:沒有 my ChatGPT 怎麼辦?
》Gemini Gems
Google 的對應功能稱為 “Gems”。
方法:建立一個 “Gem”,並為它提供具體的指示,透過自然語言告訴 Gem 如何行動、扮演什麼角色、遵循哪些規則等。
差異: “My GPTs” 強調「上傳檔案」作為知識庫。Gemini 的 “Gems” 則更強調與 Google 生態系(如 Google 搜尋、Gmail、Google Docs)的即時整合,利用這些工具來獲取知識。
》Claude
方法:可以上傳大量且永久的檔案(文件寫每個檔案30MB,檔案數無上限。但我實測是有上限的)作為這個 Project 的「知識庫」。下次點進這個 Project,開新的 Chat 時,所有的知識庫檔案和 AI 設定都還在,可以直接開始工作。
》功能對照表
客製化功能對照表 ( 2025年11月6日資訊)
| 功能特性 | OpenAI (ChatGPT) | Google (Gemini) | Anthropic (Claude) |
|---|---|---|---|
| 功能名稱 | My GPTs (GPTs) | Gems | Projects (專案) |
| 客製化個性 (設定指示/SOP) |
(透過 Instructions 欄位) |
(透過 Instructions 欄位) |
(透過 Custom Instructions) |
| 客製化知識 (綁定檔案庫) |
|||
| 檔案限制: * 最多 20 個 檔案 * 單檔最大 512 MB * (總容量上限 10 GB) |
檔案限制 (註1): * 最多 10 個 檔案 * 單檔最大 100 MB * (主要針對 Workspace 企業版) |
檔案限制: * (官方未明訂數量上限) * 支援大型文件上傳 * 強項: 內建 RAG (檢索增強生成),會自動處理超大知識庫 |
|
| 額外能力 (AI可用的工具) |
* DALL-E 3 (繪圖) * Code Interpreter (程式碼) * Browsing (上網) * Actions (串接外部 API) |
* Google 搜尋 (即時上網) * Google Workspace (G Suite) * (未來可能串接 Google 服務) |
* Artifacts (程式碼) * (目前較專注於文本與知識處理,工具較少) |
| 使用資格 (需付費方案) |
* ChatGPT Plus * ChatGPT Go * ChatGPT Team / Enterprise |
* Gemini Advanced * Google Workspace (特定方案) |
* Claude Pro * Claude Team |
| 分享與發布 | * GPT Store (公開商店) * 連結分享 (任何人/僅限組織) |
* 目前僅供個人使用,無法分享給他人 |
* 可在 Team 方案中分享給團隊成員 * (無公開商店) |
▌補充 D:古龍寫心經
》般若波羅蜜多心經》原文
《般若波羅蜜多心經》原文
觀自在菩薩
行深般若波羅蜜多時
照見五蘊皆空
度一切苦厄
舍利子
色不異空 空不異色
色即是空 空即是色
受想行識 亦復如此
舍利子
是諸法空相
不生不滅 不垢不淨
不增不減
是故空中無色
無受想行識
無眼耳鼻舌身意
無色聲香味觸法
無眼界 乃至無意識界
無無明 亦無無明盡
乃至無老死 亦無老死盡
無苦集滅道
無智亦無得
以無所得故
菩提薩埵
依般若波羅蜜多故
心無罣礙 無罣礙故
無有恐怖 遠離顛倒夢想
究竟涅槃
三世諸佛
依般若波羅蜜多故
得阿耨多羅三藐三菩提
故知般若波羅蜜多
是大神咒 是大明咒
是無上咒 是無等等咒
能除一切苦 真實不虛
故說般若波羅蜜多咒
即說咒曰
揭諦揭諦 波羅揭諦
波羅僧揭諦 菩提薩婆訶
》《心經》古龍風 by Gemini
《心經》古龍風 by Gemini
心。
什麼是心?
心,是空的。
你看見的,是色。
你聽見的,是聲。
你感覺到的,是受、想、行、識。
但這些,都不是真實。
真實,是空。
色,就是空。
空,也就是色。
沒有分別。
痛苦嗎?
痛苦也是空。
沒有來。沒有去。
沒有生。沒有死。
沒有我。也沒有你。
當你看透了這一切。
看透了「空」。
你就不再痛苦。
你就是觀自在。
這就是智慧。
一把刀。
一把最快的刀。
它能斬斷一切苦厄。
帶你到彼岸。
去吧。
去吧。
一起去吧。
覺悟。
這,就是心經。
》《心經》古龍風 by Claude
摘要
觀自在菩薩看著這世界。
看了很久,很久。
「空。」他說。
什麼是空?
色是空,空是色。
你以為你擁有,其實你什麼都沒有。
你以為你失去,其實你從未擁有。
人生最大的痛苦,就是執著。
執著於愛,執著於恨,執著於得,執著於失。
可是,如果一切本來就是空的呢?
那還有什麼好執著的?
你看到的,未必是真的。
你聽到的,未必是真的。
連你以為的「你」,都未必是真的。
痛苦從哪裡來?
從你的心來。
心若不動,萬法皆空。
彼岸在哪裡?
其實,此岸就是彼岸。
只要你放下了,哪裡都是彼岸。
觀自在菩薩笑了。
他知道,真正的智慧,不在經書裡。
在你心裡。
空即是色。
色即是色。
懂了,就懂了。
不懂,說再多也沒用。
》《心經》古龍風 by ChatGPT
《心經》古龍風 by ChatGPT
夜深,風冷。
燈影搖晃在破舊的茶樓裡,像一盞快熄的心。
老僧坐在角落,手裡沒有酒,只有沉默。
年輕的劍客坐在對面,桌上放著的,是一柄還溫著殺氣的刀。
「心,為何這麼亂?」劍客問。
老僧抬頭,看著窗外的黑夜——
「因為你把太多東西,當成真的了。」
劍客皺眉:「什麼是真的?」
老僧笑。他的笑很淡,很輕,像一縷灰燼飄落在茶裡。
「色,不過是一場幻。」
「受、想、行、識……也終會散。」
「五蘊如煙,抓得越緊,越痛。」
劍客沉默了很久,像是在與自己的影子決鬥。
「那痛要怎麼忘?」
「忘不了。」老僧說,「只是看穿。」
窗外的夜突然靜了。
靜得像空,卻不是沒有。
「空?」劍客喃喃。
老僧搖頭:「空不是沒有,空是自在。
你放下刀,刀便成風;你執著刀,刀便成劫。」
劍客抬頭看著他,那眼神裡藏著多年走不出的江湖。
「那生、死呢?」
老僧像在回答,又像在自言自語——
「無生無滅,無垢無淨……
生命不是用來對抗,而是用來看透。」
風過,燈滅,影子消失。
劍客驚覺地站起:「你……走了?」
角落只剩一杯茶。
茶很涼,卻香得讓人忘不掉。
桌上刻著一行字:
「度一切苦厄。」
年輕的劍客看著那句話,忽然笑了。
那笑很輕,也很寬。
他提起刀,又把刀放下。
原來江湖一直在心裡。
他走入夜色,像是終於不用再逃。
夜安靜了。
心,也一樣。