該儲存庫提供了一個潛在的框架,其中包含實際範例,用於開發由量化開源語言模型(LLM)與 LangChain 結合支援的應用程式。具體來說,本指南重點介紹各種 LLM 的 4 位元量化 GPTQ 變體的實現和利用,例如 WizardLM 和 WizardLM-Mega。雖然專用於該特定主題的線上資源有限,但該存儲庫旨在彌合這一差距並提供全面的指南。
在本地運行法學碩士有很多優勢,其中隱私是關鍵因素。透過將資料保存在自己的硬體中,您可以利用這些模型的功能,而無需依賴外部 API,從而確保更好地控制資料並支援開發令人興奮的應用程式。
nvidia-smi
命令應該可以工作)注意:將會新增 Docker 支援。
目前支援以下 GPTQ 模型:
為了開始將 GPTQ 模型與 langchain 結合使用,需要執行以下幾個重要步驟:
quant_cuda
demo.py
並將 LLM 與 LangChain 一起使用,就像您對 OpenAI 模型所做的那樣。按照官方網站的說明安裝 Miniconda。
檢查 conda 是否設定正確
$ conda --version
在 shell 上初始化 conda
$ conda init
新建conda環境,確保使用指定的Python版本,因為只在3.10.9
上測試過
$ conda create -n wizardlm_langchain python=3.10.9
創建新環境後,將其啟動。
$ conda activate wizardlm_langchain
上面討論的整個過程從 2 到 4 都是使用setup.sh
bash 腳本自動完成的。您可以根據自己的喜好隨意修改它。
$ bash ./setup.sh
如果環境設定正確,則所有步驟理想情況下都應正確運作而不會發生錯誤。
如果您在執行demo時遇到以下異常:
Exception: Error while deserializing header: HeaderTooLarge
那麼這意味著模型尚未完全下載,因此您可以嘗試使用setup.py
中找到的git clone
命令重新下載它。
在運行演示之前,最好在第一次設定環境時停用並重新啟動環境。
運行演示:
$ python demo.py
預設情況下,使用setup.sh
將下載精靈LM-7B-GPTQ 模型,但如果您想使用在此專案中測試過的其他模型,則可以使用download_model.sh
腳本。
$ download_model.sh < HUGGING FACE MODEL NAME >
# Example
$ ./download_model.sh " TheBloke/WizardLM-7B-uncensored-GPTQ "
注意:如果您無法從 HF 下載完整模型,請確保 Git LFS 已正確設定。命令
git lfs install
有時可能可以完成工作。
完成設定程序後,您可以按照以下步驟將 GPTQ 模型與 LangChain 一起使用:
確保將
wizardlm_langchain
專案根目錄附加到 PYTHONPATH 以便全域使用它
請參閱範例demo.py
腳本以了解如何使用它。
歡迎對此儲存庫做出貢獻。如果您發現任何問題或有改進建議,請隨時提出問題或提交拉取請求。
貢獻時,請遵守以下準則:
該儲存庫已根據 GNU 公共授權獲得許可。有關詳細信息,請參閱許可證文件。
我們要感謝開源社群以及該儲存庫中使用的原始 GPTQ 模型的開發人員的貢獻。非常感謝 oobabooga/text- Generation-webui,他們的工作為使用 langchain 建立 GPTQ 模型提供了巨大的幫助。