LlamaIndex 與 Jerry Liu:讓 AI 真正讀懂你的資料

LlamaIndex 與 Jerry Liu:讓 AI 真正讀懂你的資料

AI 系列-深入介紹 LlamaIndex 創辦人 Jerry Liu 與他打造的 RAG 資料框架,從 VectorStoreIndex、QueryEngine 到 LlamaParse、LlamaCloud,一次看懂這套讓 LLM 能可靠讀取私有資料的核心基礎建設。


LLM 很聰明,但它不知道你的事。

它不知道你公司的內部文件、你昨天更新的財報、你花了三個月寫完的產品規格書。訓練截止日期之後的事,它一概不知。讓它「猜」,它就會幻覺(Hallucination)。

這個問題有一個名字:知識斷層(Knowledge Gap)

Jerry Liu 在 2022 年底,決定用一個框架來填補這個斷層。他把它叫做 GPT Index,後來改名為 LlamaIndex

LlamaIndex 的核心主張:LLM 的問題不是不夠聰明,而是沒有讀到對的資料。解法不是更大的模型,而是更好的「資料管道」。


為什麼你需要認識 Jerry Liu?

在 AI Agent 的世界裡,我們談了很多「Agent 怎麼思考、怎麼行動」,但有一個更基本的問題被忽略了:

Agent 的知識從哪裡來?

如果 Agent 只有訓練時的知識,它在企業環境裡幾乎毫無用武之地——因為大多數有價值的問題,答案都在那些未公開的內部資料裡。

Jerry Liu 解決的,正是這個「最後一哩路」:讓 LLM 能可靠地讀取、理解、並引用你自己的資料

沒有 LlamaIndex 或類似框架,再厲害的 Agent 也只是一個「失憶症患者」——它知道很多世界上的事,卻不知道跟你有關的任何事。


Jerry Liu 是誰?

普林斯頓的資訊科學系高材生

Jerry Liu 畢業於普林斯頓大學電腦科學系,以 Summa Cum Laude(最優等) 成績畢業。這個成績等級在普林斯頓全年級只有約 5% 的學生能獲得,顯示他的學術底子極為紮實。

從 Quora 到 Uber 的機器學習之路

畢業後,Jerry Liu 的職涯軌跡是一條很典型的「ML 工程師進化論」:

  • Quora(2017–2018):推薦系統工程師,首次進入業界
  • Uber(2018–2021):AI 研究實習生 → 研究科學家,專注自動駕駛 AI 研究。在這裡他遇到了日後的共同創辦人 Simon Suo
  • Robust Intelligence(2021–2023):ML 工程管理,專注 ML 模型安全與監控

這段經歷有一個重要的共同主題:他不只會訓練模型,他更在乎模型在真實世界如何可靠地運作。這個執念,直接塑造了 LlamaIndex 對「可靠性」的極度重視。

GPT Index 的誕生:一個週末的側專案

2022 年 11 月,Jerry Liu 在 ChatGPT 爆紅後的一個週末,寫了一個叫 GPT Index 的小工具。

問題很簡單:他想讓 GPT-3 讀他自己的文件,但文件太長,放不進 Prompt。他需要一個方式把文件「切碎再搜尋」。

他把程式碼推上 GitHub,幾天之內 Star 數暴增。

他意識到這不只是他個人的問題——這是所有想讓 AI 讀懂自己資料的人,共同面對的問題。

從側專案到正式公司

時間里程碑
2022 年 11 月GPT Index 首次發布
2023 年 1 月登上 GitHub Trending,社群爆炸式成長
2023 年 2 月推出 LlamaHub(資料連接器市集)
2023 年 3 月改名 LlamaIndex,Jerry Liu + Simon Suo 正式成立公司
2023 年 6 月Greylock Partners 領投 850 萬美元種子輪
2025 年 3 月Norwest Venture Partners 領投 1,900 萬美元 A 輪

LlamaIndex 的核心積木

RAG 的基礎概念:為什麼要「檢索再生成」?

在介紹程式碼之前,先理解 RAG(Retrieval-Augmented Generation) 的核心邏輯:

傳統 LLM:問題 → LLM(只用訓練資料) → 回答(可能幻覺)

RAG 架構:
問題 → 檢索引擎(找相關段落)→ 相關段落 + 問題 → LLM → 有依據的回答

LlamaIndex 就是那個「檢索引擎」的工程化實現。它的資料流水線是:

文件 → 切塊(Nodes)→ 向量化(Embeddings)→ 儲存(Index)→ 查詢(Query Engine)→ LLM 生成

1. VectorStoreIndex:最常用的索引

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

# 1. 載入文件(支援 PDF、Word、CSV、網頁...)
documents = SimpleDirectoryReader("./data").load_data()

# 2. 建立向量索引(自動切塊、Embedding、儲存)
index = VectorStoreIndex.from_documents(documents)

# 3. 建立查詢引擎
query_engine = index.as_query_engine()

# 4. 自然語言查詢
response = query_engine.query("公司去年的營收成長率是多少?")
print(response)
# → 根據文件內容回答,並附來源引用

三行有效程式碼,就完成了一個「能讀你資料的 AI」。這就是 LlamaIndex 最大的競爭優勢:讓 RAG 的門檻低到任何工程師都能上手。

2. 進階 RAG:從「能用」到「好用」

基礎 RAG 的問題在於:切塊太小會失去上下文,切塊太大又超過 LLM 限制。LlamaIndex 提供了多種進階策略:

from llama_index.core.node_parser import SentenceWindowNodeParser
from llama_index.core.postprocessor import MetadataReplacementPostProcessor

# Sentence Window Retrieval:檢索小塊,但送給 LLM 時擴展成大塊
node_parser = SentenceWindowNodeParser.from_defaults(
    window_size=3,  # 每個句子向左右各擴展 3 個句子的上下文
)

# 建立索引時使用更精細的切塊策略
index = VectorStoreIndex.from_documents(
    documents,
    transformations=[node_parser],
)

query_engine = index.as_query_engine(
    node_postprocessors=[
        MetadataReplacementPostProcessor(target_metadata_key="window")
    ],
)
進階 RAG 技術解決的問題效果
Sentence Window Retrieval切塊太小、缺乏上下文小塊搜尋、大塊推理
Hybrid Search語意搜尋漏掉關鍵字匹配向量 + BM25 混合搜尋
Reranker檢索到的段落品質不夠精準二次排序、提升精準率
HyDE查詢與文件描述方式不同先生成假設答案再搜尋

3. LlamaParse:讓 AI 讀懂複雜文件

這是 LlamaIndex 商業化最重要的產品。

普通的 PDF 解析器,遇到這些情況就會失靈:

  • 有表格的財報 PDF
  • 多欄排版的學術論文
  • 含圖表的簡報 PDF
  • 掃描版文件(圖片轉文字)
from llama_parse import LlamaParse

parser = LlamaParse(
    result_type="markdown",  # 輸出為 Markdown,保留表格結構
    language="zh_tw",
)

documents = parser.load_data("annual_report_2024.pdf")
# → 財報中的表格被正確解析成 Markdown 表格,而不是一堆亂碼

LlamaParse 的差異化在於:它用視覺語言模型(VLM)來理解文件的「版面」,而不只是提取文字。 一份財報 PDF,普通解析器看到的是亂掉的數字,LlamaParse 看到的是結構完整的表格。

Loading Diagram...

LlamaIndex 生態系:從函式庫到平台

LlamaHub:資料連接器市集

LlamaHub 是 LlamaIndex 的「插件市集」——超過 300 個現成的資料連接器,讓你不需要自己寫爬蟲或 API 整合:

類型支援的來源
文件PDF、Word、Excel、PowerPoint
資料庫SQL、MongoDB、Notion
SaaS 服務Slack、Google Drive、Confluence
網路網頁爬取、RSS、Wikipedia
程式碼GitHub 倉庫

LlamaCloud:企業級 RAG 平台

如果說 LlamaIndex 開源版本是「自己組裝的 RAG 工具箱」,LlamaCloud 就是「已經幫你裝好的工廠」:

  • 託管的 LlamaParse:不需要在自己的伺服器上跑
  • LlamaIndex Platform:RAG 的全生命週期管理——建立、測試、部署、監控
  • 企業級 SLA:適合需要穩定運行的生產環境

這是 LlamaIndex 商業化的核心路徑:開源框架吸引開發者,雲端平台收費提供企業服務。


LlamaIndex vs LangChain:填坑工具 vs 接管道工具

這是最常被問的問題。兩者定位截然不同:

面向LlamaIndexLangChain
核心定位資料管道(RAG 專精)工作流編排(Agent 架構)
最強場景大量文件查詢、企業知識庫複雜多步驟任務、工具呼叫
設計哲學把資料問題做深、做精把 LLM 接進任何地方
學習曲線中等(RAG 概念清晰)較陡(概念更多)

實務上最常見的模式:LlamaIndex 負責「找資料」,LangChain(或 LangGraph)負責「用資料做事」。 兩者不是競爭關係,而是互補的工具鏈。


經典語錄

"The problem isn't that LLMs are dumb. The problem is that they don't have access to the right data."

問題不是 LLM 不夠聰明,而是它沒有存取到正確的資料。

"RAG is not just a technique. It's a philosophy: ground your AI in reality."

RAG 不只是一種技術,而是一種哲學:讓你的 AI 根植於現實。


實用建議:三個起步行動

步驟 1:先用五行程式碼跑起基礎 RAG

pip install llama-index
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
print(query_engine.query("你的問題"))

把自己的任何一份文件放進 ./data 資料夾,讓 AI 回答你關於這份文件的問題。這個五分鐘的體驗,比讀任何文件都更直接感受到 RAG 的力量。

步驟 2:加入 Reranker,提升回答精準度

基礎 RAG 的最常見問題是「找到了 5 個段落,但真正相關的只有 1 個」。加入 Reranker:

from llama_index.core.postprocessor import SentenceTransformerRerank

reranker = SentenceTransformerRerank(model="cross-encoder/ms-marco-MiniLM-L-2-v2", top_n=3)
query_engine = index.as_query_engine(node_postprocessors=[reranker])

通常這一個改動就能讓回答品質明顯提升。

步驟 3:用 LlamaParse 處理複雜 PDF

如果你的資料是財報、合約、簡報 PDF,直接用 LlamaParse 取代普通 PDF 解析器——複雜表格的解析品質差異會讓你目瞪口呆。


我的反思

整個 AI Agent 系列走到這裡,我越來越清楚地看到一件事:

AI 應用的瓶頸,從來不是模型本身,而是「資料到模型的那段距離」。

再聰明的 Agent,如果它讀不到你的資料,或者讀到的是錯誤解析後的亂碼,它就給不出有用的答案。

這就是 Jerry Liu 在做的事——他不是在建造更聰明的 AI,而是在修路。讓資料能從各種雜亂的格式、各種分散的來源,乾淨、準確地流進 AI 的推理引擎

在 LangChain 解決「怎麼接管道」、LangGraph 解決「怎麼控制流程」、CrewAI 解決「怎麼分角色」之後,LlamaIndex 回答的是一個更基礎的問題:

你的 AI 吃的資料,從哪裡來、是否乾淨、能否被信任?

沒有這個問題的答案,其他所有問題都是空中樓閣。


參考資料 (References)

官方資源

延伸閱讀

推薦影片