Skip to main content

Intelligent Resume Parsing System

Project description

SmartResume - Intelligent Resume Parsing System

SmartResume Logo

💻 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.

demo

Quick Start

Requirements

  • Python >= 3.9
  • CUDA >= 11.0 (optional, for GPU acceleration)
  • Memory >= 8GB
  • Storage >= 10GB

Installation

  1. Clone the repository
git clone https://github.com/alibaba/SmartResume.git
cd SmartResume
  1. Create conda environment
conda create -n resume_parsing python=3.9
conda activate resume_parsing
  1. Install dependencies
pip install -e .
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartresume-0.1.1.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smartresume-0.1.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

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

Hashes for smartresume-0.1.1.tar.gz
Algorithm Hash digest
SHA256 746e65c9cae5d018d7451937e3f871901aa2f73f88f40304f834fe6e36a2e33e
MD5 17f52d0790e332594c8188126b6c7234
BLAKE2b-256 9a48c20cb883e9a386ab742bd584b70e944b0b32810ad88e078fff54a8be1ea9

See more details on using hashes here.

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

Hashes for smartresume-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af0f44a8b6bc36e86a4125bed061bee664c4c4f2e30459ba5f37f6b690bcc414
MD5 3019cf67c4b98e9a518d30bab95ece95
BLAKE2b-256 424f06bf6aabc146c6b60d1994f29c739e0c885991d2b9e7cc80a36fff47e4ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page