使用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。