An intelligent movie recommendation system that combines SerpAPI's movie data with Groq's AI analysis to provide personalized movie suggestions.
- Smart Category Selection: Choose from various movie categories including Indian Cinema, Action & Adventure, Comedy, Drama, and Romance
- Advanced Preference System:
- Multi-select genre preferences
- Mood-based filtering
- Content rating selection
- Story element preferences
- Duration preferences
- AI-Powered Analysis: Uses Groq AI to analyze movie themes, patterns, and provide personalized recommendations
- Rich Movie Information:
- Movie thumbnails
- Ratings
- Pricing
- Detailed plot descriptions
- Save Functionality: Store your favorite recommendations for later reference
- Clone the repository:
git clone https://github.com/We4TechAI/AI-Movie-Recommender.git
cd AI-Movie-Recommender
- Install required packages:
pip install -r requirements.txt
- Create a
.env
file in the project root:
GROQ=your_groq_api_key
SERPAPI_KEY=your_serpapi_key
For Docker deployment:
- Build the Docker image:
docker build --tag ai_movie_recommender:latest .
- Run the container:
docker run -d --name ai_movie_recommender -p 8501:8501 ai_movie_recommender:latest
- Access the application at
http://localhost:8501
To run the application locally:
streamlit run app.py
-
Select Movie Category:
- Choose your preferred movie category from the dropdown menu
-
Set Your Preferences:
- Navigate to the sidebar
- Select preferred genres
- Adjust mood preference slider
- Choose content ratings
- Select desired story elements
- Pick preferred movie duration
-
Get Recommendations:
- Click "Get Recommendations" button
- Wait for movie analysis
- Review personalized suggestions
-
Save Recommendations:
- Click "Save Recommendations" to store analysis
- Access saved recommendations in the sidebar
- SerpAPI: Fetches movie data from Google Play Movies
- Groq: Provides AI-powered analysis and recommendations
get_movie_recommendations()
: Fetches movie data from SerpAPIget_enhanced_recommendations()
: Processes movies through Groq AImain()
: Handles UI and core application logic
AI-Movie-Recommender/
├── main.py # Main application file
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── Dockerfile # Docker configuration
├── banner.png
└── README.md # Project documentation
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature
- Commit changes:
git commit -am 'Add new feature'
- Push to branch:
git push origin feature/your-feature
- Submit a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Ensure API keys are kept secure and not committed to version control
- API usage may incur costs depending on your subscription plans
- Some features may be limited by API rate limits
For issues and questions:
- Check existing GitHub issues
- Create a new issue if needed
- Include relevant details and error messages