
一个AI驱动的Python库,用于分析简历与职位描述的匹配度。获取匹配分数、识别缺失技能,并接收专业的格式建议以改进简历。
✨ 内置Web UI,搭配OpenAI GPT-4实现最佳性能 ✨
 # - USE_LOCAL_MODEL=true(使用本地模型,无需API密钥) # - OPENAI_API_KEY=your-key-here(若USE_LOCAL_MODEL=false则必填)
bash# 安装包含本地模型依赖的版本 pip install cv-matcher[local] # 在.env中设置USE_LOCAL_MODEL=true echo "USE_LOCAL_MODEL=true" > .env
bash# 若未安装uv,先安装 curl -LsSf https://astral.sh/uv/install.sh | sh # 克隆仓库 git clone https://github.com/yourusername/cv-matcher.git cd cv-matcher # 创建虚拟环境并安装依赖 uv venv source .venv/bin/activate # Windows系统:.venv\Scripts\activate uv pip install -e .
在项目根目录创建.env文件以配置AI后端:
bash# 切换本地模型和OpenAI模型 USE_LOCAL_MODEL=false # false=OpenAI(默认),true=本地模型 # OpenAI配置(若USE_LOCAL_MODEL=false则必填) OPENAI_API_KEY=your-openai-api-key-here # OPENAI_MODEL=gpt-4o-mini # 可选,默认gpt-4o-mini # 本地模型配置(若USE_LOCAL_MODEL=true则使用) # LOCAL_MODEL_NAME=microsoft/Phi-3-mini-4k-instruct # 可选
切换模型:
USE_LOCAL_MODEL=false使用OpenAI(更快、更准确,需要API密钥)USE_LOCAL_MODEL=true使用本地模型(隐私保护,无需API密钥,速度较慢)启动脚本会自动读取这些设置 - 无需修改代码!
pythonfrom cv_matcher import launch_ui # 启动Web界面 # 使用.env文件中的设置(USE_LOCAL_MODEL和OPENAI_API_KEY) launch_ui()
或从命令行启动:
bashpython launch_ui.py # 从.env读取USE_LOCAL_MODEL设置
然后在浏览器中打开http://localhost:7860开始分析简历!
💡 提示: 通过修改.env文件中的USE_LOCAL_MODEL值可切换OpenAI和本地模型 - 无需修改代码!
pythonimport os from cv_matcher import CVMatcher # 设置OpenAI API密钥 os.environ["OPENAI_API_KEY"] = "your-api-key-here" # 初始化为OpenAI(默认以获得最佳性能) matcher = CVMatcher(use_local_model=False) # 分析简历与职位描述的匹配度 analysis = matcher.analyze_cv( cv_path="path/to/cv.pdf", job_description="职位描述文本或URL", verbose=True ) # 打印结果 matcher.print_analysis(analysis) # 导出为JSON matcher.export_analysis(analysis, "analysis_results.json")
pythonfrom cv_matcher import CVMatcher # 使用本地AI模型(无需API密钥,但速度较慢) matcher = CVMatcher( use_local_model=True, local_model_name="microsoft/Phi-3-mini-4k-instruct" # 可选,默认值 ) analysis = matcher.analyze_cv("cv.pdf", "职位描述")
bash# 简单方式 python launch_ui.py # 或使用Python命令 python -c "from cv_matcher import launch_ui; launch_ui()" # 创建可共享的公共URL python -c "from cv_matcher import launch_ui; launch_ui(share=True)"
pythonmatcher = CVMatcher() # 从URL获取职位描述 analysis = matcher.analyze_cv( cv_path="cv.pdf", job_description="https://example.com/job-posting" )
pythonCVMatcher( use_local_model: bool = False, # False=OpenAI(默认),True=本地模型 local_model_name: str = "microsoft/Phi-3-mini-4k-instruct", api_key: Optional[str] = None, # OpenAI密钥(若未提供则从.env读取) model: str = "gpt-4o-mini", # OpenAI模型名称 timeout: int = 10 # HTTP超时时间(秒) )
推荐: 使用.env文件进行配置,而非硬编码参数。
microsoft/Phi-3-mini-4k-instruct(默认,快速,3.8B参数)mistralai/Mistral-7B-Instruct-v0.2(更大,功能更强)gpt-4o-mini(性价比高)gpt-4o(更高级)gpt-4-turbo(高性能)分析返回一个CVAnalysis对象,包含:
查看examples目录获取更详细的使用示例:
local_model_usage.py:使用本地AI模型(无需API密钥)basic_usage.py:简单简历分析(支持本地和OpenAI模型)batch_analysis.py:分析多个简历url_fetching.py:从URL获取职位描述custom_model.py:使用不同的AI模型launch_ui.py:启动Web界面bash# 克隆仓库 git clone https://github.com/officialgabzz/cv-matcher.git cd cv-matcher # 安装开发依赖 uv venv source .venv/bin/activate uv pip install -e ".[dev]"
bashpytest tests/ -v --cov=cv_matcher
bash# 格式化代码 black src/cv_matcher # 代码检查 ruff check src/cv_matcher # 类型检查 mypy src/cv_matcher
cv-matcher/ ├── src/ │ └── cv_matcher/ │ ├── __init__.py # 包初始化 │ ├── matcher.py # 主要CVMatcher类 │ ├── models.py # Pydantic数据模型 │ ├── pdf_parser.py # PDF文本提取 │ ├── job_fetcher.py # 职位描述获取 │ └── ai_analyzer.py # AI分析逻辑 ├── tests/ # 测试文件 ├── examples/ # 使用示例 ├── pyproject.toml # 项目配置 ├── README.md # 本文档 └── LICENSE # MIT许可证
注意: 首次运行将下载AI模型(根据模型选择,约3-7GB)。后续运行使用缓存模型。
简历分析的主类。
方法
analyze_cv(cv_path, job_description, verbose=False):分析简历print_analysis(analysis, detailed=True):显示结果export_analysis(analysis, output_path):保存为JSONCVAnalysis:完整分析结果MatchScore:匹配评分详情FormattingAdvice:简历改进建议欢迎贡献!请随时提交Pull Request。对于重大更改,请先打开issue讨论您想要更改的内容。
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用MIT许可证 - 详见LICENSE文件。
由CV Matcher团队制作 ❤️
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务