怎么使用huggingface.co上的模型,自动和人工两种方式,以uer/sbert-base-chinese-nli为列子

部署运行你感兴趣的模型镜像

要使用 Hugging Face 上的模型,通常有两种方式:自动方式手动方式。以 uer/sbert-base-chinese-nli 模型为例,详细解释如何进行这两种方式的模型下载和使用。

1. 自动方式:通过 Hugging Face Hub 自动下载并使用模型

Hugging Face 提供了 transformerssentence-transformers 库,这些库可以自动从 Hugging Face Hub 下载模型,并在本地缓存模型文件,后续可以直接使用这些缓存文件。

步骤一:安装依赖

首先,需要安装必要的 Python 库:

pip install sentence-transformers transformers
步骤二:使用 SentenceTransformer 自动加载模型

在你的项目中,可以使用 SentenceTransformer 直接从 Hugging Face 下载并加载 uer/sbert-base-chinese-nli 模型。模型会被自动下载到本地,之后再次使用时会从本地缓存加载。

from sentence_transformers import SentenceTransformer

# 自动从 Hugging Face 下载并加载模型
model = SentenceTransformer('uer/sbert-base-chinese-nli')

# 向量化文本
query = "查询YS的工单信息"
query_vector = model.encode(query)

# 输出向量
print(query_vector)

注意事项:

  • 这段代码会自动访问 Hugging Face 并下载模型。如果本地缓存中已经存在该模型,它会直接从缓存加载,而无需再次下载。
  • 模型下载的文件会存储在本地的缓存目录,通常位于 ~/.cache/huggingface/transformers/ 或类似路径。
步骤三:在 FastAPI 中使用自动下载的模型

你可以将此功能集成到 FastAPI 项目中。例如:

from fastapi import FastAPI
from sentence_transformers import SentenceTransformer

app = FastAPI()

# 加载模型
model = SentenceTransformer('uer/sbert-base-chinese-nli')

@app.post("/embed/")
async def embed_query(query: str):
    # 将查询向量化
    query_vector = model.encode(query)
    return {"query": query, "vector": query_vector.tolist()}

2. 手动方式:手动下载模型并离线使用

在无法联网或网络不稳定的环境中,你可以选择手动下载模型文件,并手动加载这些文件。

步骤一:访问 Hugging Face 模型页面
  1. 打开 uer/sbert-base-chinese-nli 模型页面
  2. 下载该页面上的所有文件,包括:
    • pytorch_model.bin:模型权重文件
    • config.json:模型配置文件
    • tokenizer.jsontokenizer_config.json:分词器文件
步骤二:将模型文件存放在本地

将下载的文件放在你项目的某个文件夹中,例如 ./models/uer-sbert-base-chinese-nli/

步骤三:使用本地路径加载模型

你可以指定本地路径来加载模型文件,而不是让 SentenceTransformer 自动从 Hugging Face 下载。

from sentence_transformers import SentenceTransformer

# 使用本地路径加载模型
model = SentenceTransformer('./models/uer-sbert-base-chinese-nli')

# 向量化文本
query = "查询YS的工单信息"
query_vector = model.encode(query)

# 输出向量
print(query_vector)
手动方式的优势:
  • 适用于不能访问互联网或访问 Hugging Face 服务器不稳定的环境。
  • 一次下载后可以在不同的系统或机器之间手动传输模型文件。
步骤四:在 FastAPI 中使用手动下载的模型
from fastapi import FastAPI
from sentence_transformers import SentenceTransformer

app = FastAPI()

# 使用本地路径加载模型
model = SentenceTransformer('./models/uer-sbert-base-chinese-nli')

@app.post("/embed/")
async def embed_query(query: str):
    # 将查询向量化
    query_vector = model.encode(query)
    return {"query": query, "vector": query_vector.tolist()}

3. 总结:自动和手动方式的区别

自动方式
  • 优点
    • 方便快捷,模型会自动下载并缓存。
    • 只需提供模型名称,库会自动从 Hugging Face 获取模型。
  • 缺点
    • 依赖于稳定的网络连接,无法离线使用。
    • 在多台机器上使用时,需要每台机器都能访问 Hugging Face。
手动方式
  • 优点
    • 可以在无网络连接的环境中使用。
    • 模型文件可以在多台机器间共享,避免重复下载。
  • 缺点
    • 需要手动管理模型文件,下载和加载相对麻烦。

根据你的使用环境和需求,选择自动或手动的方式。如果在网络环境稳定的情况下,自动方式更为简便。如果需要在离线或网络受限的环境中使用,手动下载并管理模型则是更好的选择。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值