介绍
快速开始
Scikit-LLM 允许您将强大的语言模型无缝集成到 scikit-learn 中,以增强文本分析任务。
让我们看看如何使用Scikit-LLM与GPT-4进行零样本文本分类。
安装
首先,需要安装Scikit-LLM。您可以通过运行以下命令来完成:
pip install scikit-llm
API密钥配置
对于这个例子,我们将使用GPT-4,它需要一个OpenAI API密钥。你可以在这里获取一个。
一旦你有了你的API密钥,你可以按照以下方式设置它:
from skllm.config import SKLLMConfig
SKLLMConfig.set_openai_key("<YOUR_KEY>")
SKLLMConfig.set_openai_org("<YOUR_ORGANIZATION_ID>")
注意
Scikit-LLM 支持其他语言模型,包括本地托管的模型。更多信息,请参考 Backend Families 部分。
零样本文本分类
现在,我们准备使用GPT-4进行零样本文本分类。让我们从加载一个样本数据集开始:
from skllm.datasets import get_classification_dataset
# demo sentiment analysis dataset
# labels: positive, negative, neutral
X, y = get_classification_dataset()
然后,我们可以创建一个分类器实例并使用传统的scikit-learn语法进行拟合:
from skllm.models.gpt.classification.zero_shot import ZeroShotGPTClassifier
clf = ZeroShotGPTClassifier(model="gpt-4")
clf.fit(X,y)
clf.predict(X)
Scikit-LLM 将自动查询 OpenAI API 并将响应转换为常规的标签列表。
此外,Scikit-LLM 将确保获得的响应包含有效的标签。如果不是这种情况,将随机选择一个标签(标签的概率与“训练”集中标签的出现次数成正比)。
此外,由于“训练”数据并不是严格必需的,因此可以完全省略。唯一需要提供的是候选标签的列表。
from skllm.models.gpt.classification.zero_shot import ZeroShotGPTClassifier
clf = ZeroShotGPTClassifier(model="gpt-4")
clf.fit(None, ["positive", "negative", "neutral"])
clf.predict(X)