QuizWiz is an advanced, AI-powered chatbot creation platform that enables users to build, deploy, and interact with custom chatbots. Leveraging cutting-edge natural language processing technologies, QuizWiz offers a user-friendly interface for creating intelligent conversational agents tailored to specific domains or purposes.
- Features
- Demo
- Prerequisites
- Installation
- Configuration
- Usage
- Project Structure
- Technologies Used
- API Reference
- Deployment
- Contributing
- Support
- License
- Custom Chatbot Creation: Design chatbots with unique personalities and knowledge bases.
- Document Processing: Upload and process various document types (PDF, TXT, DOCX, etc.) to train your chatbot.
- Web-based Interface: User-friendly interface for bot creation and interaction.
- Advanced AI Integration: Utilizes state-of-the-art AI models for natural language understanding and generation.
- Scalable Architecture: Built on PostgreSQL for efficient data storage and retrieval.
- Cloud Integration: Seamless integration with Cloudinary for image and file management.
- Customizable Responses: Fine-tune your chatbot's responses for specific use cases.
- Multi-language Support: Create chatbots in various languages.
- Analytics Dashboard: Track chatbot performance and user interactions.
- Free Usage: Experience QuizWiz in action at HuggingFace Space
- Official Website: Learn more about QuizWiz at Official Website
Ensure you have the following installed:
- Python 3.8+
- PostgreSQL 12+
- Node.js 14+ (for frontend development)
- Git
-
Clone the repository:
git clone https://github.com/shahdivax/QuizWiz.git cd QuizWiz/custombot
-
Set up a Python virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install required Python packages:
pip install -r requirements.txt
-
Set up the PostgreSQL database:
createdb quizwiz_bot_data
-
Install frontend dependencies (if applicable):
cd frontend npm install
-
Create a
.env
file in the root directory with the following variables:POSTGRESQL_URI=postgresql://username:password@localhost:5432/quizwiz_bot_data CLOUDINARY_NAME=your_cloudinary_name CLOUDINARY_API=your_cloudinary_api_key CLOUDINARY_SECRET=your_cloudinary_secret FLASK_SECRET_KEY=your_secret_key AI_MODEL_API_KEY=your_ai_model_api_key
-
Update
config.py
with any additional settings specific to your deployment.
-
Start the Flask development server:
python run.py
-
Access the QuizWiz interface at
http://localhost:5000
- Navigate to the "Create Bot" page.
- Provide a name and description for your chatbot.
- Upload a logo (optional).
- Upload training documents (PDF, TXT, DOCX, etc.).
- Configure any additional settings (language, response style, etc.).
- Click "Create Bot" to generate your custom chatbot.
- Go to the chat interface.
- Select your chatbot from the list of available bots.
- Start chatting! Your bot will respond based on its training.
- Access the bot management dashboard.
- View analytics, update training data, and adjust settings for your bots.
QuizWiz/
├── custombot/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── models.py
│ │ ├── routes.py
│ │ └── utils.py
│ ├── bots/
│ ├── data/
│ ├── static/
│ │ ├── css/
│ │ ├── images/
│ │ └── js/
│ ├── templates/
│ │ ├── home.html
│ │ └── index.html
│ ├── tests/
│ ├── .env
│ ├── config.py
│ ├── requirements.txt
│ └── run.py
├── frontend/ # If separate frontend exists
│ ├── src/
│ ├── public/
│ └── package.json
├── docs/
├── .gitignore
├── LICENSE
└── README.md
- Backend: Flask, SQLAlchemy, psycopg2
- Database: PostgreSQL
- AI/ML: LlamaIndex, Gemini Embedding, Gemini LLM
- Frontend: HTML, CSS, JavaScript (potentially React or Vue.js)
- Cloud Services: Cloudinary, Render (for deployment)
- Version Control: Git
Document your API endpoints here, for example:
POST /api/create-bot
: Create a new chatbotGET /api/bots
: List all chatbotsPOST /api/chat
: Send a message to a chatbot
Refer to the full API documentation for detailed information on request/response formats.
QuizWiz is deployed on Render. To deploy your own instance:
- Create a Render account and set up a new Web Service.
- Connect your GitHub repository to Render.
- Configure environment variables in Render dashboard.
- Deploy the application.
For detailed deployment instructions, refer to the Deployment Guide.
We welcome contributions to QuizWiz! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
For support, please open an issue in the GitHub repository or contact our support team at support@quizwiz.com.
This project is licensed under the MIT License - see the LICENSE file for details.