iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

全端 LLM 應用開發-Day06-Poetry 在 LLM 開發的美好

LLM 應用開發的領域太新了!

LLM 應用開發的領域太新了,很多套件都還不是很成熟,甚至常常會出現解析錯誤的情形。例如說我要使用 ChromaDB ,這是一個新興的向量資料庫。當你興高采烈地使用 poetry add chromadb,就會噴出如下圖的錯誤了。

chromadb 解析錯誤

圖片中說到,chromadb (0.4.10) depends on fastapi (>=0.95.2,<0.100.0) ,但是我 fastapi 就是要用 100 版以上的,因為 100 版之後的 fastapi 支援 Pydantic v2

這時候就想說好吧,那我在 toml 檔裡手動加上 chromadb = "0.*",不限制版本來安裝總行了吧!接著使用 poetry install 會看到如下圖,很美好地開始安裝 ChromaDB 和其依賴項了,而且還自己降版本了。

看起來很美好,開始chromadb和依賴項了

結果你程式一跑起來,又會出現 error pydantic.errors.PydanticImportError。這是因為 ChromaDB 用的 pydantic,會和版本 100 以上的 fastapi 發生衝突。(明明 0.100 和 0.99 的差距時間很短....)

但是假設真的非用 ChromaDB 不可,那麼也只能把 fastapi 降版到 0.99 了。這時候就可以成功把 ChromaDB 跑起來了。

你覺得這樣子的依賴解析是坑嗎?因為我就用不到我需要的 100 版本以後的 fastapi 了。

但是還是其實這很美好呢?因為可以知道問題出在哪,降版 fastapi 後就可以順利跑起來了。我是覺得真的很香啦!畢竟這個領域真的太新了,很多套件自己本身的問題就一大堆了,我相信 ChromaDB 這個問題,只是目前的冰山一角而已。不過像我自己之後就再也不會考慮 ChromaDB 這套向量資料庫吧,除非他們的整體生態系有做起來......。

明天我們來先幫大家入門 Hugging Face,然後要抓緊,開始進入和 LLM 應用開發相關的內容了!


上一篇
全端 LLM 應用開發-Day05-Poetry 其他重要指令
下一篇
全端 LLM 應用開發-Day07-Hugging Face 介紹
系列文
全端 LLM 應用開發(向量資料庫, Hugging Face, OpenAI, Azure ML, LangChain, FastAPI and more)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言