This repository contains a working end-to-end RAG pipeline for intelligent website search. Provides automatic summarization and source citations to help users search a website in a more human way.
This project is structured as a monorepo using TurboRepo. It contains multiple applications and packages that work together to provide the full functionality of the POC.
Directory Structure (click to expand)
NOTE: This is a high-level overview of the project structure. For detailed documentation, please see DEVELOPMENT.md.
wpai-chatbot-example/
│ # GitHub Actions and deployment configurations
├── .github/
│ ├── deploy/ # Deployment scripts and configurations
│ └── workflows/ # CI/CD workflows and automation
│
│ # Main applications
├── apps/
│ ├── api/ # NestJS REST API server - main backend service.
│ ├── chat/ # Next.js chat interface for end users.
│ ├── dashboard/ # Next.js admin dashboard for system management.
│ ├── nlp/ # Python-Flask NLP operations like keyword recognition
│ ├── rag/ # NestJS RAG pipeline (chunking, embedding, retrieval, re-ranking).
│ └── wordpress/ # WordPress plugin for CMS integration.
│
│ # Internal project documentation.
├── docs/
│ ├── DEVELOPMENT.md # Development and contribution guidelines
│ └── SETUP.md # Project setup and installation guide
│
├── README.md # 👈 This file - repository overview.
│
├── docker-compose.yml # Local development Docker setup
├── docker-compose.prod.yml # Production Docker setup
├── package.json # Root package.json (workspace)
└── turbo.json # Turborepo configuration
Warning
🐉 There be dragons! This is an experimental proof of concept and not meant for production use.
For detailed setup instructions, please refer to the SETUP.md file.
For detailed development guidelines, please refer to the DEVELOPMENT.md file.
Application | Localhost Port |
---|---|
API Server (NestJS) | http://localhost:3000 |
Chat Interface (Next.js) | http://localhost:3001 |
Admin Dashboard (Next.js) | http://localhost:3002 |
Firecrawl Service (Web Scraping) | http://localhost:3003 |
Weaviate Console | http://localhost:8080 |
Logto Auth (Core) | http://localhost:6001 |
Logto Auth (Admin) | http://localhost:6002 |