:::

雜談:來自架Dify v0.12.1吧! / TALK: Let's Self-Host Dify v0.12.1!

12月 27, 2024 , , 0 Comments Edit Copy Download

2024-1203-163113.png

自從上次講到想要從Dify v0.6.14升級之後,這次就來試著安裝看看吧。


Dify新增的功能 / Dify's New Features

https://github.com/langgenius/dify/releases

https://github.com/langgenius/dify/releases 

在Dify v0.7.0之後,Dify除了不斷加入大型語言模型新版本的接口之外,在各個功能上都有諸多改進。v0.7.0最重要的是強化了大型語言模型的記憶功能,在這之前跟LLM (大型語言模型)對話都是仰賴LLM自己的上下文記憶能力;v0.8.0在工作流(workflow)裡面加入了平行執行。這在處理大量資料的時候特別方便,但要小心限流;v0.9.0加入了外部知識API的功能,讓Dify專注於開發LLM相關應用,而知識保存的位置則可以在其他地方管理;v0.10.0強化了多模態支援,上傳的檔案可以是文件、表格、錄音、圖片等等,Dify都可以設定對應的處理器來把文件轉換成LLM能夠理解的內容;v0.11.0可以處理投影片PPTX,也可限制上傳檔案大小;v0.12.0讓LLM能夠直接引用上傳的文件,而不只是知識庫本身。

整體來說,v0.10.0的多模態功能,讓Dify的價值上升到了全新的高度。Dify本身能開發成為一個能夠讓其他人使用的API,這意味著未來都可能在其他系統上將任意檔案傳送給Dify,讓它按照我的規劃來分析、詢問LLM、取得處理結果,最後直接在我原本使用的系統取得成果。

當然,這些做法因為太過低階與零碎,並不是三兩下就可以搞定的事情。但還是很值得期待。


用Docker Compose架設Dify / Deploying Dify with Docker Compose

https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml

https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml 

因為我偏好使用Docker管理系統,新版本的Dify也只要用它提供的docker-compose.yml即可架設。架設之前請參考README.md,記得把.env.example複製成.env,然後就可以用指令「docker compose up」來啟動Dify了。初次啟動要下載映像檔並配置,需要比較長的時間;第二次啟動之後,大概只需要30秒就能夠打開網頁開始使用Dify。

值得一提的是,我建議不要使用舊版本的Dify升級到新版本,而是用新的容器名稱,或是移除舊容器資料之後,再啟動新版本Dify。單純用舊版本的資料開啟新版本的Dify的話,新版本Dify會嘗試將舊資料進行轉移和升級。但我之前嘗試了幾次,舊資料的升級都會失敗,並不順利。

2024-1203-142219.png

因此我採用的做法是各別架設新版本的Dify。然後再將舊版本的知識庫、Studio的APP,手動轉移到新版本的Dify上。雖然比較麻煩,但轉移後的結果比較乾淨,也不容易出問題。

2024-1203-142407.png

舊版本APP用DSL檔案匯入到新版本的時候,部分欄位會有相容性的問題。例如舊版本的Knowledge Retrieval取用知識庫的功能並沒有強調Rerank Model。直接匯入的話,Rerank Setting會強制只能選用Rerank Model,不能選預設的Weighted Score。但是新增Knowledge Retrieval之後就可以選擇Weidgeted Score了。

除此之外,架設Dify v0.12.1並沒有什麼大問題,還蠻簡單的。


小結 / In Closing

2024-1203-162823.png

新版本Dify最主要的就是開箱即可用的文件上傳與分析功能,這的確很令人驚豔。然後接下來,我們就可以來架設其他服務了。