Hugging Face Spaces 部署指南
前置准备
- 注册 Hugging Face 账号
- 获取 YouTube API Key(可选,用于真实数据)
- 获取 TikHub API Key(可选,用于 TikTok 数据)
部署步骤
1. 创建 Hugging Face Space
- 登录 Hugging Face
- 点击右上角头像 → "New Space"
- 填写信息:
- Space name:
youtube-tiktok-analyzer(或你喜欢的名字) - License: MIT
- SDK: 选择 Docker
- Hardware: CPU basic (免费) 或 CPU upgrade
- Space name:
- 点击 "Create Space"
2. 上传代码
方法 A: 使用 Git(推荐)
# 克隆你的 Space
git clone https://huggingface.co/spaces/<你的用户名>/youtube-tiktok-analyzer
# 进入目录
cd youtube-tiktok-analyzer
# 复制项目文件(排除不需要的文件)
# 将项目中的以下文件/文件夹复制到此目录:
# - backend/
# - frontend/
# - Dockerfile
# - README.md
# - .dockerignore
# 添加所有文件
git add .
# 提交
git commit -m "Initial deployment"
# 推送到 Hugging Face
git push
方法 B: 使用网页上传
- 进入你的 Space 页面
- 点击 "Files" 标签
- 点击 "Add file" → "Upload files"
- 上传以下文件/文件夹:
backend/文件夹frontend/文件夹DockerfileREADME.md.dockerignore
3. 配置 Secrets(环境变量)
- 进入你的 Space 页面
- 点击 "Settings" 标签
- 滚动到 "Repository secrets" 部分
- 添加以下 secrets:
| Name | Value | 说明 |
|---|---|---|
YOUTUBE_API_KEY |
AIzaSy... |
YouTube Data API Key |
TIKHUB_API_KEY |
orBSPO... |
TikHub API Key |
注意:即使不添加 API Key,应用也会使用演示数据运行。
4. 等待构建完成
- 上传代码后,Hugging Face 会自动开始构建 Docker 镜像
- 构建过程大约需要 5-10 分钟
- 可以在 "Logs" 标签查看构建进度
5. 访问应用
构建完成后,访问:
https://huggingface.co/spaces/<你的用户名>/youtube-tiktok-analyzer
常见问题
Q: 构建失败怎么办?
- 查看 "Logs" 标签中的错误信息
- 常见原因:
requirements.txt中缺少依赖package.json中缺少依赖- Dockerfile 语法错误
Q: 应用启动后没有数据?
- 检查是否配置了 API Keys
- 如果没有配置,应用会自动生成演示数据
- 点击 "数据采集" 页面手动触发数据更新
Q: 如何更新代码?
# 修改代码后
git add .
git commit -m "Update code"
git push
Hugging Face 会自动重新构建和部署。
Q: 如何查看日志?
- 进入 Space 页面
- 点击 "Logs" 标签
- 可以看到实时日志输出
资源限制
Hugging Face Spaces 免费版限制:
| 资源 | 限制 |
|---|---|
| CPU | 2 vCPU |
| 内存 | 16 GB |
| 存储 | 临时存储(重启后清空) |
| 带宽 | 有限制 |
注意:由于使用临时存储,数据库会在重启后清空。如需持久化数据,考虑使用外部数据库服务。
升级到付费版
如果需要更好的性能和持久化存储,可以升级到:
- CPU Upgrade: $0.60/小时
- GPU: $0.60-$2.50/小时
- Persistent Storage: 额外费用
项目结构
youtube-tiktok-analyzer/
├── backend/
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── crawlers/ # 爬虫模块
│ │ ├── analyzers/ # 分析模块
│ │ ├── demo/ # 演示数据
│ │ ├── models/ # 数据模型
│ │ ├── scheduler/ # 定时任务
│ │ └── main.py # 入口文件
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── api/ # API 客户端
│ │ └── ...
│ ├── package.json
│ └── vite.config.js
├── Dockerfile
├── README.md
└── .dockerignore
技术支持
如有问题,请访问: