huggingface基础使用指南

本文档为自留学习型文档,仅供个人使用,主要环境是nodejs

简单介绍

  • huggingface是全球开源模型网站,需要魔法访问,模型运行环境是python和nodejs
  • 国内平替是【魔塔社区】,但是魔塔社区起步较晚,模型数量相对偏少,模型运行环境是python,nodejs较少

使用说明

  • 国内下载模型缓慢,建议使用国内镜像git clone克隆模型,然后访问本地模型
  • 介绍部分看别的文档,我直接说怎么用
    • 搜索要用的模型,然后模型标签有【Transformers.js】【ONNX】那么大概率就是可以在node环境中使用

    • 点开,默认显示Model Card(readme),这里有基础介绍和使用指南,如截图1,就写了需要下载 @huggingface/transformers,然后引入直接用

    • 第二个Files and versions,显示模型版本

    • 第三个Communit,是社区,也就是这个模型使用反馈的问题,和github的issue一样

    • 第四个右边三个点,里面有克隆地址,把域名换成国内镜像站,就可以快速克隆了

    • use this model,是使用这个模型,会给出在不同环境下的使用案例,Transformers.js是node环境下的使用案例

    • 在Model Card下方,有Model tree,里面的Quantized可以找到当前模型的量化,也许这个模型没有nodejs环境,但是关联的量化里有

    • 另外,Xenova用户对大量的模型进行了nodejs量化,如果实在找不到,可以去Xenova的首页,在model搜索碰碰运气,或者尝试自己将python处理为nodejs

    • 下面给出一个具体的demo

	/*
 * Hugging Face Transformers 基础案例:文本情感分析
 * 安装依赖:npm install @huggingface/transformers
 */

const { pipeline } = require('@huggingface/transformers');
const fs = require('fs');
const path = require('path');

// 最小化情感分析实现
async function main() {
  try {
    console.log('本地模型情感分析测试\n');


    // 1. 配置本地模型路径(替换为你的实际路径)
    const localModelPath = path.join(__dirname, './local-models/distilbert-base-uncased-finetuned-sst-2-english');

    // 检查模型目录是否存在
    if (!fs.existsSync(localModelPath)) {
      throw new Error(`模型目录不存在: ${localModelPath}`);
    }

    // 3. 加载本地模型
    console.log(`从本地加载模型: ${localModelPath}`);
    const analyzer = await pipeline(
        'sentiment-analysis',
        localModelPath
    );

    // 4. 测试
    // const text = "I love using Hugging Face Transformers! It's amazing.";
    // const text = "I hate waiting for models! It's so frustrating.";
    const text = "The relationship had been important to me and its loss left me feeling sad and empt.";
    const result = await analyzer(text);

    console.log(`文本: ${text}`);
    console.log(`结果: ${result[0].label} (可信度: ${(result[0].score * 100).toFixed(1)}%)`);

  } catch (error) {
    console.error('错误:', error.message);
  }
}

main();

/*
PS D:\project\vue\npm-release\rule-process> node D:\project\vue\npm-release\rule-process\examples\ruleDir\demo.js
本地模型情感分析测试

从本地加载模型: D:\project\vue\npm-release\rule-process\examples\ruleDir\local-models\distilbert-base-uncased-finetuned-sst-2-english
dtype not specified for "model". Using the default dtype (fp32) for this device (cpu).
文本: The relationship had been important to me and its loss left me feeling sad and empt.
 结果: NEGATIVE (可信度: 97.8%)
*/

对使用说明的配图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

### Hugging Face 使用教程 对于希望深入了解如何使用Hugging Face进行自然语言处理任务的开发者而言,官方提供了详尽的帮助材料。Hugging Face官方文档不仅涵盖了安装指南、API介绍以及常见问题解答等内容,还包含了丰富的实例代码片段,有助于使用者快速上手并掌握核心功能[^1]。 #### 安装与配置 为了开始使用Hugging Face库,需先通过pip命令完成Python包的安装: ```bash pip install transformers datasets ``` 这一步骤确保了环境中已具备运行所需的基础组件和支持函数。 #### 数据集加载与预览 利用`datasets`模块可以从在线资源获取多种公开数据集合,并支持本地文件读取操作。下面展示了一个简单的例子来说明怎样加载一个内置的数据集并查看其结构: ```python from datasets import load_dataset dataset = load_dataset('imdb') print(dataset['train'][0]) ``` 上述脚本会下载IMDB评论情感分类数据集,并打印训练集中第一条记录的内容。 #### 模型初始化与推理 借助于`transformers`库中的类定义,能够轻松创建基于Transformer架构的语言模型对象。这里给出一段用于执行文本生成任务的小程序段落作为示范: ```python from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer model_name = "distilgpt2" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) text_generator = pipeline("text-generation", model=model, tokenizer=tokenizer) result = text_generator("Artificial intelligence is a wonderful field that") for res in result: print(res['generated_text']) ``` 此部分展示了如何选用预训练好的DistilGPT-2模型来进行对话式的文字延续创作活动。 需要注意的是,在实际项目实施过程中应当参照具体场景下的最佳实践建议,比如性能优化技巧或是安全合规方面的考量事项等[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值