使用说明
使用MCP工具的AI作业推荐器
流线型简历教练,通过代理循环进行计划,并通过MCP/Apify获取工作。
概述
求职者需要简历理解、技能差距指导和实时LinkedIn/Naukri列表,而无需为每个AI工具重建抓取器。
Streamlit UI提取PDF文本(PyMuPDF),调用OpenAI进行摘要/差距/路线图,并使用Apify actors进行作业;FastMCP服务器公开fetchlinkedin/fetchnaukri;src/agent实现了带有重试/超时和演示模式的planr/loop/HITL/tools。
文档化的架构,具有生产导向的配置、测试、Docker和MCP重用,可用于IDE/代理。
此存储库的维护方式为 注重生产的组合工作:清晰的架构、自动检查(如果有的话)和指标 可追溯到已提交的工件 (从未发明)。
建筑学
Streamlit上传PDF“助手提取文本”“OpenAI分析简历”“可选关键字”“job_api/Apify(也通过MCP)”“转义渲染”;代理循环计划工具与HITL/demo守卫一起使用。
flowchart TB
U[User PDF] --> ST[Streamlit app.py]
ST --> H[helper.py PDF + OpenAI]
ST --> J[job_api.py Apify]
MCP[mcp_server.py FastMCP] --> J
ST --> A[src/agent loop/planner/tools]
A --> H
A --> J
sequenceDiagram
participant U as User/Client
participant S as Service/Pipeline
participant E as Eval/Tools
U->>S: request / job
S->>E: execute
E-->>S: results
S-->>U: report / response
结果和存储库事实
仅列出在代码、配置、测试或生成的报告中找到的值。没有临床/ML准确度数字意味着 不 在repo中发布。
| 度量 | 值 | 来源 |
|---|---|---|
| 跟踪存储库文件 | 30 | git tree |
| Python模块 | 19 | git tree *.py |
| 默认OPENAI_MODEL | gpt-4o | src/config.py |
| 默认MAX_AGENT_STEPS | 8 | src/config.py |
| 默认MAX_PDF_SIZE_MB | 10 | src/config.py |
| 默认MAX_RESUME_CHARS | 50000 | src/config.py |
| 默认默认值_JOB_ROWS | 60 | src/config.py |
| OPENAI_TIMEOUT_SEC默认值 | 60 | src/config.py |
| APIFY_TIMEOUT_SEC默认值 | 120 | src/config.py |
| 跟踪的文件 | 30 | git tree |
| Python模块 | 19 | git tree |
| 测试相关路径 | 6 | git tree |
| CI工作流 | 是 | .github/workflows |
| Docker存在 | 是 | repo root |
%%{init: {'theme':'base'}}%%
pie showData title Language composition (bytes)
"Python" : 98
"Dockerfile" : 2
主要特点
- 通过大小/类型验证恢复PDF上传
- 法学硕士总结、技能差距、学习路线图
- 通过Apify获取LinkedIn+Naukri职位
- 用于外部代理的MCP服务器工具
- 按键丢失时的DEMO_MODE
- HITL标志和有界代理步骤
- LLM输出的XSS安全HTML转义
技术栈
| 层 | 技术 |
|---|---|
| ui | 流光灯 |
| llm | OpenAI |
| mcp | FastMCP |
| 工作 | Apify(领英/Naukri演员) |
| PyMuPDF | |
| 容器 | Docker |
| ci | GitHub操作 |
技能展示
Python·S·t·r·e·a·m·CI/CD·测试·自动化
关键字表面: Python·Python·机器学习·CI/CD·测试·API·Docker·自动化·数据科学·软件工程·系统设计·可观察性·LLM·云
项目结构
Real-time-Job-recommendation-system---MCP/
├── app.py / mcp_server.py
├── docs/ARCHITECTURE.md
├── src/{config,helper,job_api,tracing}.py
├── src/agent/{loop,planner,tools,hitl,types}.py
├── tests/
├── Dockerfile / requirements.txt / pyproject.toml / uv.lock
└── .env.example
安装和使用
git clone https://github.com/ArchanaChetan07/Real-time-Job-recommendation-system---MCP.git
cd Real-time-Job-recommendation-system---MCP
pip install -r requirements.txt
cp .env.example .env # set OPENAI_API_KEY + APIFY_API_TOKEN or DEMO_MODE=1
streamlit run app.py
python mcp_server.py
运作原理
Config加载env键,如果缺少,则启用DEMO_MODE。UI提取简历文本,重试调用OpenAI,并可选地获取作业。MCP为Cursor/其他客户端提供相同的获取工具。Architecture.md详细介绍了数据流和安全选择(无持久性、HTML转义)。
未来的改进
- 添加测量延迟/成本仪表板
- 将HITL UX扩展到标志之外
许可证
请参阅存储库。
AI Job Recommender with MCP Tools
github.com/ArchanaChetan07/Real-time-Job-recommendation-system---MCP