This project implements an intelligent email processing system for a fashion store that automatically handles customer inquiries and order requests. The system uses three specialized AI agents working in concert to provide a seamless customer experience.
- Primary Function: Analyzes and categorizes incoming emails
- Capabilities:
- Uses GPT-4 for accurate intent classification
- Distinguishes between "product inquiry" and "order request"
- Handles various email formats and writing styles
- Maintains classification accuracy metrics
- Output: Generates email-classification sheet with email IDs and categories
- Primary Function: Manages order fulfillment and inventory
- Capabilities:
- Extracts product IDs and quantities from order requests
- Verifies product availability in stock
- Updates inventory levels automatically
- Generates professional order confirmation emails
- Suggests alternatives for out-of-stock items
- Output: Creates order-status and order-response sheets
- Primary Function: Handles product information requests
- Capabilities:
- Uses TF-IDF and cosine similarity for product matching
- Provides detailed product information
- Generates personalized responses with relevant recommendations
- Handles complex queries about product features and availability
- Output: Generates inquiry-response sheet with detailed product information
pandas
numpy
openai
langchain
faiss-cpu
tqdm
gspread
google-auth
gspread-dataframe
regex
rapidfuzz-
EmailProcessor Class
- Unified class handling all email processing tasks
- Implements vector-based product search
- Manages Google Sheets integration
-
Product Matching
- Uses FAISS for efficient vector similarity search
- Implements fuzzy matching for product names
- Handles partial matches and similar products
-
Response Generation
- Context-aware response generation using GPT-4
- Professional tone adaptation
- Includes product details, pricing, and availability
- Install required packages:
pip install pandas numpy openai langchain faiss-cpu tqdm gspread google-auth gspread-dataframe regex rapidfuzz-
Configure API Keys:
- Set up OpenAI API key
- Configure Google Sheets credentials
-
Run the notebook:
- Open
Solve_Business_Problems_with_AI_.ipynbin Jupyter - Execute cells in sequence
- Results will be saved to Google Sheets
- Open
The system generates four main outputs:
-
Email Classification
- email_id
- category (product inquiry/order request)
-
Order Status
- email_id
- product_id
- quantity
- status (created/out of stock)
-
Order Responses
- email_id
- response (confirmation/out of stock notification)
-
Inquiry Responses
- email_id
- response (product information/recommendations)
-
Error Handling
- Robust error handling for API calls
- Fallback mechanisms for product matching
- Graceful degradation when services are unavailable
-
Performance Optimization
- Efficient vector search using FAISS
- Batch processing for multiple emails
- Caching of product vectors
-
Security
- Secure API key management
- Data validation and sanitization
- Access control for Google Sheets
- API rate limits for OpenAI
- Token limits for GPT-4 responses
- Google Sheets API quotas
- Processing time for large datasets
- Implement caching for frequently accessed products
- Add support for multiple languages
- Enhance product matching algorithms
- Implement real-time stock updates
- Add support for image-based product queries
Feel free to submit issues and enhancement requests!