admin管理员组

文章数量:1579404

目录

一、HuggingFace. 2

1.1定义... 2

1.2活跃度... 2

1.3 工具集... 2

二、HuggingFace工具介绍... 3

2.1 Pipelines. 3

2.1.1定义... 3

2.1.2常见参数... 3

2.2、AutoClass. 4

2.2.1定义... 4

2.2.2 支持模型架构列表... 4

三、HuggingFace案例介绍... 4

3.1基于Piplelines的语音识别案例... 4

3.2基于AutoClass的大模型对话交互案例... 5

3.3基于Langchain的大模型RAG检索增强案例... 5

3.3.1 流程介绍... 5

3.3.1 案例分享... 6

3.4基于Langchain的大模型智能体Action Agent案例... 8

3.4.1 Action Agent参数... 8

3.4.2 Action Agent类型... 8

3.4.3 Rect框架... 9

3.4.4 PromptTemplate类型... 9

3.4.5 案例分享... 10

3.4.6 常见问题... 11

3.5基于Langchain的大模型智能体PlanAndExecute Agent案例... 12

3.5.1 Action Agent对比PlanAndExecute Agent 12

3.5.2 案例分享... 12

3.6基于ChatGLM-6B进行LORA微调案例... 14

3.6.1 LORA定义... 14

3.6.2 案例分享... 14

四、参考链接... 15

附录... 15

1如何自定义加载本地大模型... 15

一、HuggingFace

1.1定义

一家专注于自然语言处理(NLP)、人工智能和分布式系统的创业公司,创立于2016年。最早是主营业务是做闲聊机器人,2018年 Bert 发布之后,他们贡献了一个基于 Pytorch 的 Bert 预训练模型,即 pytorch-pretrained-bert,大受欢迎,进而将重心转向维护 NLP开源社区。

HuggingFace整合了他们的贡献的NLP领域的预训练模型,发布了Transformers库。Transformers 提供了数以千计的预训练模型(包括我们熟知的Bert、GPT、GPT-2、XLM等),支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨让最先进的 NLP 技术人人易用。

1.2活跃度

HuggingFace的模型仓库已经共享了超过60000个模型,数据集仓库已经共享了超过8000个数据集,基于开源共享的精神,这些资源的使用都是完全免费的。HuggingFace代码库也在快速更新中,HuggingFace开始时以自然语言处理任务为重点,所以HuggingFace大多数的模型和数据集也是自然语言处理方向的,但图像和语音的功能模型正在快速更新中,相信未来逐渐会把图像和语音的功能完善并标准化,如同自然语言处理一样。

1.3 工具集

HuggingFace把AI项目的研发大致分为以下几部分,如图1-1所示。

图1-1

针对流程中的各个节点,HuggingFace都提供了很多工具类,能够帮助研发人员快速地实施。HuggingFace提供的工具集如图1-2所示。

图1-2

二、HuggingFace工具介绍

2.1 Pipelines

2.1.1定义

pipeline是一个设计用来封装Transformer库中大部分复杂代码的对象,它提供了一个简单的API接口,用于执行各种任务,如命名实体识别(NER)、情感分析等。使用pipeline,用户可以轻松地将文本输入传递给模型,并获得相应的输出结果。这个过程包括三个主要步骤:

  1. 文本预处理:将文本转换成模型可以理解的格式。
  2. 模型预测:预处理后的输入被送入模型进行推理。
  3. 后处理:模型的预测结果经过后处理,以便赋予具体的业务含义。

2.1.2常见参数

参数名称

参数含义

示例列表

task

The task defining which pipeline will be returned.

model

The model that will be used by the pipeline to make predictions. This can be a model identifier or an actual instance of a pretrained model inheriting from PreTrainedModel (for PyTorch) or TFPreTrainedModel (for TensorFlow).

tokenizer (分词器)

The tokenizer that will be used by the pipeline to encode data for the model. This can be a model identifier or an actual pretrained tokenizer inheriting from PreTrainedTokenizer.

feature_extractor (特征提取器)

The feature extractor that will be used by the pipeline to encode data for the model. This can be a model identifier or an actual pretrained feature extractor inheriting from PreTrainedFeatureExtractor.

2.2、AutoClass

2.2.1定义

由于存在许多不同的Transformer架构,因此为您的checkpoint创建一个可用架构可能会具有挑战性。通过AutoClass可以自动推断并从给定的checkpoint加载正确的架构, 这也是Transformers易于使用、简单且灵活核心规则的重要一部分。

2.2.2 支持模型架构列表

模型类型

AutoClass名称

NLP任务

AutoTokenizer

视觉任务

AutoImageProcessor

音频任务

本文标签: 模型快速HuggingfaceLangChain