A web application that provides an AI-powered interface to interact with Storacha's documentation. The application uses advanced language models and RAG (Retrieval-Augmented Generation) to provide accurate and contextual responses.
- Interactive chat interface
- Integration with Google's Gemini AI model
- Web-based documentation retrieval
- Real-time response generation
- Modern UI built with Next.js and Tailwind CSS
- Next.js 15.3.3
- React 19
- TypeScript
- Tailwind CSS
- Lucide React (for icons)
- Python Flask
- LlamaIndex
- Google Gemini AI
- BeautifulSoup4 (for web scraping)
- Node.js (Latest LTS version)
- Python 3.8+
- Gemini API key
- Clone the repository:
git clone https://github.com/Dhruv-Varshney-developer/ask-racha.git
cd ask-racha- Install frontend dependencies:
cd askracha
npm install- Install backend dependencies:
cd backend
pip install -r requirements.txt- Set up environment variables:
For the frontend:
cd askracha
cp .env.example .envFor the backend:
cd askracha/backend
cp .env.example .envThen edit both .env files and add your Gemini API key:
GEMINI_API_KEY=your_api_key_here
- Make sure Docker is installed and running
- Start Qdrant:
cd askracha/backend/storage
docker compose up -d- Verify the setup:
cd askracha/backend
python -m unittest storage/tests/test_vector_store.py -vFor local development:
- No additional env vars needed, uses Qdrant Local by default
- Qdrant runs on port 6343 (configurable via QDRANT_PORT)
For production:
QDRANT_HOST=your_qdrant_host
QDRANT_PORT=6333
QDRANT_API_KEY=your_api_keyTo run both frontend and backend concurrently:
npm run dev:fullOr run them separately:
Frontend:
npm run devBackend:
npm run backend- Build the frontend:
npm run build- Start the production server:
npm run startnpm run dev- Start the Next.js development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint for code lintingnpm run backend- Start the Python backend servernpm run dev:full- Run both frontend and backend concurrently
askracha/
├── backend/ # Python Flask backend
│ ├── app.py # Main Flask application
│ ├── rag.py # RAG implementation
│ └── requirements.txt
├── src/ # Frontend source code
├── public/ # Static assets
└── package.json # Frontend dependencies and scripts
This project is licensed under the terms of the license included in the repository.
Contributions are welcome! Please feel free to submit a Pull Request.