Hugging Face Spaces 是一个 免费且开箱即用 的 AI 应用托管平台,可以直接部署 机器学习模型、数据分析工具、Web 应用,支持 Gradio、Streamlit、Docker、FastAPI 等框架。
1. Hugging Face Spaces 的优势
✅ 零成本部署:免费托管 ML 应用,无需配置服务器
✅ 支持多个框架:Gradio、Streamlit、Docker、FastAPI、Flask 等
✅ 易于分享:可以生成一个在线 URL,方便演示和协作
✅ 与 Hugging Face 生态兼容:可直接加载 transformers
模型和 datasets
数据集
✅ GPU/CPU 选择:免费提供 CPU,付费可用 T4/A10G GPU 加速
2. 如何创建 Hugging Face Space
(1)注册 Hugging Face 账号
👉 访问 Hugging Face 官网 并注册账号。
(2)进入 Spaces
👉 访问 Hugging Face Spaces,点击 "Create a new Space"。
(3)填写 Space 详情
-
Space Name:应用的名称
-
Visibility:选择 Public(公开) 或 Private(私有)
-
SDK:选择 Gradio / Streamlit / Docker / Static(一般推荐 Gradio)
-
Hardware:选择 CPU / GPU(免费版支持 CPU,付费可用 GPU)
-
点击 "Create Space" 创建应用
3. 使用 Gradio 部署 AI 应用
Gradio 是一个 轻量级 Python Web UI 框架,适用于 ML/DL 模型的可视化,Hugging Face 默认支持 Gradio。
(1)安装 Gradio
pip install gradio
(2)创建 app.py
在 app.py
中编写 Gradio 应用:
import gradio as gr
from transformers import pipeline# 加载 Hugging Face 预训练模型(情感分析)
classifier = pipeline("sentiment-analysis")# 定义 Gradio 预测函数
def predict_sentiment(text):result = classifier(text)return result[0]["label"]# 创建 Gradio 界面
iface = gr.Interface(fn=predict_sentiment, inputs="text", outputs="text",title="情感分析应用",description="输入一段文本,分析其情感(积极/消极)。"
)# 启动应用
iface.launch()
(3)提交代码
在 Space 根目录下创建 requirements.txt
,写入:
gradio
transformers
然后,使用 Git 提交代码:
git add .
git commit -m "Initial commit"
git push
几分钟后,Hugging Face Spaces 会自动运行应用,并生成一个 在线 URL!
4. 使用 Streamlit 部署 AI 应用
Streamlit 适用于 数据可视化和交互式 AI 应用。
(1)安装 Streamlit
pip install streamlit
(2)创建 app.py
import streamlit as st
from transformers import pipelinest.title("情感分析应用")
st.write("输入一段文本,分析其情感(积极/消极)。")# 加载模型
classifier = pipeline("sentiment-analysis")# 用户输入
text = st.text_area("输入文本:")# 预测
if st.button("分析"):result = classifier(text)st.write(f"情感分类:{result[0]['label']}")
(3)提交代码
在 requirements.txt
添加:
streamlit
transformers
然后推送代码:
git add .
git commit -m "Add Streamlit app"
git push
几分钟后,应用即可在线运行!
5. 使用 Docker 部署自定义应用
如果需要 自定义环境,可以使用 Docker。
(1)创建 Dockerfile
FROM python:3.8WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txtCOPY app.py /app/
CMD ["python", "app.py"]
(2)提交 Docker 应用
将 Dockerfile
、app.py
、requirements.txt
推送到 Space,即可自动部署。
6. 在 Hugging Face Spaces 启用 GPU
-
默认 CPU 免费
-
GPU 需要 付费订阅 Pro/Enterprise
-
GPU 选项:
-
T4(16GB)👉 适合中等模型,如 BERT
-
A10G(24GB)👉 适合大型模型,如 LLaMA
-
A100(80GB)👉 适合超大模型,如 GPT-3.5
-
✨ 使用 GPU 方法: 在 app.py
里将模型加载到 GPU:
import torch
from transformers import AutoModelForSequenceClassificationmodel = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased").to("cuda")
7. 常见问题
Q1: 为什么应用没有启动?
✅ 检查 requirements.txt
是否正确
✅ 确保 app.py
代码无误
✅ Space 部署时 会自动安装依赖,可能需要几分钟
Q2: 如何访问 API?
部署后,可以用 requests
访问:
import requestsurl = "https://your-space-name.hf.space/run"
data = {"text": "I love Hugging Face!"}
response = requests.post(url, json=data)
print(response.json())
Q3: 如何私有化 Space?
创建 Space 时选择 "Private",只有授权用户可以访问。
总结
✔ Hugging Face Spaces 提供 免费 的 AI 应用托管
✔ 支持 Gradio / Streamlit / Docker,适用于不同应用场景
✔ 通过 git push
自动部署,几分钟即可生成 Web 应用
✔ 免费 CPU,付费 GPU(T4/A10G/A100),可运行大模型
🚀 Hugging Face Spaces 让 AI 应用部署更简单,适合企业和个人开发者快速上线 AI 解决方案!