Product Catalog Chatbot with AI-Enhanced Management System
A product catalog management platform powered by Docker Model Runner. This system combines conversational AI and real-time processing for comprehensive catalog management.
๐ฏ System Overviewโ
This is a complete AI-enhanced catalog management system featuring:
๐ค Core AI Componentsโ
- Chatbot Interface - Natural language product queries and conversations
- Model Runner Integration - Local AI model execution with Llama 3.2
๐๏ธ Complete Architectureโ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Frontend โ โ Agent Portal โ โ Chatbot UI โ
โ Port: 5173 โ โ Port: 3001 โ โ Port: 5174 โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโฌโโโโโโโโโโโดโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Backend API โ โ Agent Service โ โ Chatbot API โ
โ Port: 3000 โ โ Port: 7777 โ โ Port: 8082 โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโฌโโโโโโโโโโดโโโโโโโโโโฌโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ MCP Gateway โ โ Model Runner โ
โ Port: 8811 โ โ (Local AI) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ PostgreSQL โ โ MongoDB โ โ Kafka โ
โ Port: 5432 โ โ Port: 27017 โ โ Port: 9092 โ
โ (Products DB) โ โ (Agent History) โ โ (Event Stream) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
๐ Quick Startโ
Prerequisitesโ
- Docker Desktop with Model Runner enabled
- At least 8GB RAM (4GB+ for AI models)
- The latest version of Docker Compose
1. Pull Required Modelsโ
# Pull the AI model for chatbot and agents
docker model pull ai/llama3.2:1B-Q8_0
2. Start All Servicesโ
# Clone the repository
git clone https://github.com/ajeetraina/catalog-service-node-chatbot.git
cd catalog-service-node-chatbot
# Start the complete system
docker compose up -d --build
3. Access the Applicationsโ
| Service | URL | Description |
|---|---|---|
| ๐ค Chatbot Interface | http://localhost:5174 | Main chatbot for product queries |
| ๐ Main Frontend | http://localhost:5173 | Product catalog management |
| ๐ Kafka UI | http://localhost:8080 | Event streaming monitoring |
| ๐๏ธ pgAdmin | http://localhost:5050 | Database administration |
๐ฌ Chatbot Capabilitiesโ
Note: After running
sh add-products.sh, your chatbot will have access to 50+ sample products for testing these capabilities.
Natural Language Product Searchโ
User: "Show me all electronics under $500"
Chatbot: "I found 8 electronics products under $500:
๐ฑ iPhone SE - $399.00
Compact smartphone with A15 Bionic chip
๐ง Sony WH-1000XM5 - $399.00
Industry-leading noise canceling headphones
โ Apple Watch - $249.00
Advanced health and fitness tracking
[Additional products...]
Would you like details about any specific product?"
Intelligent Category Browsingโ
User: "What's popular in home electronics?"
Chatbot: "Based on our catalog data:
๐ Smart Home Category (12 products):
โข Smart speakers: 4 products ($49-199)
โข Security cameras: 3 products ($89-299)
โข Smart thermostats: 2 products ($149-249)
โข Home automation hubs: 3 products ($99-349)
The Amazon Echo Dot and Ring Doorbell are our top sellers.
Which type of smart home device interests you?"
Catalog Analyticsโ
User: "Give me a summary of the catalog"
Chatbot: "Here's your catalog overview:
๐ **Catalog Statistics:**
โข Total Products: 127
โข Active Categories: 8
โข Price Range: $9.99 - $2,499.00
โข Average Price: $186.45
โข New This Week: 5 products
๐ฅ **Top Categories:**
1. Electronics (34 products)
2. Clothing (28 products)
3. Home & Garden (21 products)
Is there a specific category you'd like to explore?"
Testing the Chatbotโ
# Test natural language queries
curl -X POST http://localhost:8082/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "What are your most expensive electronics?"}'
# Test category lookup
curl http://localhost:8082/api/categories
๐ Adding Products & Dataโ
Automated Product Importโ
# Use the provided import script
./add-products.sh
# Or use the Node.js automation script
npm run import-products
Testing with Sample Dataโ
The system includes comprehensive sample data:
- 50+ Products across multiple categories
- Vendor Information with AI evaluations
- Mock Market Data for agent testing
- Customer Interaction Patterns for recommendation testing