AIGC前端工程师的Transformers 入门(一):pipeline

别人是面向"对象"学习,我呢?面向Boss直聘学习。无疑,今年生成式AI的火热,aigc+方向可谓首选。在刷完一堆吴恩达和他的朋友们的课后,在Boss上看到这则招聘,方向有了...

AIGC前端工程师

我是看PHP入门开发的,无聊的CRUD和命令行,让我把陈小春的《神啊救救我吧》听了一百遍。有天,亲戚小孩把奥特曼摆到了家里的神龛上,对着光之使者磕头跪拜,可爱之外让人哭笑不得,那时我正敲着js代码写一个页面特效... 后来我成了一名前端工程师,写代码的时候,眼里是经常会有光的。我觉得我在写前端的时候,并不是在写代码,而是一位导演,html是我的演员,css是化妆师, js是动作导演或特效师,将自己的创意代码展示给用户。

时光穿梭,经历了全栈、微服务、云开发等技术变革后,来到了AI的时代。作为一名前端工程师,应该怎么学习,跟Boss谈"心"呢?

在看了一些AI算法和吴恩达的课程后,我又想起了那尊被小孩摆在神龛上的奥特曼。我的AI学习是要有光的,AIGC前端方面的东西才是我想要搞明白的。在经过一些摸索后,发现Hugging Face的transformers可以让前端更快速找到AI任务快感,LangChain可以方便做出AI应用,Flowise这种AI低代码实现让枯燥的AI流程一看便知,于是,为了明年在AIGC前端方向上好跟Boss谈,我计划写些文章,记录自己学习的过程。应该有挺多前端朋友,也跟我一样吧,那就来帮我指出一些问题吧....

何为Hugging Face?

Hugging Face 仿佛就是那一道从奥特曼手里射出的光,让我从NLP的理论学习痛苦中抽离出来,快速消灭了一些NLP"怪兽"。

Hugging Face 是目前最火的NPL开源社区,里面有着丰富的开源大模型和数据集,简化了开发流程,提供了类似github page一样的在线项目托管工具,非常适合前端AIGC新人来玩,发布项目。

核心产品Transformers库

Hugging Face的核心产品是Transformers库,它提供了一系列预训练模型和API,用于解决各种NLP任务,如文本分类、命名实体识别、机器翻译等。Transformers库还提供了一系列工具和API,用于简化模型训练和部署的流程。

基于我的渣渣电脑,建议就直接上手 Google Colab 来个transformers初体验。

pipeline 一个情感分析任务

常见的NLP任务有文本分类(Text Classification)、命名实体识别(Named Entity Recognition)、机器翻译(Machine Translation)、问答系统(Question Answering)、序列标注(Sequence Labeling)、文本生成(Text Generation)等,接下来的代码就是文本分类里的情感分析任务,在transfomers里,我们用pipeline来安排一个NPL任务。

python 复制代码
!pip install transformers   # 安装huggingface开源的 transformers库
from transformers import pipeline # pipeline是 transfromers的模块,专业安排各种NLP。 

classifier = pipeline('sentiment-analysis') #安排了情感分析任务
result = classifier('I love you')[0] #返回情感分析结果 
print(f"label: {result['label']}, with score: {round(result['score'], 4)}")

输出结果为: label: POSITIVE, with score: 0.9999 0.9999的积极, 当然,写代码的尽头是为了爱....

自此,我们就利用Hugging Face 的 transformers库完成了第一个情感分析任务,我这位前端小学生又要跟着奥特曼飞向AIGC的星系了。

pipeline 一个机器翻译的例子

python 复制代码
from transformers import pipeline

translator = pipeline("translation_en_to_fr")
result = translator("Hugging Face is a technology company based in New York and Paris", max_length=40)
print(result[0]['translation_text'])

输出结果为: Hugging Face est une entreprise technologique basée à New York et à Paris.

pipeline 一个问答系统的例子

python 复制代码
from transformers import pipeline

question_answerer = pipeline("question-answering")
context = r"""
Machine learning (ML) is the study of computer algorithms that improve automatically through experience. 
It is seen as a subset of artificial intelligence. Machine learning algorithms build a model based on 
sample data, known as "training data", in order to make predictions or decisions without being explicitly 
programmed to do so. Machine learning algorithms are used in a variety of applications, such as email 
filtering and computer vision, where it is difficult or infeasible to develop a conventional algorithm 
for effectively performing the task.
"""
result = question_answerer(question="What is machine learning?", context=context)
print(f"Answer: {result['answer']}")

输出结果为: the study of computer algorithms that improve automatically through experience

总结

以上我们介绍了Hugging Face 的 transformers库,轻松上手了一些常见NLP任务。大家可以到Pipelines (huggingface.co)看更多NLP任务, 亲手把玩。

思考题

请把上面代码里的 "I love you" 改成 "遥遥领先",看看结果, 有什么问题? 期待评论区有你的代码实现。 下一集 transformers model 来解决这个问题。

相关推荐
开心工作室_kaic几秒前
ssm102“魅力”繁峙宣传网站的设计与实现+vue(论文+源码)_kaic
前端·javascript·vue.js
放逐者-保持本心,方可放逐几秒前
vue3 中那些常用 靠copy 的内置函数
前端·javascript·vue.js·前端框架
IT古董1 分钟前
【前端】vue 如何完全销毁一个组件
前端·javascript·vue.js
春末的南方城市2 分钟前
开源音乐分离器Audio Decomposition:可实现盲源音频分离,无需外部乐器分离库,从头开始制作。将音乐转换为五线谱的程序
人工智能·计算机视觉·aigc·音视频
Henry_Wu0013 分钟前
从swagger直接转 vue的api
前端·javascript·vue.js
SameX13 分钟前
初识 HarmonyOS Next 的分布式管理:设备发现与认证
前端·harmonyos
矢量赛奇24 分钟前
比ChatGPT更酷的AI工具
人工智能·ai·ai写作·视频
KuaFuAI32 分钟前
微软推出的AI无代码编程微应用平台GitHub Spark和国产AI原生无代码工具CodeFlying比到底咋样?
人工智能·github·aigc·ai编程·codeflying·github spark·自然语言开发软件
M_emory_40 分钟前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
Make_magic41 分钟前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉