redrob-ranker / README.md
Venkat7123's picture
Use Python 3.10 for Space build
0c8afb3
|
Raw
History Blame Contribute Delete
2 kB

A newer version of the Gradio SDK is available: 6.25.0

Upgrade
metadata
title: Redrob Candidate Ranker
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.0.0
app_file: app.py
python_version: '3.10'
pinned: false

Redrob Candidate Ranker

Offline candidate discovery and ranking system for the India Runs Data and AI Challenge.

The app uses:

  • FAISS vector search over a local 384-dim hashing index
  • BM25 keyword retrieval
  • Reciprocal Rank Fusion
  • structured skill, experience, title, behavioral, career, and proficiency scoring
  • honeypot penalties for inconsistent candidate profiles
  • a Gradio UI for searching and re-ranking candidates

Run Locally

Install dependencies:

pip install -r requirements.txt

Run the Gradio app:

python app.py

Generate the submission CSV:

python rank.py --batch --out submission.csv

Required Data Files

The app expects these files:

data/candidates.jsonl
data/indexes/faiss_index.bin
data/indexes/faiss_id_map.json
data/indexes/offset_index.json
data/indexes/index_meta.json

data/indexes/bm25_index.pkl is optional for the Hugging Face deployment because the free Space storage limit is 1 GB. When it is absent, the app still runs with FAISS retrieval and skips the BM25 side of hybrid search.

If indexes need to be rebuilt:

python scripts/build_fast_indexes.py --profiles data/candidates.jsonl

Hugging Face Spaces Deploy

Create a new Space with SDK Gradio, then push this repository.

Because .gitignore excludes large data/index files, add them explicitly:

git add app.py requirements.txt README.md
git add src configs scripts rank.py submission.csv submission_metadata.yaml
git add -f data/candidates.jsonl data/indexes/faiss_index.bin data/indexes/faiss_id_map.json data/indexes/offset_index.json data/indexes/index_meta.json
git commit -m "Deploy candidate ranker to Hugging Face Spaces"
git push space main

Use Turbo Mode in the UI for deployment unless LLM provider secrets are configured in the Space settings.