Wellfound-AI / README.md
Zoey7Web's picture
Upload 26 files
67c9c05 verified
|
Raw
History Blame Contribute Delete
12.4 kB
---
title: Wellfound AI
emoji: 🤖
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
license: mit
---
# Wellfound AI — Excel 数据补全工具
AI 驱动的自动化 Excel 数据补全工具,专为 Wellfound (AngelList Talent) 导出数据设计。通过 Web 抓取和 LLM API(OpenAI/DeepSeek)智能提取融资信息、公司联系方式和地址数据。
## 功能特性
- 🤖 **AI 深度网页理解**:使用 GPT-4o / DeepSeek 分析网页内容,提取结构化数据
- 📍 **智能地址处理**:自动识别美国总部/办事处地址,填入 location.apply 和 state.apply
- 📧 **多重联系方式获取**:全站扫描 HR/招聘邮箱、联系表单 URL、招聘页面链接
- 💾 **断点续处理**:保存进度,中断后可恢复继续
- 🔄 **实时 Excel 写入**:每行处理完立即写入,不怕中途崩溃
-**并行处理**:可配置并发数,加速大规模数据处理
---
# 📖 完整部署指南:从零到上线 Hugging Face Spaces
> 本指南面向零经验用户。即使你从未使用过 Hugging Face,也能按步骤在 15 分钟内完成部署。
---
## 目录
1. [前置准备](#1-前置准备)
2. [创建 Hugging Face 账号](#2-创建-hugging-face-账号)
3. [创建 Space(在线工作区)](#3-创建-space)
4. [克隆代码到本地](#4-克隆代码到本地)
5. [上传项目到 Space](#5-上传项目到-space)
6. [等待构建 & 首次启动](#6-等待构建--首次启动)
7. [使用你的工具](#7-使用你的工具)
8. [常见问题](#8-常见问题)
9. [本地开发](#9-本地开发)
---
## 1. 前置准备
你需要准备:
| 事项 | 说明 |
|------|------|
| ✉️ 邮箱 | 用于注册 Hugging Face 账号 |
| 🔑 API Key | OpenAI API Key([获取地址](https://platform.openai.com/api-keys))或 DeepSeek API Key([获取地址](https://platform.deepseek.com/api_keys)) |
| 📊 Excel 文件 | Wellfound 导出的数据文件(格式:Company Name, Location, Internal Link, External Link…) |
| 💻 电脑 | Windows / macOS / Linux 均可,需联网 |
> **不熟悉命令行?** 不用担心,Hugging Face 提供网页版 Git 上传,全程可视化操作。
---
## 2. 创建 Hugging Face 账号
### 步骤 2.1:注册
1. 打开浏览器,访问 **[https://huggingface.co/join](https://huggingface.co/join)**
2. 填写邮箱和密码,点击 **Sign Up**
3. 检查邮箱,点击验证链接
4. 完成个人资料设置(头像、用户名随意)
### 步骤 2.2:创建 Access Token(API 令牌)
上传代码时需要这个令牌验证身份。
1. 登录后,点击右上角头像 → **[Settings](https://huggingface.co/settings/tokens)**
2. 左侧菜单选择 **Access Tokens**
3. 点击 **Create new token**
4. Token type 选择 **`Write`**(可写权限)
5. Token name 填写 `wellfound-ai`(随意命名)
6. 点击 **Generate a token**
7. ⚠️ **立即复制保存** — 这个 token 只显示一次!
```
Token 示例: hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
---
## 3. 创建 Space
### 步骤 3.1:新建 Space
1. 访问 **[https://huggingface.co/new-space](https://huggingface.co/new-space)**
2. 填写配置:
| 配置项 | 填写内容 |
|--------|---------|
| **Space Name** | `wellfound-ai`(或自定义名称) |
| **License** | `mit` |
| **Space SDK** | 选择 **`Docker`** |
| **Docker Template** | 选择 **`Blank`**(空白模板) |
| **Space Hardware** | 选择 **`CPU basic`**(免费版) |
| **Visibility** | 选择 **`Public`**(公开)或 **`Private`**(私有) |
3. 点击 **Create Space**
> 🎉 页面会跳转到你的新 Space,此时显示 "Building..." — 别急,还没上传代码。
---
## 4. 克隆代码到本地
有两种方式获取本项目代码:
### 方式 A:直接下载 ZIP(推荐,无需 Git)
1. 从本项目仓库点击 **Code → Download ZIP**
2. 解压到任意文件夹,例如 `D:\wellfound-ai\`
### 方式 B:Git 克隆
```bash
git clone <本仓库地址> wellfound-ai
cd wellfound-ai
```
> 如果项目还没上传到 GitHub,可以直接使用方式 A。
---
## 5. 上传项目到 Space
### 方案一:网页端直接上传(最简单,推荐)
1. 打开你的 Space 页面(`https://huggingface.co/spaces/<你的用户名>/wellfound-ai`
2. 点击顶部的 **Files** 标签
3. 点击 **Upload files** 按钮
4. 将以下文件/文件夹拖拽上传:
```
必须上传的文件 ✅
├── Dockerfile # Docker 构建配置
├── app.py # FastAPI 主程序
├── requirements.txt # Python 依赖
├── core/ # 核心模块文件夹
│ ├── __init__.py
│ ├── excel_handler.py
│ ├── scraper.py
│ ├── ai_extractor.py
│ ├── address_processor.py
│ └── contact_finder.py
├── templates/ # 前端模板文件夹
│ └── index.html
├── static/ # 静态资源文件夹
│ └── style.css
├── .gitignore
└── .dockerignore
```
5. 上传后,在 Files 页面点击 **Commit** 保存
### 方案二:Git 命令行上传(需安装 Git)
```bash
# 1. 进入项目目录
cd wellfound-ai
# 2. 初始化 Git(如果是 ZIP 下载的)
git init
git add .
git commit -m "Initial commit"
# 3. 添加 HF Space 远程仓库
git remote add origin https://huggingface.co/spaces/<你的用户名>/wellfound-ai
# 4. 拉取 HF 远程仓库(处理可能的冲突)
git pull origin main --rebase
# 5. 推送代码
git push origin main
# 提示输入用户名时,填写你的 Hugging Face 用户名
# 提示输入密码时,填写第 2 步创建的 Access Token
```
---
## 6. 等待构建 & 首次启动
### 步骤 6.1:监控构建过程
1. 打开 Space 页面,观察 **Building** 状态
2. 点击 **Builder Logs** 查看实时构建日志
3. 构建大约需要 3-5 分钟(主要是安装 Chromium 浏览器)
**构建日志示例(正常情况):**
```
Step 1/8 : FROM python:3.11-slim ✅
Step 2/8 : RUN apt-get install ... ✅
Step 3/8 : COPY requirements.txt . ✅
Step 4/8 : RUN pip install ... ✅
Step 5/8 : RUN playwright install ... ✅ (这步最慢)
Step 6/8 : COPY app.py . ✅
Step 7/8 : RUN mkdir -p data/ ✅
Step 8/8 : CMD ["python", "app.py"] ✅
```
### 步骤 6.2:确认运行
构建完成后,Space 状态从 **Building** 变为 **Running**(绿色圆点)。
1. 点击 **App** 标签查看运行界面
2. 你应该看到 Wellfound AI 的完整网页界面
3. 如果显示 "错误" 或空白,点击 **Logs** 标签查看运行时日志
---
## 7. 使用你的工具
### 操作步骤
```
┌─────────────────────────────────────────────┐
│ Step 1: 输入 API Key │
│ ├─ 选择 AI 服务(OpenAI / DeepSeek) │
│ └─ 粘贴你的 API Key │
├─────────────────────────────────────────────┤
│ Step 2: 上传 Excel 文件 │
│ ├─ 拖拽文件到上传区域 │
│ └─ 确认文件列数和行数正确 │
├─────────────────────────────────────────────┤
│ Step 3: 开始处理 │
│ ├─ 设置起始行(断点续传用) │
│ ├─ 设置最大处理行数(0 = 全部) │
│ └─ 点击 "Start Processing" │
├─────────────────────────────────────────────┤
│ Step 4: 下载结果 │
│ └─ 处理完成后,点击 "Download" 按钮 │
└─────────────────────────────────────────────┘
```
### 数据流转
```
C 列 (Wellfound 内部链接)
→ Playwright 渲染页面
→ regex + AI 提取估值/轮次信息
→ 填入 Valuation / Rounds / Series / Total Raised
D 列 (公司官网)
→ Playwright 渲染页面
→ AI 深度扫描邮箱/地址/表单
→ 填入 contact / location.apply / state.apply
每行处理完 → 立即写入 Excel → 不怕中断
```
### API 费用预估
| 模型 | 每行成本 | 659行总成本 |
|------|---------|------------|
| GPT-4o | ~$0.01 | ~$6-10 |
| GPT-4o-mini | ~$0.001 | ~$1-2 |
| DeepSeek-Chat | ~$0.001 | ~$0.5-1 |
> 💡 建议先关闭 AI(只用 Web Scraping)处理几行测试流程,确认没问题再开启 AI。
---
## 8. 常见问题
### Q: 构建失败,日志显示 "playwright install" 错误?
A: 检查 **Space Hardware** 是否选择了 `CPU basic`(不是 `CPU upgrade`)。免费版有时内存不足导致 Chromium 安装失败,可以在 Dockerfile 的 playwright install 命令后加 `--with-deps`
### Q: 应用运行了但页面打不开?
A: 确认 Dockerfile 中 `EXPOSE 7860` 和 README 头部的 `app_port: 7860` 一致。检查 Space 日志中有没有 `Wellfound AI - Server Starting` 字样。
### Q: API 调用总是超时?
A: HF Spaces 免费版的网络出口在海外,访问某些网站可能较慢。可以:
- 调大并发数(concurrency = 1)
- 使用 DeepSeek 替代 OpenAI(API 延迟更低)
- 考虑升级到 HF Pro 订阅
### Q: 如何设置 Space 为私密?
A: 在 Space Settings → **Visibility** 改为 **Private**。注意:免费版只能有一个私有 Space。
### Q: 如何更新已有 Space 的代码?
A: 修改代码后,在 Space 的 Files 页面重新上传覆盖,或 `git push` 即可。HF 会自动重新构建。
### Q: 数据安全吗?
A:
- 上传的文件仅存储在 Space 容器内,不会公开
- 容器休眠后数据会清除(建议处理完立即下载)
- API Key 通过前端输入,不存储在服务端
---
## 9. 本地开发
在本地运行以进行调试和开发:
### 环境要求
- Python 3.9+
- Git
### 快速开始
**Windows:**
```bash
# 双击运行
start.bat
```
**macOS / Linux:**
```bash
chmod +x start.sh
./start.sh
```
**手动启动:**
```bash
# 1. 安装 Python 依赖
pip install -r requirements.txt
# 2. 安装 Playwright 浏览器
playwright install chromium
# 3. 启动服务
python app.py
# 4. 浏览器打开
# http://localhost:7860
```
### Docker 本地构建
```bash
# 构建镜像
docker build -t wellfound-ai .
# 运行容器
docker run -p 7860:7860 wellfound-ai
# 打开 http://localhost:7860
```
---
## 项目结构
```
wellfound-ai/
├── app.py # FastAPI 主程序(6 个 API 端点)
├── Dockerfile # Docker 构建配置(HF Spaces 用)
├── requirements.txt # Python 依赖
├── .gitignore # Git 忽略文件
├── .dockerignore # Docker 构建忽略文件
├── start.bat / start.sh # 本地一键启动
├── core/ # 核心模块
│ ├── excel_handler.py # Excel 读写 + 断点续传
│ ├── scraper.py # Playwright 智能网页抓取
│ ├── ai_extractor.py # AI 数据提取(OpenAI/DeepSeek)
│ ├── address_processor.py # 智能地址处理
│ └── contact_finder.py # 联系方式获取
├── templates/ # 前端模板
│ └── index.html # 单页应用 UI
├── static/ # 静态资源
│ └── style.css
└── data/ # 运行时数据(不在 Git 中)
├── uploads/ # 上传的 Excel
├── results/ # 处理结果
└── checkpoints/ # 断点续传状态
```
---
## 许可证
MIT License — 可自由使用、修改和分发。
---
## 技术支持
- 遇到问题?在 Space 页面点击 **Community** 标签发起讨论
- Hugging Face 官方文档:[https://huggingface.co/docs/hub/spaces](https://huggingface.co/docs/hub/spaces)