An intelligent recruitment assistant that automates resume screening using a local LLM via Ollama and offers both CLI and web-based interaction.
- ⚡ AI-Powered Analysis: Leverages Gemma 3:4b via Ollama for deep resume-job fit evaluation.
- 📊 Vector-Based Context Matching: Uses FAISS to store and retrieve job description vectors.
- 📦 Structured Output: LLM output is parsed into JSON for decision, compatibility score, and justification.
- 💾 Persistent Storage: Stores all results in an SQLite database for audit and analysis.
- 🧰 Dual Interface: Available as a CLI tool or through a React + FastAPI web UI.
-
📥 Job Description Embedding
- Converts job text into vectors using
nomic-embed-textviaOllamaEmbeddings - Stored in FAISS for fast retrieval
- Converts job text into vectors using
-
📄 Resume Parsing
- Extracts text from uploaded PDF resumes using
PyPDF.
- Extracts text from uploaded PDF resumes using
-
🔍 AI Analysis via LangChain
- Uses:
- 🔁 Retriever (FAISS)
- 🧠 LLM:
gemma3:4bvia Ollama - ✏️ Prompt Template with strict rules
- 📦 PydanticOutputParser for structured JSON
- Uses:
-
💾 Store Results
- Data is persisted in
recruitment_results.dbvia a custom database function.
- Data is persisted in
| Category | Tools |
|---|---|
| 💡 AI/LLM | LangChain, Gemma, Ollama, nomic-embed-text |
| ⚙️ Backend | FastAPI, pydantic, faiss-cpu, PyPDF |
| 🖥️ Frontend | React, Vite, TailwindCSS (optional) |
| 🛢️ Database | SQLite |
| 🧠 Vector DB | FAISS |
| 📦 Package Managers | pip, npm |
- Python
3.9+ - Node.js & npm
- Ollama installed and running
ollama pull gemma3:4b
ollama pull nomic-embed-textcd MainAPI
# Create this requirements.txt file:📄 MainAPI/requirements.txt
fastapi
uvicorn[standard]
langchain
langchain-community
langchain-ollama
pydantic
pypdf
faiss-cpu
python-dotenv
python-multipartpip install -r requirements.txtcd frontend-react
npm installpython recruitmentagent.pyFollow the prompts to upload a resume and see results in the console.
cd MainAPI
uvicorn main:app --reloadAPI accessible at http://127.0.0.1:8000
cd frontend-react
npm run devOpen http://localhost:5173 in your browser.
Perfect for HR teams, recruitment firms, or tech hiring platforms looking to automate and scale their screening process with AI-driven insights.
- ✅ Resume ranking
- ✅ Multi-role analysis
- ⏳ Email integration
- ⏳ Feedback loop learning
For collaboration or questions, feel free to reach out!
