動手實作 RAG 應用 - 使用 Python 從硬幹到框架
2025-11-30
紀錄使用 Python 實作 RAG 應用,從不使用任何框架到使用 llamaindex 的學習進程筆記。
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 作為向量資料庫。