当前位置: 首页 > news >正文

2025-08-04-零成本搭建 AI 应用!Hugging Face 免费 CPU 资源实战指南

1 什么是huggingface

Hugging Face 是一个专注于人工智能(尤其是自然语言处理,NLP)的开源平台和社区,它为开发者和研究人员提供了一个集模型、数据集、工具和资源于一体的生态系统。Hugging Face 的核心产品是 Transformers 库,这是一个用 Python 编写的开源库,包含了大量预训练的 NLP 模型,支持多种深度学习框架(如 PyTorch、TensorFlow、JAX)和硬件平台(如 CPU、GPU、TPU)。此外,Hugging Face 还提供了一个在线平台 HuggingFace Hub,用户可以在上面发布、共享和探索预训练模型、数据集和演示文件。

简单来说就是huggingface是全球最大的模型托管平台厂商。

image-20250804101253544

2.huggingface免费资源

Hugging Face 的 Spaces 平台为用户提供了一个免费的 CPU 空间,适用于部署和展示小型演示和应用程序。根据提供的信息,免费 CPU 空间的默认配置是 2 个 vCPU 和 16GB 内存,并且提供 50GB 的临时磁盘空间 。这种配置允许用户在不承担初始成本的情况下运行简单的 AI 模型或 Web 应用程序。

这样配置的服务器资源在云服务器厂商大概多少钱呢?我们看一下

image-20250804161906096

image-20250804162125784

image-20250804162624518

粗略的估算一下这样的配置1年至少也要1000多块钱。通过下面的方案我们这钱就省了,哈哈是不是挺爽的。下面介绍下如何实现这个免费资源。

登录一下huggingface。(没有账号的可以自己注册一个)

image-20250804101528321

​ 我们点击space进入创空间,然后点击new space 可以创建一个新的space,我们填写space name, Short description,License

创建space

image-20250804101754751

​ 在Space SDK 这里我们有3个人选项,一个是基于gradio 模版,一个是基于docker模版,一个static(静态页面)

image-20250804101938031

​ docker

image-20250804102009842

image-20250804102035839

​ 服务器资源这里我们可以选择2CPU 16GB free 免费的资源

image-20250804114627064

​ 服务这里我们选择public 如果调试的话可以考虑使用private

image-20250804114731623

上面的配置选择完成后,我们就可以点击“create space” 来创建空间了。

创建完成后我们就可以看到 一个空项目

image-20250804115206782

提交代码

创建完成后我们把这个空项目下载到本地,使用下面的命令执行

git clone https://<你的账号>:<你的访问令牌>@huggingface.co/spaces/zhouhui/pdftranslate_web

image-20250804115406695

下载完成后我们把需要在huggingface 部署代码部署到当前代码目录结构下。

image-20250804115550381

​ 使用git 命令提交代码。 这里需要注意考虑代码安全性,huggingface 代码的提交需要使用到 使用Access Tokens 我们可以在huggingface 管理账号创建

image-20250804115844607

我们使用vscode 等开发工具提交代码

image-20250804120106591

构建程序包

提交后push 代码仓库,huggingface 会自动构建

image-20250804134657134

构建完成后我们就可以访问镜像包里面包含的jupyter notebook 页面了

image-20250804142157050

使用jupyter notebook

我们输入访问jupyter token (页面访问账号),这样我们就进入jupyter notebook 开发代码界面了。

image-20250804142707934

后面我们就可以借助这个管理页面操控容器内部部署我们自己的应用程序了。

应用程序发布

上面容器镜像里面我们包含了一个叫做pdftranslate_web的项目。项目的源码我已经开源的 地址是:https://github.com/wwwzhouhui/pdftranslate_web

我们点jupyter notebook terminal终端进入 shell 窗口中

image-20250804143023706

进入容器内部输入ls -lh查看代码目录

image-20250804143213171

代码目录不在左边区域,我们复制到/data 目录下。

cp -rf pdftranslate_web/ /data

image-20250804144822597

这样我们就可以通过命令行启动程序了。

cd  /data/pdftranslate_web/
# 安装依赖包
uv  sync

image-20250804145028825

uv run python scripts/run_server.py --host 0.0.0.0 --port 8000
uv run python scripts/run_gradio.py --server-url http://localhost:8000 --port 7861

image-20250804145631012

image-20250804145811514

通过上面的方式我们就在容器内部启动了一个后端接口和一个基于gradio 页面了。

3.容器的拨测

目前对于使用免费 CPU 的 Spaces,huggingface其默认执行时间可能受到平台策略的限制。例如,某些 Spaces 在未使用时会进入“睡眠”状态,并且在一段时间内没有活动后会被自动暂停。根据,Hugging Face 的免费空间每 48 小时如果没有活动就会自动停止服务。

也就是说 48个小时没有请求化我们的容器就进入睡眠状态,这样时候部署在容器的内部程序就终止了,从而达不到免费永久使用的目的。

我们可以借助另外一些脚本对这个页面进行访问,从而使其容器达到保活状态。我们可以借助一个开源项目https://github.com/louislam/uptime-kuma

来实现在线站点的拨测,从而达到保活目的。

uptime-kuma部署

找一台服务器我这里就拿我的火山云服务器部署

docker run -d --restart=always -p 8009:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

image-20250804152925279

监控页面添加

我们访问刚才添加的uptime-kuma系统http://14.103.204.132:8011

image-20250804154000170

输入账号和密码进入后台管理

image-20250804154128395

我们把上面huggingface 部署的jupyter notebook 地址添加实现监控。

ClawCloud部署

没有服务器的小伙伴也可以借助ClawCloud来实现部署,这爪子云之前给大家介绍过 可以实现每个月5美金的白嫖。

不熟悉的小伙伴可以看我之前的文章《01-N8N教程-手把手教你搭建 N8N 自动化工作流:从安装到云部署全流程实战

image-20250804155815247

部署完成后我们就可以访问地址https://ayhdatvyuhmf.ap-southeast-1.clawcloudrun.com

4.说明

有的小伙伴会提出问题,上面的jupyter notebook 能运行程序,但是如果我想对外接口服务或者WEB访问怎么办?呵呵 这个问题嘛,我就不回答了,聪明小伙伴应该可以想到如何操作。由于篇幅有限,这里就不展开了。另外这里也不属于正常软件开发范围,文章写出来也不定能发的出去。感兴趣的小伙伴可以私下交流。

5.总结

今天主要带大家了解了如何利用 Hugging Face 的免费 CPU 服务器资源,从创建 Space 空间、提交部署代码,到通过 Jupyter Notebook 运行应用程序,再到借助 uptime-kuma 或 ClawCloud 实现容器保活,完整展示了免费利用 Hugging Face 资源部署应用的全流程。

总的来说,通过此次实践,我们充分体验到了 Hugging Face 平台在资源提供和应用部署方面的便利性。它为开发者提供了免费的 CPU 资源支持,简化了应用部署的流程,让我们能以极低的成本实现应用的搭建与运行,为小型演示、工具开发等场景提供了实用且经济的解决方案。

感兴趣的小伙伴可以按照本文步骤去尝试利用 Hugging Face 的免费资源,部署自己的应用程序,体验低成本开发的便捷。今天的分享就到这里结束了,我们下一篇文章见。

http://www.lryc.cn/news/609672.html

相关文章:

  • Android Telephony 框架与横向支撑层
  • 如何选择一个容易被搜索引擎发现的域名?
  • 计算机网络:详解网络地址的计算步骤
  • 2.4- WPF中非 UI 线程上安全地更新 UI 控件方法
  • JVM学习日记(十六)Day16——性能监控与调优(三)
  • SpringBoot格式化数据库表格字段时间戳
  • vcpkg在vs/vscode下用法
  • 子词分词器(Byte Pair Encoding + WordPiece)
  • 深入解析SmolVLA:VLM与动作专家间的注意力机制交互
  • 深入剖析通用目标跟踪:一项综述
  • [自动化Adapt] 父子事件| 冗余过滤 | SQLite | SQLAlchemy | 会话工厂 | Alembic
  • RLCraft开服踩坑记录
  • 补:《每日AI-人工智能-编程日报》--2025年7月30日
  • AWS 可靠性工程深度实践: 从 Well-Architected 到“零失误”VPC 落地
  • 使用AWS for PHP SDK实现Minio文件上传
  • 音视频学习笔记
  • vue3入门-概览讲解
  • 使用 IntelliJ IDEA + Spring JdbcTemplate 操作 MySQL 指南
  • 基于Java的AI/机器学习库(Smile、Weka、DeepLearning4J)的实用
  • Go语言流式输出技术实现-服务器推送事件(Server-Sent Events, SSE)
  • 【银河麒麟服务器系统】自定义ISO镜像更新内核版本
  • Linux 文件与目录属性管理总结
  • Android 区块链 + CleanArchitecture + MVI 架构实践
  • IDA9.1使用技巧(安装、中文字符串显示、IDA MCP服务器详细部署和MCP API函数修改开发经验)
  • Android工程命令行打包并自动生成签名Apk
  • 服务器突然之间特别卡,什么原因?
  • ffmpeg下载windows教程
  • clickhouse 中文数据的正则匹配
  • 随笔之 ClickHouse 列式分析数据库安装注意事项及基准测试
  • 人大金仓数据库常见问题(持续更新)