Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Example script showing how to integrate a custom Hugging Face model | |
| for profile generation in the AI Talent Finder. | |
| This script demonstrates: | |
| 1. Loading a custom model | |
| 2. Testing profile generation | |
| 3. Customizing the AI output parsing | |
| Usage: | |
| 1. Choose your model from Hugging Face | |
| 2. Update the MODEL_NAME variable | |
| 3. Customize the _parse_ai_output method in profile_generator.py | |
| 4. Set USE_AI_PROFILE_GENERATOR=true in your .env file | |
| """ | |
| import os | |
| import sys | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from ai_module.nlp.profile_generator import ProfileGenerator | |
| def test_ai_model(): | |
| """Test the AI model with a sample job description.""" | |
| # Sample job description | |
| job_description = """ | |
| Senior Python Developer | |
| We are looking for a Senior Python Developer with 5+ years of experience. | |
| Required Skills: | |
| - Python (expert level) | |
| - FastAPI or Django | |
| - PostgreSQL or MySQL | |
| - Docker and Kubernetes | |
| - AWS or Azure cloud platforms | |
| - REST APIs and microservices | |
| Nice to have: | |
| - React.js | |
| - Machine Learning experience | |
| - DevOps practices | |
| Requirements: | |
| - Bachelor's degree in Computer Science or equivalent | |
| - 5+ years of software development experience | |
| - Experience with agile development | |
| - Strong problem-solving skills | |
| """ | |
| print("Testing AI-powered profile generation...") | |
| print("=" * 50) | |
| # Enable AI mode | |
| ProfileGenerator.USE_AI_MODEL = True | |
| ProfileGenerator.HF_MODEL_NAME = "facebook/bart-large-cnn" # Change this to your model | |
| try: | |
| profile = ProfileGenerator.generate_from_text(job_description) | |
| print("Generated Profile:") | |
| print(f"Method used: {profile.get('method_used', 'unknown')}") | |
| print(f"Overview: {profile.get('overview', 'N/A')}") | |
| print(f"Technical skills: {profile.get('technical_skills', [])}") | |
| print(f"Experience required: {profile.get('experience_years', 'N/A')} years") | |
| print(f"Education required: {profile.get('education_level', 'N/A')}") | |
| except Exception as e: | |
| print(f"Error: {e}") | |
| print("Falling back to rule-based generation...") | |
| ProfileGenerator.USE_AI_MODEL = False | |
| profile = ProfileGenerator.generate_from_text(job_description) | |
| print("Rule-based Profile:") | |
| print(f"Method used: {profile.get('method_used', 'unknown')}") | |
| print(f"Technical skills: {profile.get('technical_skills', [])}") | |
| print(f"Experience required: {profile.get('experience_years', 'N/A')} years") | |
| if __name__ == "__main__": | |
| test_ai_model() |