Webbie is a versatile RAG (Retrieval-Augmented Generation) chatbot that can be trained on any website. It leverages Upstash vector database, Redis, and Next.js to create a fast, efficient, and scalable chatbot. With Webbie, you can easily add chatbot functionality to any website and train it on relevant data.
- RAG Model: Uses Retrieval-Augmented Generation to provide relevant, accurate responses based on website content.
- Customizable: Can be trained on any website's data, offering flexibility and personalization.
- Upstash Vector DB: Efficient vector storage and retrieval with Upstash.
- Redis Integration: Fast in-memory data storage and caching with Redis.
- Next.js Powered: Built using Next.js for modern web performance and server-side rendering.
- Upstash Vector Database: For storing and retrieving vector embeddings of website content.
- Redis: In-memory data store used for fast caching and session management.
- Next.js: A React framework for server-side rendering and API routes.
- TypeScript
- TailwindCSS
Make sure you have the following installed on your machine:
- Node.js (v16+)
- Redis (or use Upstash Redis)
- Upstash account (for Vector DB)
-
Clone this repository:
git clone https://github.com/subhadeeproy3902/webbie.git cd webbie
-
Install dependencies:
npm install
-
Set up environment variables. Create a
.env.local
file in the root of the project and add the following:UPSTASH_VECTOR_REST_URL="your upstash vector rest url" UPSTASH_VECTOR_REST_TOKEN="your upstash vector rest token" QSTASH_TOKEN="your qstash token" UPSTASH_REDIS_REST_URL="your upstash redis rest url" UPSTASH_REDIS_REST_TOKEN="your upstash redis rest token"
-
Start the development server:
npm run dev
The application will be running on http://localhost:3000
.
- Add the URL of the website you want to train Webbie on.
- The system will automatically crawl the website and extract relevant content.
- The content is stored as vector embeddings in Upstash for quick retrieval during conversations.
- Chat Interface: Once trained, Webbie can answer questions based on the website’s content.
- Customization: Modify the chatbot’s behavior by adjusting the prompt or adding more custom training data.
You can deploy Webbie to any platform that supports Node.js applications, such as:
- Vercel
- Netlify
- DigitalOcean
To deploy on Vercel:
-
Install Vercel CLI:
npm i -g vercel
-
Run the deployment command:
vercel
-
Follow the prompts to complete the deployment.
If you'd like to contribute to Webbie, feel free to submit a pull request or raise an issue. All contributions are welcome!
Made with ❤️ by Subhadeep Roy