應用 LLM 框架:LangChain 入
門工作坊
Ko Ko, Microsoft AI MVP
2024/10/17 @ 超硬派!數據實戰技術工作
坊 #18
KoKo 大魔術熊貓工程師
關於 Ko Ko
● 連續五年當選 Microsoft AI MVP。
● 國內外大型技術年會講師,包含 COSCUP、
ModernWeb、名古屋開源年會、香港開源年會、
PyCon APAC、PyCon HK、DevDays Asia 等。
● 合著有三本 AI 應用開發的書,都登上暢銷排行
榜。
● 經營臉書粉專「大魔術熊貓工程師」。
駕馭 ChatGPT 4:
探索 Azure OpenAI 與 Cognitive Service for Language 開發實
踐 (使用.NET 與 Node.js)
當年第一本針對軟體工程師所撰寫之 ChatGPT 專書
用 .NET 和 Node.JS 雙語言範例程式碼
第一本針對 Azure OpenAI 所撰寫之專書
第一本針對 Cognitive Service for Language 專書
第一本教你如何 Fine tune GPT 模型之專書
第一本教你 Semantic Kernel(只有這個過時) 與 RAG
pattern 專書
大量範例與實戰,內容至今 95% 可用
https://www.tenlong.com.tw/products/9786263335189
極速 ChatGPT 開發者兵器指南
跨界整合 Prompt Flow 、LangChain 與 Semantic Kernel 框架
天瓏書局2024年五月排名第二的書。
台灣第一本介紹 LangChain 0.1 穩定版的書。
也是第一本介紹 Prompt Flow 的書。
也是第一本介紹 Samentic Kernel 1.0 版之後的書
(第一本 1.0 版之前的 SK 書也是我們寫的)。
https://www.tenlong.com.tw/products/9786263338203
LangChain 的奇幻旅程
OpenAI X Gemini X 多模態應用開發指南
LangChain 與多模態整合
LangChain 與地端模型整合
LangChain 與 LangServe 部署上雲
Qdrant 向量資料庫進階技巧
KoKo 大魔術熊貓工程師
大綱
1. LangChain 的基本概念
2. 向量資料庫與 RAG 的原理
3. Azure OpenAI
4. 實戰 LangChain
5. 抽書說明
KoKo 大魔術熊貓工程師
LangChain
快速整合大型語言模型的框架
快速打造具上下文感知與推理應用
有 Python 和 JS 的 Library,以 Python 最完整。
發展非常快速!!
目前 0.1 版之後會相對穩定
KoKo 大魔術熊貓工程師
LangChain 0.1 版的分水嶺
在2024年1月8日,LangChain官方宣佈推出了0.1的小版本。
這個版本會是 API 相對穩定的版本。
但是依然不是長期維護版本或是主要版本。
0.1 版本升到 0.1.x 時會向後兼容。
如果有 0.2 版出現,0.1 版只會維護 3 個月
0.2 版在 2024/5/20 推出,相容性很高,升級幾乎無痛。
KoKo 大魔術熊貓工程師
這是舊圖
KoKo 大魔術熊貓工程師
這是新圖
KoKo 大魔術熊貓工程師
向量資料庫
專門儲存向量的資料庫,推薦使用 Qdrant。
可以在高維度空間檢索資料,尤其是文本相似度搜尋
實作 Approximate Nearest Neighbor (ANN) 之類的算法,可以快速找到目標
可以支援分散式系統架構
可以視為當代 AI 應用的基礎建設之一
KoKo 大魔術熊貓工程師
Cosine Metrics
計算兩個向量(兩句話)之間的相似度
餘弦相似度 (Cosine Similarity):其值範圍從-1(完全相反)到1(完全相同),其
中0表示兩者獨立,無相關性。但是在 NLP 中,往往是取 0 到 1。
餘弦距離 (Cosine Distance):範圍是從0(無距離,表示完全相同)到2(完全不
同)
Cosine Distance(A,B)=1−Cosine Similarity(A,B)
餘弦距離是補充的表示,不是真正的距離(像是心和心的距離)
KoKo 大魔術熊貓工程師
Cosine Metrics
KoKo 大魔術熊貓工程師
LangChain Retrival
KoKo 大魔術熊貓工程師
RAG (Retrieval Augmented Generation )
https://www.e2enetworks.com/blog/
guide-to-building-a-rag-based-llm-a
KoKo 大魔術熊貓工程師
與 Azure 整合的 GPT -- Azure OpenAI
就是在 Azure 上的 OpenAI
整合 Azure 雲端服務: 提供與 Azure 雲端生態系統的深度整合,包括安全
性、合規性以及其他雲端服務。
企業級功能: 包括企業級安全性、合規性標準(如 GDPR 和 HIPAA)。
成本管理和計費選項: 提供透過 Azure 訂閱的計費管理,使企業能夠更好
地控制成本。
特定產品整合: 能夠與特定的 Azure 產品(如 Azure Machine Learning)和
服務(如 Azure Cognitive Services)緊密整合。
模型與功能支援更新速度會比 OpenAI 略慢
KoKo 大魔術熊貓工程師
Azure OpenAI 介面(舊)
KoKo 大魔術熊貓工程師
Azure OpenAI 介面(新)
KoKo 大魔術熊貓工程師
部署模型
KoKo 大魔術熊貓工程師
Content filtering configuration
KoKo 大魔術熊貓工程師
建立向量資料庫 Qdrant Cloud
https://qdrant.tech/
KoKo 大魔術熊貓工程師
右上角 login ,再用 gmail 帳號登入即可
KoKo 大魔術熊貓工程師
KoKo 大魔術熊貓工程師
KoKo 大魔術熊貓工程師
Qdrant 重要概念
Collections(集合):集合是存放一堆 points 的地方,可以在其中進
行高維度向量搜尋。可以想像成傳統資料庫的 table,就是儲存資
料的地方。
Payload:用來與向量一起儲存額外的資訊,就是 metadata 的概
念。
Point:Point 是 Qdrant 儲存資料的核心實體。一個點是由向量和
Payload 所組成的。
KoKo 大魔術熊貓工程師
Live Demo
https://github.com/Ko-Ko-Kirk/DScommunity20241017/
Thank you
Q & A
大魔術熊貓工程師
KoKo 大魔術熊貓工程師
Q. 如果我文件有更新,是不是要重新
embedding
對,文件有更新,就要重新 embedding。
你換 embedding model,也要重新 embedding。
KoKo 大魔術熊貓工程師
Q. 這個 BeautifulSoup 該怎麼做進一步的
調整呢?
去看文件。但是有可能你要功能並沒辦法透過 LangChain 的 document
loader 來拿到。
https://python.langchain.com/api_reference/community/document_loaders/
langchain_community.document_loaders.web_base.WebBaseLoader.html
KoKo 大魔術熊貓工程師
Q. 有些人對 LangChain 有負面看法,請問
老師怎麼看?
我也討厭過 LangChain,但是 0.1 版推出後就不會了,現在的 LangChain
真的香!
過度封裝也不用怕,學會去看原始碼。
建議到天瓏買《LangChain奇幻旅程》、上我在緯育開的直播課程,輸入我
的優惠碼「KOKO2024」,就能折價三百元哦!此外,第五期班招課中!!
報名連結請參考:https://www.tibame.com/program/Azure_OpenAI

應用 LLM 框架:LangChain 入門工作坊,LangChain Workshop