A modern, interactive RAG (Retrieval-Augmented Generation) interface built with Next.js that allows users to upload documents, ask questions, and receive AI-powered responses based on the document content.
- Document Upload: Upload CSV files with review data and specify column mappings
- Interactive Chat Interface: Communicate with an AI assistant that uses your uploaded documents as context
- Responsive Design: Built with a modern UI using Tailwind CSS and Radix UI components
- Top-K Configuration: Control the number of similar documents retrieved for each query
- Frontend: Next.js 15, React 19, TypeScript
- UI Components: Radix UI, Tailwind CSS
- Form Handling: React Hook Form, Zod validation
- Notifications: Sonner toast notifications
- Containerization: Docker and Docker Compose
- Node.js 21+ (recommended: use the version specified in
.nvmrc) - npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/yourusername/vector-voyager-ui.git cd vector-voyager-ui -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Create a
.envfile in the root directory with the following content:API_URL="http://localhost:8000/api/v1" -
Start the development server:
npm run dev # or yarn dev # or pnpm dev
-
Open http://localhost:3000 with your browser to see the application.
npm run dev- Start the development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint to check for code issuesnpm run format- Check code formatting with Prettiernpm run format:fix- Fix code formatting issues with Prettier
This project uses several tools to ensure code quality:
- ESLint: For code linting
- Prettier: For code formatting
- Husky: For git hooks
- lint-staged: For running linters on staged files
- commitlint: For commit message validation
-
Build the Docker image:
docker build -t vector-voyager-ui . -
Run the container:
docker run -p 3000:3000 vector-voyager-ui
- Start the application with Docker Compose:
docker-compose up
