AI-powered customer service agent for LuggageToShip.com using RAG (Retrieval-Augmented Generation) and agentic tool calling.
This project implements a complete AI agent system that combines:
- RAG for knowledge retrieval from a comprehensive knowledge base
- Agentic Tool Calling for executing shipping operations (rates, bookings, tracking, etc.)
- Conversation Memory for multi-turn dialogues with context retention
- Mock API simulating real backend services
- Natural Language Interface - Chat with the agent in plain English
- Knowledge Base - 16 comprehensive documents covering all services
- 6 Tool Functions - Rate quotes, bookings, tracking, locations, rewards, storage
- Conversation Memory - Maintains context across multiple turns
- Modern UI - Clean Streamlit interface with chat history
- Fully Dockerized - One-command deployment
- Docker and Docker Compose installed
- At least 8GB RAM available
- 20GB free disk space
cd luggagetoship-agent
chmod +x start.sh stop.sh
./start.shThe startup script will:
- Start all Docker services
- Pull required AI models (Mistral-Nemo 12B, Nomic-Embed)
- Ingest knowledge base into ChromaDB
- Launch Streamlit UI
Access the application at: http://localhost:8501
./stop.sh| Component | Purpose | Port |
|---|---|---|
| Ollama | Local LLM inference (Mistral-Nemo 12B) | 11434 |
| ChromaDB | Vector database for RAG | 8000 |
| Redis | Conversation memory & state | 6379 |
| Mock API | Simulated backend services | 8080 |
| Streamlit | Web UI | 8501 |
| Ingestion | Knowledge base ingestion (one-time) | - |
| Scraper | Web scraper (optional) | - |
User Input → Streamlit UI → Agent Orchestrator
↓
┌───────────────┴───────────────┐
↓ ↓
RAG Retriever Tool Executor
↓ ↓
ChromaDB Mock API
↓ ↓
Knowledge Context Tool Results
↓ ↓
└───────────────┬───────────────┘
↓
LLM (Ollama)
↓
Agent Response
↓
Conversation Memory
↓
Redis
- Docker Desktop installed and running
- NVIDIA drivers (optional, for GPU acceleration)
- ~20 GB free disk space
| Service | Port | Purpose |
|---|---|---|
| Streamlit UI | 8501 | Chat interface |
| Ollama | 11434 | Local LLM |
| ChromaDB | 8000 | Vector database |
| Redis | 6379 | Session memory |
| Mock API | 8080 | Simulated backend |
See LuggageToShip_Windsurf_Implementation_Plan.md for detailed implementation guide.