# Hugging Face Spaces 部署指南 ## 前置准备 1. 注册 [Hugging Face](https://huggingface.co/) 账号 2. 获取 YouTube API Key(可选,用于真实数据) 3. 获取 TikHub API Key(可选,用于 TikTok 数据) ## 部署步骤 ### 1. 创建 Hugging Face Space 1. 登录 Hugging Face 2. 点击右上角头像 → "New Space" 3. 填写信息: - **Space name**: `youtube-tiktok-analyzer`(或你喜欢的名字) - **License**: MIT - **SDK**: 选择 **Docker** - **Hardware**: CPU basic (免费) 或 CPU upgrade 4. 点击 "Create Space" ### 2. 上传代码 #### 方法 A: 使用 Git(推荐) ```bash # 克隆你的 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: 使用网页上传 1. 进入你的 Space 页面 2. 点击 "Files" 标签 3. 点击 "Add file" → "Upload files" 4. 上传以下文件/文件夹: - `backend/` 文件夹 - `frontend/` 文件夹 - `Dockerfile` - `README.md` - `.dockerignore` ### 3. 配置 Secrets(环境变量) 1. 进入你的 Space 页面 2. 点击 "Settings" 标签 3. 滚动到 "Repository secrets" 部分 4. 添加以下 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: 构建失败怎么办? 1. 查看 "Logs" 标签中的错误信息 2. 常见原因: - `requirements.txt` 中缺少依赖 - `package.json` 中缺少依赖 - Dockerfile 语法错误 ### Q: 应用启动后没有数据? 1. 检查是否配置了 API Keys 2. 如果没有配置,应用会自动生成演示数据 3. 点击 "数据采集" 页面手动触发数据更新 ### Q: 如何更新代码? ```bash # 修改代码后 git add . git commit -m "Update code" git push ``` Hugging Face 会自动重新构建和部署。 ### Q: 如何查看日志? 1. 进入 Space 页面 2. 点击 "Logs" 标签 3. 可以看到实时日志输出 ## 资源限制 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 ``` ## 技术支持 如有问题,请访问: - [Hugging Face 文档](https://huggingface.co/docs/hub/spaces) - [项目 GitHub Issues](如有)