https://github.com/aksherwal/asksitare
It's an AI chatbot based on RAG pipeline for answering queries related to Sitare University.
https://github.com/aksherwal/asksitare
chatbot cosine-similarity embeddings llama postgresql rag-pipeline
Last synced: 3 months ago
JSON representation
It's an AI chatbot based on RAG pipeline for answering queries related to Sitare University.
- Host: GitHub
- URL: https://github.com/aksherwal/asksitare
- Owner: Aksherwal
- Created: 2024-11-26T19:30:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-10T16:08:09.000Z (over 1 year ago)
- Last Synced: 2025-03-25T10:14:14.080Z (over 1 year ago)
- Topics: chatbot, cosine-similarity, embeddings, llama, postgresql, rag-pipeline
- Language: Python
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AskSitare
AskSitare is an intelligent chatbot web application designed specifically for Sitare University. It uses natural language processing and semantic search to provide accurate responses to university-related queries.
## Features
- Real-time chat interface for student queries
- Semantic search using sentence transformers
- Integration with Groq's LLaMA 3.3 70B model for generating responses
- Feedback system for response quality tracking
- Admin dashboard for monitoring feedback
- PostgreSQL database for storing questions and feedback
- Vector similarity search for finding relevant responses
## Technologies Used
- **Backend**: Flask (Python)
- **Database**: PostgreSQL with psycopg2
- **AI/ML**:
- Groq API for LLM integration
- Sentence Transformers for text embeddings
- LLaMA 3.3 70B model for response generation
- **Frontend**: HTML, CSS, Tailwind, JavaScript
## Live Link:
👉[click here ](https://asksitare.onrender.com/)
## Installation
1. Clone the repository
2. Install the required dependencies:
```bash
pip install flask psycopg2-binary groq sentence-transformers
```
3. Set up environment variables:
```bash
export GROQ_API_KEY="your_groq_api_key"
export PORT=5000 # Optional, defaults to 5000
```
4. Configure the database connection in the code by updating `DB_PARAMS`:
```python
DB_PARAMS = {
"dbname": "your_db_name",
"user": "your_db_user",
"password": "your_db_password",
"host": "your_db_host",
"port": 5432
}
```
## Usage
1. Start the server:
```bash
python app.py
```
2. Access the chatbot interface at `http://localhost:5000`
3. For admin access:
- Navigate to `/login`
- Use the admin credentials to access the dashboard
- View user feedback and interaction data
## Features in Detail
### Semantic Search
- Uses sentence transformers to convert questions into embeddings
- Performs vector similarity search to find relevant matches
- Returns top 5 most similar questions and their associated answers
### Chat Interface
- Real-time response generation
- Streaming responses for better user experience
- Feedback system for users to rate responses
### Admin Dashboard
- Secure login system
- View and analyze user feedback
- Monitor chatbot performance
### Database Schema
The application uses the following main tables:
- `questions`: Stores questions and their embeddings
- `topics`: Stores detailed answers/paragraphs
- `feedback`: Stores user feedback on responses
## ML Analysis
Click here to see the ML analysis of the datasets we have👉 @ [ML Analysis](https://github.com/deepalitomar021/ML_Analysis_SU_Chatbot/blob/main/ML_analysis_suChatbot.ipynb)
## Security
- Secure admin login system
- Environment variable based configuration
- Database connection security
- Session management for admin access
## Contributing
Please follow these steps to contribute:
1. Fork the repository
2. Create a new branch for your feature
3. Submit a pull request with a clear description of your changes