CoolFace
Apppublic

ijsasif/Module-1-Skill-Extractor

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes
README.md78 linesDownload Raw Back to root
1---2title: TalentPulse Skill Extractor Backend3emoji: ๐Ÿ”Ž4colorFrom: green5colorTo: blue6sdk: docker7app_port: 78608pinned: false9license: mit10short_description: GLiNER skill extraction API for TalentPulse Module 111---12 13# TalentPulse - Module 1 Skill Extraction API14 15Backend-only Hugging Face Space for the TalentPulse Module 1 recruitment workflow.16 17## What this Space does18 19- Accepts `PDF`, `DOCX`, and `TXT` CV files20- Extracts resume text from the uploaded file21- Runs GLiNER skill extraction22- Returns categorized skills with confidence scores for the frontend23 24## Endpoints25 26| Method | Path | Description |27|--------|------|-------------|28| `GET` | `/` | Health check |29| `GET` | `/health` | Runtime and model status |30| `POST` | `/extract-skills` | Upload CV file using `multipart/form-data` with field `file` |31| `POST` | `/extract-text` | Extract categorized skills from raw text |32 33## Frontend usage34 35The recruitment page should call:36 37```bash38POST /extract-skills?mode=gliner39```40 41The response contains:42 43- `categorized`: grouped skills by category44- `skills`: flat skill list45- `total`: total extracted skills46- `meta`: model and runtime info47 48## Example response49 50```json51{52  "filename": "resume.pdf",53  "extractor": "gliner",54  "mode": "gliner",55  "total": 4,56  "skills": [57    { "name": "python", "category": "programming language", "score": 0.95 },58    { "name": "sql", "category": "database", "score": 0.91 }59  ],60  "categorized": {61    "programming language": [62      { "name": "python", "score": 0.95 }63    ],64    "database": [65      { "name": "sql", "score": 0.91 }66    ]67  },68  "meta": {69    "text_length": 1820,70    "gliner_model": "urchade/gliner_medium-v2.1",71    "gliner_threshold": 0.35,72    "device": "cpu",73    "supported_extensions": [".docx", ".pdf", ".txt"]74  }75}76```77 78