Skip to main content

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โ€‹

ServiceURLDescription
๐Ÿค– Chatbot Interfacehttp://localhost:5174Main chatbot for product queries
๐Ÿ  Main Frontendhttp://localhost:5173Product catalog management
๐Ÿ“Š Kafka UIhttp://localhost:8080Event streaming monitoring
๐Ÿ—„๏ธ pgAdminhttp://localhost:5050Database administration

๐Ÿ’ฌ Chatbot Capabilitiesโ€‹

Note: After running sh add-products.sh, your chatbot will have access to 50+ sample products for testing these capabilities.

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