利用 LM Studio 跟 AnythingLLM 實作 RAG 系統

兩套工具打出個人化 AI 模型的組合拳

前言

很常有人問我怎麼訓練自己的 AI 模型,但是又不懂怎麼訓練模型。或是不想要把自己公司的資料放在雲端上而苦惱著。

所以這次我想介紹兩個很簡單的工具,LM Studio 和 Anything LLM 設置檢索增強生成 (RAG) 系統。

什麼是 RAG(檢索增強生成)?

檢索增強生成(RAG Retrieval Augmented Generation)是一種結合了檢索技術和生成模型的方法。它的主要目的是使用者提供的相關資訊,透過一些技術來增強內容的輸出。讓我們在檢索資訊的過程中,提高生成內容的準確性和提問的相關性。

在檢索的過程中,系統會從預定的檔案文件、資料庫或網路資源中檢索與使用者查詢相關的資訊。這些資訊可以是文本段落、文件或網頁內容等。例如我想查詢:3/15 日有什麼行程,一個理想的 AI 模型就會去檢索我的 Google 日曆,或是某些電子信箱,幫我整理出有 3/15 相關的內容。我們會透過 Embedding,也就是向量化的方式來表示文本,目前最簡單的向量化是將文本資料轉換為以數字表達向量距離的過程。我們就可以透過向量距離(相關性)來回傳相似度最高的答案。

完成了檢索階段,我們就進入到內容生成階段,模型會利用這些前面檢索到的內容,來生成更為精確和有意義的回答或文本。

這樣的過程,我們不直接調整模型參數取得資訊的方式,我們就稱之為檢索增強生成。

設定與安裝環境

接下來的示範我是以 Macbook Pro M1 為例,我確認過各種作業系統的設定大同小異。

安裝 LM studio

使用 LM Studio 的好處在於,它可以在個人電腦上使用下載的 LLM 模型,確保隱私和資料控制。這些 LLM 模型所檢索的資料不用上傳到網際網路就可以使用。

設定 LM Studio

我們下載好後模型,跳到 local server 頁面後,選擇模型並啟動 server,成功啟動後 UI 會長這樣:

接著安裝 AnythingLLM

透過 AnythingLLM 達成 RAG

完成 AnythingLLM 的設定之後,你會看到這樣個畫面:

上傳檔案

上傳檔案這個功能,可以讓你把你想要 Embedding 的文本讓 LLM 來做資訊檢索。點擊畫面中的 Upload a document 就可以開始上傳檔案了。

問問題

完成檔案上傳之後,就可以開始問問題了。當然準確度可能就需要由你做最後決定,如果表現不如預期,可能還是需要整理一下文件內容,或是換個模型,例如從 7B 換成 13B 的模型之類的。

小記

通過 AnythingLLM 來做 RAG 除了免除寫程式的挑戰之外,即使不具有機器學習專業知識的使用者,也能在自己的電腦中,透過這兩個工具來體會到 RAG 的威力,以及客製化自己的 AI 模型。而且運用這樣可以在本機執行的 LLM 工具,也確保了資料隱私和資料可以由自己控制跟提供。從而生成更準確、資訊更豐富且最佳的輸出。

--

--