動手實作 RAG 應用 - 使用 Python 從硬幹到框架

2025-11-30

紀錄使用 Python 實作 RAG 應用,從不使用任何框架到使用 llamaindex 的學習進程筆記。

logo

LLM 與 Embedding 模型準備

首先安裝 ollama 完成安裝後透過 pull 來下載模型,進行 RAG 需要 LLM Model 使用 qwen3:4b-instruct 以及 Embedding Model 使用 EntropyYue/jina-embeddings-v2-base-zh

藉由 API 呼叫 ollama 測試 LLM 及 Embedding 功能是否正常,直接呼叫模型就會自動被載入。

Invoke-RestMethod -Uri "http://localhost:11434/api/chat" `
  -Method Post `
  -Headers @{ "Content-Type" = "application/json" } `
  -Body '{
    "model": "qwen3:4b-instruct",
    "messages": [
        {
          "role": "user",
          "content": "台北最高的建築"
        }
      ],"stream": false
 }'
Invoke-RestMethod -Uri "http://localhost:11434/api/embeddings" `
  -Method Post `
  -Headers @{ "Content-Type" = "application/json" } `
  -Body '{
    "model": "EntropyYue/jina-embeddings-v2-base-zh",
    "prompt": "千里之行始於足下"
  }'

向量資料庫

使用 chroma 作為向量資料庫。