Intelligent Resume Parsing System
Project description
SmartResume - Intelligent Resume Parsing System
💻 Code | 🤗 Model | 🤖 Demo | 📑 Technical Report
English | 中文
Project Introduction
SmartResume is an layout‑aware resume parsing system. It ingests resumes in PDF, image and common Office formats, extracts clean text (OCR + PDF metadata), reconstructs reading order with layout detection, and leverages LLMs to convert content into structured fields such as basic info, education, and work experience.
Quick Start
Requirements
- Python >= 3.9
- CUDA >= 11.0 (optional, for GPU acceleration)
- Memory >= 8GB
- Storage >= 10GB
Installation
- Clone the repository
git clone https://github.com/alibaba/SmartResume.git
cd SmartResume
- Create conda environment
conda create -n resume_parsing python=3.9
conda activate resume_parsing
- Install dependencies
pip install -e .
- Configure environment
# Copy configuration template
cp configs/config.yaml.example configs/config.yaml
# Edit configuration file and add API keys
vim configs/config.yaml
Basic Usage
Method 1: Command Line Interface (Recommended)
# Parse single resume file
python scripts/start.py --file resume.pdf
# Specify extraction types
python scripts/start.py --file resume.pdf --extract_types basic_info work_experience education
Method 2: Python API
from smartresume import ResumeAnalyzer
# Initialize analyzer
analyzer = ResumeAnalyzer(init_ocr=True, init_llm=True)
# Parse resume
result = analyzer.pipeline(
cv_path="resume.pdf",
resume_id="resume_001",
extract_types=["basic_info", "work_experience", "education"]
)
print(result)
Local Model Deployment
SmartResume now supports local model deployment using vLLM, reducing dependency on external APIs:
# Download Qwen-0.6B-resume model
python scripts/download_models.py
# Deploy model
bash scripts/start_vllm.sh
For detailed local model deployment guide, see LOCAL_MODELS.
Key Features
| Metric Category | Specific Metric | Value | Description |
|---|---|---|---|
| Layout Detection | mAP@0.5 | 92.1% | High layout detection accuracy |
| Information Extraction | Overall Accuracy | 93.1% | High accuracy |
| Processing Speed | Single Page Time | 1.22s | High performance |
| Language Support | Supported Languages | many | Covering major global languages |
Benchmark Results
For detailed benchmark results, see Benchmark Results.
Configuration
For detailed configuration options, see the Configuration Guide.
License Information
This project is licensed under the LICENSE.
Currently, some models in this project were previously trained with third-party detectors. We plan to explore and replace them with models under more permissive licenses to enhance user-friendliness and flexibility.
Acknowledgments
Citation
@article{Zhu2025SmartResume,
title={Layout-Aware Parsing Meets Efficient LLMs: A Unified, Scalable Framework for Resume Information Extraction and Evaluation},
author={Fanwei Zhu and Jinke Yu and Zulong Chen and Ying Zhou and Junhao Ji and Zhibo Yang and Yuxue Zhang and Haoyuan Hu and Zhenghao Liu},
journal={arXiv preprint arXiv:2510.09722},
year={2025},
url={https://arxiv.org/abs/2510.09722}
}
Note: Please ensure compliance with relevant laws and regulations and privacy policies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smartresume-0.1.1.tar.gz.
File metadata
- Download URL: smartresume-0.1.1.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
746e65c9cae5d018d7451937e3f871901aa2f73f88f40304f834fe6e36a2e33e
|
|
| MD5 |
17f52d0790e332594c8188126b6c7234
|
|
| BLAKE2b-256 |
9a48c20cb883e9a386ab742bd584b70e944b0b32810ad88e078fff54a8be1ea9
|
File details
Details for the file smartresume-0.1.1-py3-none-any.whl.
File metadata
- Download URL: smartresume-0.1.1-py3-none-any.whl
- Upload date:
- Size: 41.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af0f44a8b6bc36e86a4125bed061bee664c4c4f2e30459ba5f37f6b690bcc414
|
|
| MD5 |
3019cf67c4b98e9a518d30bab95ece95
|
|
| BLAKE2b-256 |
424f06bf6aabc146c6b60d1994f29c739e0c885991d2b9e7cc80a36fff47e4ff
|