2023 年,大型語言模型開始從聊天介面走進應用開發。這一年的系列叫做「全端 LLM 應用開發」,我沒有從 Prompt 技巧開始,而是先處理很容易被跳過的 Python 環境與套件管理。
後面的路徑一路接到 Hugging Face、FastAPI、Embedding、六種向量資料庫、RAG,以及當時快速變動的 LangChain。這份目錄適合從頭建立全貌,也可以直接跳到正在評估的元件。
先確認這份目錄的範圍
這份導覽收錄 2023 年實際公開的完整 30 篇系列。原始內容仍保留在 iThome 原始系列頁,這裡不複製全文,而是整理閱讀順序、每一段的責任,以及現在回頭閱讀時要注意的版本邊界。
LLM 生態系變動很快,尤其是 LangChain API、模型名稱與各向量資料庫的服務方案。下列文章記錄的是 2023 年的實作與判斷;重做範例時應鎖定版本,並重新查核官方文件。
系列目錄與閱讀路線
先把 Python 專案環境管好
前六篇處理虛擬環境、Poetry、pyproject.toml 與常用指令。LLM 套件在當時更新速度很快,沒有隔離與鎖版,今天能跑的範例很可能明天就被相依衝突弄壞。
- 全端 LLM 應用開發-Day01-前言
- 全端 LLM 應用開發-Day02-Python 虛擬環境入門
- 全端 LLM 應用開發-Day03-Poetry 入門
- 全端 LLM 應用開發-Day04-Pyproject toml 詳解
- 全端 LLM 應用開發-Day05-Poetry 其他重要指令
- 全端 LLM 應用開發-Day06-Poetry 在 LLM 開發的美好
Hugging Face 與 FastAPI
接著把 Hugging Face 模型放進剛建立的 Poetry 專案,再透過 FastAPI 暴露成可呼叫的服務,完成從模型到應用介面的第一段。
- 全端 LLM 應用開發-Day07-Hugging Face 介紹
- 全端 LLM 應用開發-Day08-Hugging Face 入門與 poetry
- 全端 LLM 應用開發-Day09-Hugging Face 整合 FastAPI
Embedding 與向量資料庫選型
Day 10~21 是整個系列最長的一段。先比較 Hugging Face 與 Azure OpenAI 的 Embedding,再依序實作 FAISS、pgvector、Pinecone、Milvus、Weaviate 與 Qdrant。選型不只看能不能存向量,還包括部署方式、查詢能力與維運負擔。
- 全端 LLM 應用開發-Day10-Embedding 與向量資料庫
- 全端 LLM 應用開發-Day11-用Hugging Face 來做 Embedding
- 全端 LLM 應用開發-Day12-用 Azure Open AI 做 embedding
- 全端 LLM 應用開發-Day13-用 FAISS 來儲存向量資料
- 全端 LLM 應用開發-Day14-用 pgvector 來儲存向量資料
- 全端 LLM 應用開發-Day15-Python SDK 整合 pgvector
- 全端 LLM 應用開發-Day16-Pinecone 申請與設定
- 全端 LLM 應用開發-Day17-用 Pinecone 儲存向量資料
- 全端 LLM 應用開發-Day18-用 Milvus 儲存向量資料
- 全端 LLM 應用開發-Day19-用 Weaviate 儲存向量資料
- 全端 LLM 應用開發-Day20-為什麼 Qdrant 是我儲存向量資料的主力
- 全端 LLM 應用開發-Day21-用 Qdrant 儲存向量資料
RAG 與 LangChain 的抽象層
最後進入 RAG 與 LangChain,包含 Embedding、PDF 問答、Model I/O、Memory、Chain 與 Agent。Day 24 是因當時事件插入的評論篇,保留它可以看見技術如何進入真實社會情境。
- 全端 LLM 應用開發-Day22-Retrieval-Augmented Generation (RAG)
- 全端 LLM 應用開發-Day23-Langchain 介紹與缺點
- 全端 LLM 應用開發-Day24-緊急插入中研院事件
- 全端 LLM 應用開發-Day25-用 Langchain 來做 embedding
- 全端 LLM 應用開發-Day26-用 Langchain 來做 PDF 文件問答
- 全端 LLM 應用開發-Day27-Langchain 的 Model I/O
- 全端 LLM 應用開發-Day28-Langchain 的 Memory
- 全端 LLM 應用開發-Day29-Langchain 的 chain
- 全端 LLM 應用開發-用 Langchain 的 agent 來做更多事情(五條體產生器)
這一年留下的主線
2023 年留下最清楚的判斷,是 LLM 應用不能只看模型回答。環境能否重現、資料如何轉成向量、檢索放在哪裡、抽象框架藏掉多少控制權,都會決定系統能不能維護。
2024 年我又回到 Azure Machine Learning,但問題已經不同:平台如何容納生成式 AI、開源模型、Fine-tune、RAG 與 LLMOps?
Discussion
文章留言
留言服務會連線到 Disqus;只有在你選擇載入後才會建立外部連線。