An intelligent product search application that combines Amazon's product data with AI-powered query understanding. This application leverages OpenAI's GPT models, Google Search, and Amazon's product data to provide smart, context-aware product searches.
- AI-Powered Query Understanding
- Natural language query processing
- Context-aware search enhancement
- Automatic query refinement
- Non-product query handling
- Amazon Product Integration
- Real-time product data
- Price comparison
- Product details and specifications
- Related product suggestions
-
Multi-Source Intelligence
- OpenAI GPT integration
- Google Search enhancement
- Amazon product data
- Smart fallback mechanisms
-
User Experience
- Modern Qt-based GUI
- Real-time search updates
- Progress tracking
- Error handling and recovery
-
GUI Layer (
product_search_gui.py
)- Qt-based user interface
- Search input handling
- Results display
- Progress updates
-
Search Logic (
batch_search.py
)- Batch processing
- Result aggregation
- Error handling
-
API Integration
amazon_api_client.py
: Amazon product datagoogle_search_client.py
: Search enhancementquery_validator.py
: Query processing
-
Data Management
data_store.py
: Local data handling- Search history tracking
- Result caching
- Python 3.8+
- Qt development environment
- Required API keys (see below)
- Clone the Repository
git clone https://github.com/IsaiahDupree/Amazon-Product-Search-Application.git
cd Amazon-Product-Search-Application
- Install Dependencies
pip install -r requirements.txt
- Set Up Environment Variables
cp .env.template .env
# Edit .env with your API keys
-
OpenAI API Key: For query understanding
-
RapidAPI Key: For Amazon product data
- Get from: https://rapidapi.com/
-
Google API Key: For search enhancement
- Get from: https://console.cloud.google.com/
- Also need Search Engine ID from: https://programmablesearchengine.google.com/
python main.py
-
Product Searches
- Direct product names
- Product categories
- Feature-based queries
-
Smart Queries
- Natural language questions
- Comparative queries
- Technical specifications
-
Non-Product Queries
- Recipe suggestions
- General information
- Technical advice
├── main.py # Application entry point
├── product_search_gui.py # GUI implementation
├── batch_search.py # Search processing
├── amazon_api_client.py # Amazon API integration
├── google_search_client.py # Google Search integration
├── query_validator.py # Query processing
├── data_store.py # Data management
├── requirements.txt # Dependencies
└── .env.template # Environment template
- Fork the repository
- Create a feature branch
- Implement your changes
- Add tests if applicable
- Submit a pull request
Contributions are welcome! Please feel free to submit a Pull Request.
- Follow Python PEP 8 style guide
- Add documentation for new features
- Maintain test coverage
- Update README as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT API
- RapidAPI for Amazon Data API
- Google Custom Search API
- Qt framework (PySide6)
- All contributors and users
- Create an issue for bug reports
- Submit feature requests via issues
- Check existing issues before submitting new ones
- Never commit API keys
- Use .env for sensitive data
- Regular security audits
- Prompt key rotation