Revolutionize your hiring process with cutting-edge AI technology
Features β’ Tech Stack β’ Quick Start β’ Documentation
TalentPulse-AI is an enterprise-grade, AI-powered recruitment platform that transforms traditional HR processes into intelligent, automated workflows. Built with modern technologies and advanced AI capabilities, it delivers unparalleled efficiency in talent acquisition, candidate evaluation, and job description optimization.
- π€ Advanced AI Agents - Multi-agent architecture powered by LangChain and Google Gemini
- β‘ Lightning Fast - Built on FastAPI for high-performance async operations
- π Intelligent Automation - Automated resume parsing, JD generation, and candidate evaluation
- π Data-Driven Insights - ML-powered candidate scoring and matching algorithms
- π Enterprise Ready - Scalable architecture with Docker support and environment-specific deployments
- π RESTful API - Comprehensive API with auto-generated documentation
- Smart Resume Parsing - Extract structured data from PDF, DOCX, and image formats using OCR
- AI-Powered Analysis - Deep candidate evaluation with skill matching and experience assessment
- Automated Scoring - ML-based candidate ranking and compatibility scoring
- Multi-Format Support - Handle various resume formats with intelligent text extraction
- AI JD Generation - Create compelling job descriptions from minimal input
- Smart Enhancement - Optimize existing JDs with AI-powered suggestions
- Title Recommendations - Get intelligent job title suggestions based on requirements
- Automated Tagging - Categorize and tag jobs automatically for better organization
- Conversational AI - Natural language interaction for HR queries
- Context-Aware Responses - Understand and respond to complex recruitment questions
- 24/7 Availability - Always-on assistant for candidates and recruiters
- Automated Assessments - AI-driven candidate evaluation with detailed feedback
- Custom Question Generation - Create role-specific interview questions automatically
- Performance Analytics - Track and analyze recruitment metrics
- FastAPI
v0.116+- Modern, high-performance Python web framework - Uvicorn
v0.35+- Lightning-fast ASGI server - Pydantic
v2.11+- Data validation using Python type hints
- LangChain
v0.3.27- Advanced LLM orchestration framework - LangGraph
v0.6.6- Multi-agent workflow orchestration - Google Generative AI
v0.8.5- Google Gemini integration - OpenAI
v1.101+- GPT model integration - FastEmbed - Fast, lightweight embedding generation
- scikit-learn - Machine learning utilities and algorithms
- PyPDF2
v3.0+- PDF parsing and extraction - pdf2image
v1.17+- PDF to image conversion - python-docx
v1.2+- Microsoft Word document processing - pytesseract
v0.3+- OCR for image-based text extraction - Pillow
v11.3+- Advanced image processing
- SQLAlchemy
v2.0+- SQL toolkit and ORM - sqlite-utils - SQLite database utilities
- sqlite-fts4 - Full-text search capabilities
- pytest
v8.4+- Comprehensive testing framework - python-dotenv - Environment variable management
- pydantic-settings - Settings management
- Docker - Containerization for consistent deployments
- Multi-Environment Support - Separate configurations for dev, staging, and production
- AWS CodeBuild - CI/CD pipeline integration
- HTTPX - Modern HTTP client
- Requests - HTTP library for API integrations
- python-dateutil - Powerful date/time handling
- tiktoken - Token counting for LLM operations
- tenacity - Retry logic and resilience
TalentPulse-AI/
β
βββ π€ agents/ # AI Agent Layer
β βββ resume_extractor.py # Resume parsing & data extraction
β βββ resume_analyze.py # Candidate evaluation & scoring
β βββ jd_genrator.py # Job description generation
β βββ jd_enhance.py # JD optimization & enhancement
β βββ jd_regenrate.py # JD refinement engine
β βββ jd_title_suggestion.py # Smart job title recommendations
β βββ job_taging.py # Automated job categorization
β βββ ai_question_generate.py # Interview question generation
β βββ ai_prompt_question.py # Dynamic prompt engineering
β βββ evaluation_agent.py # Candidate assessment
β βββ ai_feedback.py # Automated feedback generation
β βββ ask_ai.py # Conversational AI interface
β
βββ π app/ # Application Layer
β βββ main.py # FastAPI application entry point
β βββ models/ # Pydantic data models & schemas
β βββ routes/ # API endpoint definitions
β β βββ resume_data.py # Resume processing endpoints
β β βββ jd_operation.py # Job description endpoints
β β βββ jd_refine.py # JD refinement endpoints
β β βββ feedback_operation.py # Feedback endpoints
β β βββ chatbot.py # Chatbot endpoints
β βββ services/ # Business logic layer
β βββ utils/ # Helper functions & utilities
β
βββ βοΈ config/ # Configuration Layer
β βββ Settings.py # Application settings
β βββ logging.py # Logging configuration
β
βββ π§ͺ tests/ # Testing Layer
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
β
βββ π³ Dockerfile # Container configuration
βββ π¦ requirements.txt # Python dependencies
βββ π§ buildspec.yml # AWS CodeBuild specification
βββ π README.md # Documentation
- Python 3.8 or higher
- pip (Python package manager)
- Docker (optional, for containerized deployment)
- Tesseract OCR (for image-based resume processing)
1οΈβ£ Clone the repository
git clone <repo-url>
cd TalentPulse-AI2οΈβ£ Create and activate virtual environment
# Create virtual environment
python3 -m venv venv
# Activate on Windows PowerShell
.\.venv\Scripts\Activate.ps1
# Activate on Windows CMD
.\.venv\Scripts\activate.bat
# Activate on Unix/MacOS
source venv/bin/activate3οΈβ£ Install dependencies
pip install -r requirements.txt4οΈβ£ Configure environment variables
# Copy example environment file
cp env_example .env
# Edit .env with your configuration
# Add API keys for Google Gemini, OpenAI, etc.5οΈβ£ Run the application
# Development mode with auto-reload
uvicorn app.main:app --reload
# Production mode
uvicorn app.main:app --host 0.0.0.0 --port 8000
# Custom port
uvicorn app.main:app --reload --port 8080π Your API is now running!
- Application: http://127.0.0.1:8000
- Interactive API Docs: http://127.0.0.1:8000/docs
- Alternative Docs: http://127.0.0.1:8000/redoc
# Development
docker build -t talentpulse-ai:dev --build-arg ENVIRONMENT=dev .
# Staging
docker build -t talentpulse-ai:stage --build-arg ENVIRONMENT=stage .
# Production
docker build -t talentpulse-ai:prod --build-arg ENVIRONMENT=prod .# Development
docker run -p 8000:2001 --env-file .env.dev talentpulse-ai:dev
# Staging
docker run -p 8000:2001 --env-file .env.stage talentpulse-ai:stage
# Production
docker run -p 8000:2001 --env-file .env.prod talentpulse-ai:prodTalentPulse-AI provides comprehensive, auto-generated API documentation:
Access at: http://localhost:8000/docs
- Try out API endpoints directly from your browser
- View request/response schemas
- Test authentication and authorization
Access at: http://localhost:8000/redoc
- Clean, three-panel documentation
- Detailed endpoint descriptions
- Code samples and examples
POST /api/v1/resume/upload- Upload and parse resumePOST /api/v1/resume/analyze- Analyze candidate profileGET /api/v1/resume/{id}- Retrieve parsed resume data
POST /api/v1/jd/generate- Generate new job descriptionPOST /api/v1/jd/enhance- Enhance existing JDPOST /api/v1/jd/refine- Refine JD with AI suggestionsGET /api/v1/jd/title-suggestions- Get job title recommendations
POST /api/v1/feedback/generate- Generate candidate feedbackPOST /api/v1/evaluation/assess- Evaluate candidate
POST /api/v1/chatbot/query- Send query to AI chatbot
Run the comprehensive test suite:
# Run all tests
pytest -v
# Run with coverage report
pytest --cov=app --cov-report=html
# Run specific test file
pytest tests/test_resume_parser.py -v
# Run tests matching pattern
pytest -k "test_jd" -vCreate a .env file with the following configurations:
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
DEBUG_MODE=true
# AI Model Configuration
GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
# Database Configuration
DATABASE_URL=sqlite:///./talentpulse.db
# Application Settings
MAX_UPLOAD_SIZE=10485760 # 10MB
ALLOWED_FILE_TYPES=pdf,docx,doc,png,jpg,jpeg.env.dev- Development configuration.env.stage- Staging configuration.env.prod- Production configuration
- β Automate resume screening and candidate shortlisting
- β Generate professional job descriptions in seconds
- β Get AI-powered candidate insights and recommendations
- β Create customized interview questions automatically
- β Streamline talent acquisition workflows
- β Reduce time-to-hire with intelligent automation
- β Improve candidate quality with AI-driven matching
- β Scale recruitment operations efficiently
- β Build a modern, AI-powered recruitment infrastructure
- β Integrate with existing HR systems via REST API
- β Ensure data privacy and security with on-premise deployment
- β Customize AI models for specific industry needs
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PEP 8 style guide
- Write comprehensive tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
`
For questions, issues, or feature requests:
- π§ Email: support@talentpulse.ai
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Built with β€οΈ using cutting-edge AI technology
Transform your recruitment process today with TalentPulse-AI