|
🤖 多智能体协作
📊 三种面试模式
|
🎯 精准定制
💡 实战练习
|
| 依赖 | 版本要求 |
|---|---|
| Python | 3.8+ (推荐 3.10+) |
| pip | 21.0+ |
| 操作系统 | Windows 10+, Ubuntu 18.04+, macOS 10.15+ |
⚠️ 注意: 部分 OCR 功能需要安装额外依赖,详见requirements-ocr.txt
# 检查 Python 版本 (需要 3.8+)
python --version
# 克隆项目
git clone https://github.com/lllllllama/GrillRadar.git
cd GrillRadar
# 安装依赖
pip install -r requirements.txt方式A:交互式向导(推荐)
python setup_config.py向导会自动引导你完成所有配置 ✨
方式B:快速配置
# 复制配置模板
cp .env.example .env
# 编辑配置文件,填入API密钥
nano .env无需准备简历,一键体验:
# 演示1: LLM应用工程师岗位
python examples/run_demo_llm.py
# 演示2: 计算机视觉PhD申请
python examples/run_demo_cv.py# 创建配置文件 config.json
cat > config.json << EOF
{
"target_desc": "字节跳动后端开发工程师",
"mode": "job",
"domain": "backend",
"level": "mid"
}
EOF
# 生成报告(支持PDF、Word、TXT、Markdown)
python cli.py --config config.json --resume 你的简历.pdf✅ 完成! 报告生成在 report.md
GrillRadar 提供了 3 个真实示例,展示不同场景下的面试准备:
场景: 阿里巴巴 LLM 应用工程师,目标字节跳动/阿里巴巴
技术特点: RAG系统、Prompt工程、Agent框架、开源项目
python cli.py \
--config examples/job_llm_app/config.json \
--resume examples/job_llm_app/resume.md \
--output llm_report.md报告亮点:
- ✅ 40个全面工程面试问题 (深度评估)
- ✅ 涵盖RAG检索、Prompt优化、向量数据库、幻觉检测
- ✅ 考察系统设计、性能优化、大模型基础理论
- ✅ 每个问题附带练习提示词,可复制到ChatGPT/Claude深度练习
- ✅ 融合GitHub/V2EX最新技术趋势
📂 查看完整示例
场景: 上海交大本科生,申请美国/香港 CV 方向 PhD
学术特点: MICCAI论文投稿、竞赛获奖、开源项目 (350+ stars)
python cli.py \
--config examples/grad_cv_segmentation/config.json \
--resume examples/grad_cv_segmentation/resume.md \
--output cv_grad_report.md报告亮点:
- ✅ 28个深度PhD面试问题 (全方位评估)
- ✅ 涵盖研究创新性、实验严谨性、理论基础、文献综述
- ✅ 考察失败经历、学术诚信、Research Proposal、英语能力
- ✅ 导师视角深度拷问,暴露简历薄弱点
- ✅ 结合最新学术趋势和研究方向
📂 查看完整示例
场景: 字节跳动后端工程师,同时准备分布式系统 PhD 申请
特点: 工程经验 + 科研背景 (SOSP投稿、Raft开源项目)
python cli.py \
--config examples/mixed_backend_grad/config.json \
--resume examples/mixed_backend_grad/resume.md \
--output mixed_report.md报告亮点:
- ✅ 32个双视角问题 (16个工程 + 16个学术)
- ✅ 工程侧: 性能优化、系统设计、Raft工程实践
- ✅ 学术侧: 研究创新性、理论基础、PhD规划
- ✅ 交叉问题: 工程vs学术的平衡与价值
- ✅ 同时融合行业和学术最新动态
📂 查看完整示例
| 场景 | 模式 | 适用人群 |
|---|---|---|
| 工程求职 | mode: job |
程序员、算法工程师、LLM应用开发者 |
| 学术申请 | mode: grad |
研究生、PhD申请者、科研人员 |
| 双重准备 | mode: mixed |
工作同时准备读博、纠结工程vs学术 |
👉 更多详情: QUICK_START_ZH.md - 5分钟快速上手指南
| 文档 | 说明 |
|---|---|
| 快速开始 | 5分钟上手指南 |
| 详细使用指南 | 完整的中文使用教程 |
| 示例场景 | 3个真实示例演示 |
| 配置指南 | 详细配置说明 |
| Web界面 | 使用Web版本 |
| 文档 | 说明 |
|---|---|
| 支持的领域 | 23个专业领域详情 |
| 外部信息源 | JD和面经集成 |
| 开发文档 | 开发和贡献指南 |
| 工具 | 说明 |
|---|---|
switch_language.py |
一键切换文档语言 |
setup_config.py |
交互式配置向导 |
cli.py |
命令行工具 |
GrillRadar 现已集成多源爬虫系统,自动获取最新技术趋势和面试热点!
|
🌐 三大数据源
⚡ 性能优化
|
🎯 智能特性
📊 覆盖领域
|
启用方式:
{
"enable_external_info": true,
"target_company": "字节跳动"
}技术架构: newsnow API + 文件缓存 + 多线程并行
📂 详细文档: EXTERNAL_INFO.md
| 格式 | 扩展名 | 支持 |
|---|---|---|
.pdf |
✅ 支持OCR | |
| Word | .docx, .doc |
✅ |
| 文本 | .txt |
✅ 自动编码检测 |
| Markdown | .md |
✅ |
🔍 智能OCR支持(扫描PDF/图片PDF)
自动识别扫描简历和图片PDF,无缝切换到OCR模式:
- 支持中英文混合识别
- 自动检测文本可选性,智能回退
- 可配置OCR引擎(PaddleOCR/Tesseract)
启用OCR功能(可选)
- 安装OCR依赖:
pip install -r requirements-ocr.txt- 配置OCR(
.env文件):
# 启用OCR
PDF_OCR_ENABLED=true
# 可选配置
PDF_OCR_ENGINE=paddleocr # 或 tesseract
PDF_OCR_LANG=ch # ch/en/ch_en
PDF_OCR_MIN_TEXT=200 # 触发OCR的最小文本长度工作原理:
- 首先尝试标准文本提取(快速)
- 如果文本不足200字符,自动切换到OCR
- OCR失败时智能回退到文本提取
不安装OCR? 没问题!系统仍能处理普通PDF,只是不支持扫描版。
| 提供商 | 推荐场景 | 支持 |
|---|---|---|
| Anthropic Claude | 最佳效果,200K上下文 | ✅ |
| OpenAI GPT | 通用选择 | ✅ |
| Kimi/Moonshot | 国内用户友好 | ✅ |
| BigModel(智谱) | 第三方兼容 | ✅ |
| 自定义端点 | 企业部署 | ✅ |
工程领域(12个)
- 后端开发 (backend)
- 前端开发 (frontend)
- 大模型应用开发 (llm_application)
- 算法工程 (algorithm)
- 数据工程 (data_engineering)
- 移动开发 (mobile)
- 云原生 (cloud_native)
- 嵌入式开发 (embedded)
- 游戏开发 (game_dev)
- 区块链/Web3 (blockchain)
- 网络安全 (security)
- 测试/质量保障 (test_qa)
研究领域(11个)
- 计算机视觉-图像分割 (cv_segmentation)
- 计算机视觉-目标检测 (cv_detection)
- 自然语言处理 (nlp)
- 多模态学习 (multimodal)
- 机器学习(通用)(general_ml)
- 强化学习 (reinforcement_learning)
- 机器人学 (robotics)
- 图学习 (graph_learning)
- 时间序列分析 (time_series)
- 联邦学习/隐私计算 (federated_learning)
- AI安全与对齐 (ai_safety)
👉 查看详情: DOMAINS.md
启动Web服务器,使用图形界面:
# 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8000
# 或使用快捷脚本
bash run_web.sh访问 http://localhost:8000 使用Web界面 🚀
Web界面特性:
- ✅ 简洁友好的表单界面
- ✅ 文件上传支持
- ✅ 实时报告生成
- ✅ Markdown和HTML双格式下载
- ✅ 响应式设计,支持移动端
👉 查看详情: WEB_INTERFACE.md
# 求职场景
python cli.py \
--config examples/job_backend.json \
--resume examples/resume_backend.pdf \
--output report.md
# 学术申请场景
python cli.py \
--config examples/grad_cv.json \
--resume examples/resume_cv.docx \
--output grad_report.md
# 混合模式(工程+学术)
python cli.py \
--config examples/mixed.json \
--resume resume.txt \
--output mixed_report.md# 生成报告(文件上传)
curl -X POST "http://localhost:8000/api/generate-report-upload" \
-F "mode=job" \
-F "target_desc=后端开发工程师" \
-F "domain=backend" \
-F "resume_file=@resume.pdf"
# 健康检查
curl http://localhost:8000/api/health
# 查看支持的领域
curl http://localhost:8000/api/domainsGrillRadar/
├── 📱 app/ # 应用核心
│ ├── agents/ # 6个专业智能体
│ ├── api/ # FastAPI接口
│ ├── config/ # 配置管理(domains.yaml、modes.yaml)
│ ├── core/ # 核心逻辑(编排器、ForumEngine)
│ ├── models/ # 数据模型
│ ├── sources/ # 多源爬虫系统 🆕
│ │ └── crawlers/ # GitHub、V2EX、IT之家爬虫
│ │ ├── github_crawler.py
│ │ ├── v2ex_api_crawler.py
│ │ ├── ithome_api_crawler.py
│ │ ├── keyword_filter.py # TrendRadar风格过滤
│ │ ├── cache_manager.py # 缓存管理(965倍加速)
│ │ └── trend_aggregator.py # 智能聚合器
│ └── utils/ # 工具函数
├── 🌐 frontend/ # Web界面
│ ├── static/ # 静态资源
│ └── templates/ # HTML模板
├── 📝 examples/ # 示例和演示
├── 🧪 tests/ # 测试文件(91%+覆盖率)
├── 📝 scripts/ # 测试和工具脚本 🆕
│ ├── test_integration_all.py # 综合集成测试
│ ├── test_keyword_filter.py # 关键词过滤测试
│ └── test_cache.py # 缓存机制测试
├── 📚 docs/ # 文档
│ └── archive/ # 开发文档归档
├── 🔧 cli.py # CLI入口
├── 🌍 switch_language.py # 语言切换工具
└── ⚙️ setup_config.py # 配置向导
# 运行所有测试
pytest
# 查看覆盖率
pytest --cov=app tests/
# 运行特定测试
pytest tests/test_agents.py -v# 代码格式化
black app/ tests/ cli.py
# 代码检查
flake8 app/ tests/
# 问题质量评估
python scripts/evaluate_question_quality.py- 编辑
app/config/domains.yaml - 添加领域配置(关键词、技术栈等)
- 运行测试验证
- 在
app/agents/创建新智能体类 - 继承
BaseAgent - 在
agent_orchestrator.py中注册 - 添加测试
- Milestone 1: CLI原型 ✅
- Milestone 2: Web版本 ✅
- Milestone 3: 配置驱动的领域管理(23个领域)✅
- Milestone 4: 外部信息源集成 ✅
- Milestone 4.5: 多格式简历支持 ✅
- Milestone 4.6: 多API兼容性 ✅
- Milestone 5: 多智能体架构(BettaFish风格)✅
- Milestone 5.5: 多源爬虫系统升级 ✅
- 三大数据源(GitHub + V2EX + IT之家)
- TrendRadar风格关键词过滤
- 965倍缓存加速
- 智能去重和质量评分
- Milestone 5.6: 问题数量与深度优化 ✅
- 求职模式: 30-50题(原15-25题)
- 学术模式: 20-35题(原10-16题)
- 混合模式: 25-40题(原14-20题)
- Milestone 6: 多轮训练系统 🔄
- Claude API - 提供强大的AI能力
- BettaFish - 启发了多智能体架构设计
- TrendRadar - 启发了多源爬虫系统架构
- newsnow API集成方案
- 关键词过滤语法设计
- 配置驱动的数据聚合思想
- 所有贡献者和用户的反馈 ❤️
本项目采用 MIT许可证。
- 项目主页: https://github.com/lllllllama/GrillRadar
- 问题反馈: GitHub Issues
- 讨论交流: GitHub Discussions