Huggingface入门——模型使用
什么是Huggingface
它其实就是AI开发者的“GitHub”,为我们提供了海量的模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。
包括在NLP(自然语言处理)领域,它也是最大的NLP开源社区。被称为大语言模型底座。
如果你是AI开发者或者爱好者,那么你一定不能错过。
Huggingface有什么
在官网中大家可以看到有这么几个栏目
- Models:这里面有huggingface的所有模型,而且这些模型都是免费的
- Datasets:这是一些数据集
- Spaces:这是用户们来分享自己的空间,可以把它当成huggingface的朋友圈
- Pricing:这是一些开通付费的价格
模型使用
在Models中,可以看到
可以看到模型描述:
方法1
我们可以通过 transformers
中的 pipeline
来直接调用
首先要安装必要的包:
pip install transformers
现在就可以使用pipeline来直接使用模型
from transformers import pipeline
# 第一个参数是任务类型,第二个参数是模型名称
unmasker = pipeline('fill-mask', model='bert-base-uncased')
unmasker("Hello I'm a [MASK] model.")
这里在第一次执行pipeline的时候会自动去下载模型到本地。windows上的模型存储地址为:C:\Users\【自己的用户名】\.cache\huggingface\hub
。
这是一种最基本的调用,在对这些大模型使用的时候通过官网的描述和文档是最好的方式。
这里给大家演示几个transformers
中的自定义方法
AutoTokenizer
from transformers import AutoTokenizer
#AutoTokenizer可以自动加载bert-base-uncased中使用的分词器
tokenizer=AutoTokenizer.from_pretrained("bert-base-uncased")
AutoModel
from transformers import AutoModel
#AutoModel可以自动加载bert-base-uncased中使用的模型,没有最后的全连接输出层和softmax
model=AutoModel.from_pretrained("bert-base-uncased")
当然了AutoModel是不包括输入分词器和输出部分的
AutoModelForSequenceClassification
from transformers import AutoModelForSequenceClassification
# AutoModelForSequenceClassification可以自动加载bert-base-uncased中使用的模型(包括了输出部分),有最后的全连接输出层
model=AutoModel.AutoModelForSequenceClassification("bert-base-uncased")
方法2
以这个ChatGLM2-6B为例,先在github上git下ChatGLM2-6B除模型外的相关文件。
git clone https://github.com/THUDM/ChatGLM2-6B.git
cd ChatGLM2-6B
安装相关依赖
pip install -r requirements.txt
直接执行下面代码,程序会在网上自动下载模型文件
>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。
>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)
晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:
1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。
如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。
或者也可以找到huggingface上ChatGLM2-6B模型地址,直接git
git clone https://huggingface.co/THUDM/chatglm2-6b
在终端直接执行代码
python web_demo.py
这里会生成一个URL,在地址栏中访问这个URl即可使用ChatGLM2-6B
Was this helpful?
0 / 0