KeyFrame內部研究專用

Using LlamaIndex for RAG in Python: Setting Up & Coding Indexing

Real Python·6月25日週四·16 min英文

三句話摘要

LLaMA Index 框架在 Python 中實現 RAG(檢索增強生成)技術的課程導入與基礎實現。 RAG 是將 LLMs 與外部非訓練資料連結的關鍵技術,LLaMA Index 提供開箱即用的完整工具鏈,讓開發者能快速構建能查詢秘密或客製文件的智能應用。 RAG 解決的核心問題:LLMs 無法存取訓練集外的資訊。RAG 在查詢時動態檢索相關外部文件作為上下文,讓模型基於這些文件回答問題,文件內容被視為真實來源,確保回答符合主題。

重點整理

重點
  • 1

    RAG 解決的核心問題:LLMs 無法存取訓練集外的資訊。RAG 在查詢時動態檢索相關外部文件作為上下文,讓模型基於這些文件回答問題,文件內容被視為真實來源,確保回答符合主題。

  • 2

    LLaMA Index 框架的角色:它是專為 RAG 設計的 Python 框架,預設使用 OpenAI LLM,內建資料連接器(data connectors)、索引化、檢索等工具,可無縫集成外部文件與 LLMs。

  • 3

    向量嵌入的重要性:索引過程將文件分割為節點(nodes),再生成向量嵌入(embeddings)——文本的數值表示。這些數字捕捉語義意義,讓 AI 能理解詞彙含義,是 RAG 能精確檢索相關內容的基礎。

  • 4

    實際應用設計:課程以虛擬公司 Stevens-Pythonistas Limited 的員工行為政策為例,展示如何將秘密文件(非公開資訊)作為上下文,構建能回答政策問題的 chatbot,體現 RAG 保護隱私資料的價值。

實用技巧與重點

乾貨
  • RAG 五階段:Loading(從來源讀取資料)→ Indexing(建構可查詢資料結構)→ Persisting(儲存索引與中繼資料避免重建)→ Querying(以索引資料作上下文提問)→ Evaluation(檢驗模型輸出)
  • 主要工具:SimpleDirectoryReader(資料連接器)、VectorStoreIndex(索引類)
  • 必備先決條件:OpenAI API 金鑰(付費)、Virtual environments、PathLib 標準庫、環境變數設置
  • 替代方案:Google LLM API(錄製時免費)
  • 公司政策規則:禁止在辦公室戴帽子、禁止罵髒話(罰款 $1)、禁止週末工作
  • 檔案結構:company_policy.txt(資料夾)、policy_bot_v1.py 等多個版本(範例)、policy_bot.py(工作檔)、README(設置指南)
  • 路徑語法:Linux/Mac 用正斜線(/),Windows 用反斜線(\)

結論

結論

RAG 是將 LLMs 與外部非訓練資料連結的關鍵技術,LLaMA Index 提供開箱即用的完整工具鏈,讓開發者能快速構建能查詢秘密或客製文件的智能應用。

完整解析

詳細

這門課程的目標是教學 RAG 技術和 LLaMA Index 實現方式。課程開場以講師的真實場景切入:他需要根據妻子的私密食譜幫忙製作購物清單,但食譜並非公開資訊。用傳統方法搜索線上食譜失敗,正是 RAG 應運而生的使用場景——系統能將不在訓練集內的秘密文件嵌入 LLM 的上下文,讓模型基於這些文件回答問題。這說明了 RAG 的核心價值:它打破了 LLMs 只能依賴訓練資料的限制。

LLaMA Index 是實現 RAG 的 Python 框架,預設仰賴 OpenAI 的 LLM,但可切換至其他模型如 Google LLM。課程結構涉及環境配置(API 金鑰、虛擬環境、必要套件安裝)和五階段流程。前四階段在課程中涵蓋,第五階段(評估)因篇幅限制略過。

實作部分以虛擬公司 Stevens-Pythonistas Limited 的員工行為政策為背景。該政策明確三項規則:禁止辦公室戴帽子、禁止罵髒話並罰款 $1、禁止週末工作。講師帶領學員逐步實現:先用 SimpleDirectoryReader 從資料夾讀取 company_policy.txt,建立文件物件列表;接著用 VectorStoreIndex 建立索引,此過程將文件分割成節點並生成向量嵌入。向量嵌入是文本的數值表示,其關鍵在於這些數字捕捉語義意義,使 AI 能正確理解詞義並檢索相關內容。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Everything Goldman Sachs Taught Me About AI (In 10 minutes)
AI 技術英文8月24日

Everything Goldman Sachs Taught Me About AI (In 10 minutes)

Nate Herk

  • 驗證優於相信:看起來完整的AI輸出不等於正確答案,需在提示中要求模型重新檢查數字、引用來源,並對無把握的部分標記。
  • 區分AI與自動化:確定步驟且答案已知的任務用傳統自動化更便宜快速;只在需要判斷力、靈活性或處理複雜資訊時才用AI,兩者結合效果最佳。
  • 以問題驅動選型:先寫清楚「要解決的問題是什麼、成功的樣子是什麼」,再決定用什麼工具,許多失敗項目是從技術而非問題出發。
Mu: a self-hosted personal agent where the interface is an email address you can write to
AI 技術英文8月23日

Mu: a self-hosted personal agent where the interface is an email address you can write to

GitHub Awesome

  • Mu 是自主代理人系統,具有實際網址與獨立伺服器,用戶可透過多種方式與其互動——網頁應用、電子郵件或程式化介面。
  • 架構完整覆蓋日常工作流程的多個層面,整合郵件收發(SMTP/IMAP)、檔案管理、行事曆、新聞聚合、市場數據與搜尋功能於一個 Go 伺服器內。
  • 支援自帶模型與多種通訊協定,用戶可選擇不同的 AI 模型,並透過 MCP、HTTP API 或命令列工具整合到其他系統。