AI News HubLIVE
站内改写1 分钟阅读

使用Scikit-LLM与开源大语言模型

本文介绍如何通过Ollama和Scikit-LLM Python库,免费使用本地托管的开源大语言模型(如Llama 3、Mistral和Gemma)进行文本分类任务。

来源Machine Learning Mastery作者: Iván Palomares Carrascosa

本文将介绍如何利用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。