iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
生成式 AI

生成式 AI 時代下的 Azure Machine Learning系列 第 9

Day09-寫程式串接 Serverless 的 Llama-3.1-8B-Instruct 之 LangChain 介紹篇

  • 分享至 

  • xImage
  •  

今天我們開始來寫程式串接 Serverless 部署的 Llama-3.1-8B-Instruct。今天先來介紹我們的主角 LangChain。

LangChain 是一個專為開發由大型語言模型應該開發而誕生的框架。其核心精神是希望開發人員能夠很容易製作 LLMs 應用,並且與外部資料無縫整合,進而實現任務。目前主要有 Python 版本和 JavaScript 版本,不過以生態系來說,目前還是 Python 比較完整。

LangChain 是一個社群驅動的開源框架,而且很尊重社群的意見反饋。

在 2024 年 1 月時,LangChain 推出了 0.1 版的相對穩定版本,一掃過去常常亂改 API 的陋習。其實這也是社群抱怨他們常常改 API ,讓人很難決定用 LangChain 做產品,他們才因此改進的。

到現在最新的 0.3 版,這一路上幾乎是無痛升級。除非你過度依賴了 Pydantic 的特性,才會在 0.3 版的升級比較痛苦。不過這是 Pydantic 的問題,不是 LangChain 的問題。

生態系重要的元件介紹

1 . LangSmith:

LangSmith 提供監控、回饋、評估等功能,讓開發者能更有效地追蹤應用的性能,並根據反饋進行調整或優化。這是收費服務,也是 LangChain 主要的商業模式。

2. LangServe:

LangServe 可以用於將 chains 作為 REST API 進行部署,這個是一個超強的工具。你只要開發好你的 chain,就可以簡單改寫並快速部署成 web API、讓你的平台來串接了!

3 . LangChain-Community:

這個模組提供了大量的第三方開源套件的整合,供開發者自由選擇和組合,以滿足不同的需求,例如檢索器、文檔加載器、向量存儲(Vector Store)等等。像我們接下來會用的 Azure ML 的串接,也是屬於這一區的。

4 . LangGraph:

新一代做 Agent 的套件,甚至可以用圖論(graph)的方式來做 Agent。

5 . LangChain-Core:

LangChain-Core 是最核心的地方,LCEL (LangChain Expression Language) 就放在這裡。其他會盡可能保持不變的 API ,也都會放在這一區裡面。

缺點

LangChain 的 API 開始穩定了之後,LangChain 目前只剩下一個問題了,就是過度封裝限制了開發人員的彈性。

舉例來說,LangChain 的 CSVLoader,其實是來自於 Python 的 CSV 套件。如果你用原生的 CSV 套件,可以做的參數和調整更多,但是 CSVLoader 卻不支援這麼多。

不過這也有解法,就是你在這裡要載資料時,用原生的 CSV 套件就好了。其他大語言應用的核心功能再來用 LangChain。

其實你要用年輕的框架,就是要考慮一些權衡。千萬別忘了,這波生成式 AI 大爆發,是在 2022 年 11 月底才開始的,也才一年半載而已。對於這麼有社群能量的一個框架,我是建議再多給一些時間、再讓子彈飛一會兒吧!

明天我們先來講虛擬環境安裝 LangChain 吧!


上一篇
Day08-部署 Serverless 的 Llama-3.1-8B-Instruct
下一篇
Day10-寫程式串接 Serverless 的 Llama-3.1-8B-Instruct 之虛擬環境篇
系列文
生成式 AI 時代下的 Azure Machine Learning30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言