使用Scikit-LLM與開源大語言模型
本文介紹如何通過Ollama和Scikit-LLM Python庫,免費使用本地託管的開源大語言模型(如Llama 3、Mistral和Gemma)進行文本分類任務。
本文將介紹如何利用Ollama和Scikit-LLM庫,在本地免費運行開源大語言模型(如Llama 3、Mistral和Gemma)來完成文本分類任務。通過這種方法,您可以避免調用付費雲API,完全在本地進行推理。
首先,您需要安裝Ollama。Ollama是一個免費的本地大語言模型倉庫,支持多種開源模型。安裝完成後,在終端執行命令如ollama run llama3即可下載並啓動模型。下載完成後輸入/bye將其保持在後台運行。
接下來,創建一個Python項目並安裝必要的庫:pip install scikit-learn pandas scikit-llm。如果遇到模塊未找到錯誤,請逐一安裝。
在Python代碼中,首先導入所需模塊:pandas、train_test_split、SKLLMConfig和ZeroShotGPTClassifier。然後配置Scikit-LLM以連接到本地Ollama服務:
SKLLMConfig.set_gpt_url("http://localhost:11434/v1")
SKLLMConfig.set_openai_key("local-ollama-is-free")由於Ollama是免費的,OpenAI密鑰會被忽略。
接下來創建一個小型數據集。例如,包含用户評論和對應類別(如“積極反饋”、“技術支持”、“支持請求”等)。將數據分為訓練集和測試集。
初始化分類器時,使用custom_url::前綴指定模型,如ZeroShotGPTClassifier(model="custom_url::llama3")。然後調用fit方法訓練模型,再使用predict對測試集進行預測。
最後,打印預測結果。示例輸出顯示模型成功將評論歸類為“技術支持”和“支持請求”。整個過程無需任何API費用。
本文展示瞭如何利用Scikit-LLM和Ollama將開源大語言模型集成到熟悉的機器學習工作流中,實現零成本文本分類。您也可以嘗試其他模型如Mistral或Gemma。